This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Synchronization Editor hangs on Powershell connector simulation

I'm trying to manage a Linux host from One Identity via the Powershell connector (the Unix connector doesn't have the features we need and support said their is no way to change that, thus powershell).  I've created my definition file and setup the connector.  The definition file has a custom cmdlet in it that establishes an SSH connection to the Linux host (Ubuntu Server 18.04.1), runs a script, and gathers the returned data.  I've placed logging elements throughout the Powershell and Bash scripts, and I can confirm that the SSH tunnel is created, the script is executed on the Linux host, and the expected data is returned to the job server running the synchronization editor.  However, while simulating a data pull from the Linux host into One Identity, Synchronization Editor hangs up and must be killed with Task Manager.

I've set the connector to log every possible item in both directions, and the workflows are set to break on error, yet the Synchronization Editor hangs up upon the data being returned.  Not only is it falling to break on error, but it is also not generating log files of any kind.  Has anyone else had a similar experience?  I've opened a support case, but I was curious if I there are others out there who have been down this road.  How can I troubleshoot this further if there are no log files generated and the Sync Editor workflows are not breaking on error?  I've check the Event Viewer on the server, but the only relevant record in there is for the face the process has hung and doesn't provide any further detail as to why.

  • Hi,

    Support will help...but some points that might help:

    We should always unit test the PowerShell...so good practice is to write your specific scripts as a  PowerShell module that can be easily unit tested standalone and then also called within the connector.

    Once the PowerShell is good then make a skeleton PowerShell connector.  Make sure it is working by reviewing your 'skeleton' objects in the Target System browser. This will give you a working connector to which we can add the PowerShell module calls.  The objects must be returned to the PowerShell connector in the right form for them to be consumed.  The example connector here may help: see the 'Thingy' objects that are returned: https://drive.google.com/open?id=1EvSzDl1jMmq8U7EkJy-PrZV5he7haGfg for how to wrap the objects.

    Remember also that we can unit test the connector from the Target System Browser of the Sync Editor: read/modify/insert can all be tested directly in the Target System browser for quick and efficient testing of the connector code.

    Once the target system browser operations are good you can proceed to a full sync.  Windows PowerShell itself can be greedy with memory...so we should keep an eye on memory consumption while the sync runs.

    hth,

    Rob,