我正在尝试通过 php 运行 powershell 脚本。
system("C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -InputFormat none -File AD_Account_Automation.ps1);
当我运行 php 脚本时,它会在 Web 浏览器中返回以下错误:
File C:\inetpub\wwwroot\Test_Automation.ps1 can not be loaded. The file C:\inetpub\wwwroot\Test_Automation.ps1 is not digitally signed. The script will not execute on the sys tem. Please see "get-help about_signing" for more details.. + CategoryInfo : NotSpecified: (:) [], ParentContainsErrorRecordE xception + FullyQualifiedErrorId : RuntimeException
我已将 PowerShell 执行策略设置为 Unrestricted 和 RemoteSigned,但它并没有解决问题。如果我从 PowerShell 命令行调用它并且如果我从 Windows 中的命令提示符调用它,该脚本运行良好。
我也尝试过以下方法:
exec("C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -ExecutionPolicy RemoteSigned -File C:\\inetpub\\wwwroot\\AD_Account_Automation.ps1 < NUL");
而 IIS 只是挂起。有任何想法吗?