带参数的Powershell GPO启动脚本

时间:2015-11-13 17:59:27

标签: powershell cmd gpo

我有一个PowerShell脚本,我希望在机器启动时作为GPO运行。通常我会用“powershell.exe -ExecutionPolicy Bypass -File c:\ temp \ 123.ps1 -Admin”运行cmd

但是从GPO运行时,如何定义文件路径?

上述CMD文件不起作用。 我也试过它作为PowerShell启动gpo脚本,但这也不起作用。

1 个答案:

答案 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,所以你应该使用它,如果可以的话。

希望这有帮助!