2015-11-13 164 views
0

我有一個PowerShell腳本,我想在機器啓動時作爲GPO運行。通常我只是運行「powershell.exe -ExecutionPolicy Bypass -File c:\ temp \ 123.ps1 -Admin」來運行cmd,但如何從GPO運行,如何定義文件路徑?Powershell GPO啓動腳本,參數

上述CMD文件不起作用。 我也試過它作爲一個PowerShell啓動gpo腳本,但這也不起作用。

+0

也許你必須指定powershell.exe的完整路徑?它位於'%windir%\ system32 \ WindowsPowershell \ v1.0' iirc(我現在正在打電話^^) – sodawillow

回答

0

這取決於您的服務器版本,但若干最新版本的服務器允許您創建GPO,並在其中有「PowerShell腳本」選項卡(以及「腳本」),您可以簡單地使用該選項卡指向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\ 

(OK,在我的頭頂打字這一點,你需要檢查的實際路徑)。當然,你也可以使用完整路徑,但爲什麼你可以只使用'當前文件夾',即"%~dp0"

請注意,使用「PowerShell腳本」選項卡而不是「腳本」給你一些好處,就像照顧ExecutionPolicy一樣,所以你應該使用它,如果可以的話。

希望這會有所幫助!