Skip to main content

NetIQ IDM - Adding operation-data to subscriber command transformaiton custom commands




Recently i had to execute EOL cmdlets using psexecute though new NetIQ azure ad driver, since this operation is fire and forget in nature, i would like to track whole request and response for my own generated commands from subscriber command transofrmaiton policy, so i solved it by following policy:


<do-set-dest-attr-value direct="true" name="psexecute">
<arg-association> <token-resolve datastore="src"> <arg-dn> <token-text xml:space="preserve">{userref}</token-text> </arg-dn> </token-resolve> </arg-association> <arg-value type="string"> <token-local-variable name="cmdlet" /> </arg-value> </do-set-dest-attr-value> <do-append-xml-element expression="../modify[@direct]" name="operation-data" /> <do-set-xml-attr expression="../modify[@direct]/operation-data" name="prop.psexecute.Action"> <arg-string> <token-local-variable name="action" /> </arg-string> </do-set-xml-attr>

Comments

Casper said…
Where did you find information about @direct?

I've been searching for it, but until nothing shows up.
Geoffrey Carman said…
DTD defines it here:
https://www.netiq.com/documentation/identity-manager-developer/dtd-documentation/dirxmlscript/do-add-dest-attr-value.html

But in general it is a holdover from earlier IDM builds. Should be replaced with when="direct"

Was supposed to be deprecated at some point but never was, as far as I can tell.

Popular posts from this blog

NetIQ IDM - JDBC driver - SQL calls from driver (Publisher channel) using XSLT

Recently I was working on a task where we had to call some SQL statements from publisher channel on a JDBC driver to different tables than the ones driver was configured to sync. The official documentation suggest to achieve this using jdbc-statement but it only schedules them on the subscriber channel, best suited for calling some SQL for stored procedure. The way I solved it was using XSLT and enabling Subscriber channel. On the publisher  Command Transformation Channel , I have following XSLT: < xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" xmlns:jdbc = "urn:dirxml:jdbc" xmlns:query = "http://www.novell.com/nxsl/java/com.novell.nds.dirxml.driver.XdsQueryProcessor" version = "1.0" > < xsl:param name = "srcQueryProcessor" /> < xsl:param name = "destQueryProcessor" /> < xsl:template match = "node()|@*" > < xsl:copy > &