带有参数的Powershell GPO启动脚本
我有一个PowerShell脚本,我想在机器启动时作为GPO运行。 通常我会运行一个cmd与“powershell.exe -ExecutionPolicy Bypass -File c: temp 123.ps1 -Admin”
但是,由于它是从GPO运行的,我如何定义文件路径?
上述CMD文件不起作用。 我也尝试了它作为一个PowerShell启动gpo脚本,但这也不起作用。
这取决于您的服务器版本,但若干最新版本的服务器允许您在具有“PowerShell脚本”选项卡(以及“脚本”)的位置创建GPO,并且只需使用该选项卡即可指向PowerShell脚本。 这会将您的文件复制到Sysvol下的GPO目录中。
另一个选择,使用您提到的旧方法是使用-file指向PowerShell文件。 你可以通过几种方式来解决这个问题。 例如,如果您指定一个cmd文件,则可以将PowerShell脚本复制到该文件夹中,然后在cmd中使用类似于以下内容的内容:
%windir%System32WindowsPowerShellv1.0powershell.exe -exec bypass -file %~dp0MyPowerShellScript.ps1
因为cmd文件和PowerShell文件位于同一个GPO目录中,通常情况下该文件位于此目录下
{Yourdomain}sysvol{YourDomain}Policies{SomeGuid}MachineScripts
(好的,在我头上打字,你需要检查实际的路径)。 您当然也可以使用完整路径,但为什么只要使用'当前文件夹'即"%~dp0"
请注意,使用“PowerShell脚本”选项卡而不是“脚本”会给您带来一些好处,例如照顾ExecutionPolicy,所以您应该使用它,如果可以的话。
希望这可以帮助!
链接地址: http://www.djcxy.com/p/61083.html