我有一个PowerShell脚本,我希望在机器启动时作为GPO运行。通常我会用“powershell.exe -ExecutionPolicy Bypass -File c:\ temp \ 123.ps1 -Admin”运行cmd
但是从GPO运行时,如何定义文件路径?
上述CMD文件不起作用。 我也试过它作为PowerShell启动gpo脚本,但这也不起作用。
答案 0 :(得分:0)
这取决于您的服务器版本,但是几个最新版本的服务器允许您创建一个GPO,其中包含" PowerShell Scripts"选项卡(以及" Scripts")您只需使用该选项卡指向PowerShell脚本即可。这会将您的文件复制到Sysvol下的GPO目录中。
使用您提到的旧方法的另一个选项是使用-file指向PowerShell文件。你可以通过几种方式解决这个问题。 例如,如果您指定cmd文件,则可以将PowerShell脚本复制到该文件夹中,然后在cmd中可以使用以下内容:
%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -exec bypass -file %~dp0MyPowerShellScript.ps1
因为cmd文件和PowerShell文件位于同一个GPO目录中,通常位于
下\\{Yourdomain}\sysvol\{YourDomain}\Policies\{SomeGuid}\Machine\Scripts\
(好的,在我的头顶输入,您需要检查实际路径)。您当然也可以使用完整路径,但为什么只能使用当前文件夹',即"%~dp0"
请注意使用" PowerShell脚本"选项卡而不是" Scripts"给你一些好处,比如照顾ExecutionPolicy,所以你应该使用它,如果可以的话。
希望这有帮助!