我正在尝试在网络中的所有计算机上运行来自我的服务器计算机的powershell脚本。 首先,我只用一台机器尝试它。
但是,我收到了以下错误:
无法加载文件C:\ file.ps1,因为在此系统上禁用了脚本的执行。有关详细信息,请参阅“get-help about_signing” 在线:1字符:27
+ C:\ file.ps1<<<<
+ CategoryInfo:未指定:(:) [],PSSecurityException
+ FullyQualifiedErrorId:RuntimeException
我正在使用以下命令:
D:\Task\PSTools>PsExec.exe remotemachine -u domain\adminuname -p adminpwd cmd.exe \c start
PsExec v2.1 - Execute processes remotely
Copyright (C) 2001-2013 Mark Russinovich
Sysinternals - www.sysinternals.com
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Windows\system32>powershell.exe "C:\file.ps1"
所以,请你帮助我。
提前致谢。
答案 0 :(得分:0)
远程计算机需要更改其执行策略以允许脚本运行。在测试过程中,您可能需要执行与在主机上运行脚本相同的操作。
这可以通过组策略或手动(在所有计算机上)完成。
使用PSExec,您可以通过运行Set-ExecutionPolicy cmdlet在各台计算机上设置策略。
答案 1 :(得分:0)
将您的powershell行更改为此选项以绕过本地执行策略:
powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -WindowStyle Hidden -File "C:\file.ps1"