我们使用 System Center Configuration Manager 1902 版本来管理我们的设备。
我想使用好的功能“运行脚本”,它可以在整个设备集合上运行 PowerShell 脚本,但我们所有的设备都将 ExecutionPolicy 设置为 AllSigned(这是公司政策)。
它不起作用,在每个设备中本地运行的脚本(由 SCCM 创建)没有经过数字签名,因此它无法运行并向 SCCM 返回空白或奇怪的“8”值输出。
在具有 RemoteSigned 或 Unrestricted ExecutionPolicy 的设备上(用于测试),它运行良好,输出返回是正确的。
有解决方案吗?无需更改 PowerShell 执行策略?
答案1
ExecutionPolicy 并不是真正的安全设置。它旨在防止普通用户无意中运行不受信任的脚本。因此,您可能需要从 cmd 脚本运行:
powershell.exe -ExecutionPolicy Bypass -File <path to script.ps1>
我相信你也可以指定-Command "& C:\Path\To\Script.ps1"