New DirSync Module

This topic contains 4 replies, has 2 voices, and was last updated by Profile photo of Bob Ausmus Bob Ausmus 2 years, 10 months ago.

  • Author
    Posts
  • #16451
    Profile photo of Bob Ausmus
    Bob Ausmus
    Participant

    We upgraded to the latest and greatest DirSync version. As I soon found out, the old way of scripting and executing the replication via "DirSyncConfigShell.psc1" has been replaced with:

    import-module dirsync
    Start-OnlineCoexistenceSync

    However, any chance I try to put this in a remote session (via invoke-command / new-pssession / enter-pssession / import-pssession / etc..) they all hang once I attempt to import the module. Has anyone had a chance to review how to write a script to make replication happen at will as oppose to waiting for the next interval?

  • #16514
    Profile photo of Don Jones
    Don Jones
    Keymaster

    I think the real problem is that the module import is hanging – you might try importing it with -verbose and see if you get any details about what it's doing. Otherwise, tearing into the module and seeing what-all it's doing on load would be the next step.

  • #16515
    Profile photo of Bob Ausmus
    Bob Ausmus
    Participant

    It's always the little things you forget about while troubleshooting. Thanks for the "verbose" reminder. Here is where the script is getting stuck:

    PS C:\Users\username> Invoke-Command -ComputerName SERVER -ScriptBlock { import-module dirsync -verbose; Start-OnlineCoexistenceSync }

    VERBOSE: Loading module from path 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\dirsync\dirsync.psd1'.
    VERBOSE: Loading module from path 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\dirsync\.\ImportModules.ps1'.
    VERBOSE: Dot-sourcing the script file 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\dirsync\.\ImportModules.ps1'. <– Script hangs here

  • #16516
    Profile photo of Don Jones
    Don Jones
    Keymaster

    So, something in ImportModules.ps1 is breaking it. You're going to need to open that script and see what it's doing that might be problematic in a remote session.

  • #16522
    Profile photo of Bob Ausmus
    Bob Ausmus
    Participant

    Your the man!!!! I got it. Here is what I found:

    Step 1 – turned on "-verbose" and found that it was hanging at dot-sourcing the file
    Step 2 – ran each command on the dot-source'd file and found this error which lead me to believe it was .net framework issue:
    "This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded powershell"
    Step 3 – When in doubt, Google. I found registry entries I could put in that would allow me to run this module.

    Here is my final script. Basically putting reg entries in, run commands, then take them back out:
    [hr]
    reg add hklm\software\microsoft\.netframework /v OnlyUseLatestCLR /t REG_DWORD /d 1
    reg add hklm\software\wow6432node\microsoft\.netframework /v OnlyUseLatestCLR /t REG_DWORD /d 1

    Invoke-Command -ComputerName SERVER -ScriptBlock { import-module dirsync -verbose; Start-OnlineCoexistenceSync }

    reg delete hklm\software\microsoft\.netframework /v OnlyUseLatestCLR /f
    reg delete hklm\software\wow6432node\microsoft\.netframework /v OnlyUseLatestCLR /f
    [hr]

    Thanks again for your guidance. Life saver!!!!

You must be logged in to reply to this topic.