這個原則設定會決定使用者登入和登出時,是否先執行 Windows PowerShell 指令碼後,再執行非 Windows PowerShell 指令碼。根據預設,Windows PowerShell 指令碼會在非 Windows PowerShell 指令碼之後執行。
如果您啟用這個原則設定,在使用者登入和登出時,每個適用的原則群組物件 (GPO) 中的 Windows PowerShell 指令碼會在非 Windows PowerShell 指令碼之前執行。
例如,假設有下列案例:
有三個 GPO (GPO A、GPO B 和 GPO C)。GPO A 會啟用這個原則設定。
GPO B 和 GPO C 包含以下使用者登入指令碼:
GPO B: B.cmd、B.ps1
GPO C: C.cmd、C.ps1
同時假設目前有兩位使用者,Qin Hong 和 Tamara Johnston。
Qin 已經套用 GPO A、GPO B 和 GPO C。因此,GPO B 和 C 的指令碼會按照以下順序,針對 Qin 執行:
在 GPO B 中: B.ps1、B.cmd
在 GPO C 中: C.ps1、C.cmd
至於 Tamara 套用了 GPO B 和 C,但沒有套用 GPO A。因此,GPO B 和 C 的指令碼會按照以下順序,針對 Tamara 執行:
在 GPO B 中: B.cmd、B.ps1
在 GPO C 中: C.cmd、C.ps1
注意: 這個原則設定會決定所有可用的 GPO 中,使用者登入和登出指令碼的執行順序。您可以設定 GPO 的以下原則設定,即可為特定 GPO 中,特定類型的指令碼覆寫這個原則設定:
使用者設定\原則\Windows 設定\指令碼 (啟動/關機)\登入
使用者設定\原則\Windows 設定\指令碼 (啟動/關機)\登出
這個原則設定會顯示在 [電腦設定] 資料夾以及 [使用者設定] 資料夾。在 [電腦設定] 中設定之原則設定的優先順序高於在 [使用者設定] 中設定的設定值。
Registry Hive | HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER |
Registry Path | Software\Microsoft\Windows\CurrentVersion\Policies\System |
Value Name | RunUserPSScriptsFirst |
Value Type | REG_DWORD |
Enabled Value | 1 |
Disabled Value | 0 |