我创建了一个使用 Active Directory 模块的 Powershell 脚本。我需要从名为 LANDesk 的第 3 方应用程序执行脚本。
当我这样做时,它不会正确运行脚本。我相信这是因为 AD 模块。当我在加载了 AD 模块的 Powershell 提示符下运行脚本时,它工作正常。
我创建了一个使用 Active Directory 模块的 Powershell 脚本。我需要从名为 LANDesk 的第 3 方应用程序执行脚本。
当我这样做时,它不会正确运行脚本。我相信这是因为 AD 模块。当我在加载了 AD 模块的 Powershell 提示符下运行脚本时,它工作正常。
从这样的应用程序中,您应该能够像这样运行它:
powershell.exe -file c:\myscript.ps1
如果应用程序尝试从另一个用户的上下文运行脚本,您可能需要确保该用户已运行Set-ExecutionPolicy RemoteSigned
(或不受限制)。另一种可能性是您的脚本在 32 位 PowerShell 提示符下运行,而应用程序正在启动 64 位版本的 PowerShell(反之亦然)。
从您的应用程序调用 powershell 并将脚本路径传递给 File 参数。在脚本中,导入 AD 模块,然后在 AD 模块上添加 relu 命令。如有必要,您可以通过 ExecutionPolicy 参数设置执行策略。