脚本:
$folder = "$env:HOMEDRIVE\TestFolder"
New-Item -ItemType directory -Path $folder
$folder
が "C:\...
"に設定されている場合、同じグループポリシーエラーが発生することに注意してください。実行ポリシーに制限はなく、Windows 8.1で手動で実行するとスクリプトは正常に実行されます(フォルダーが作成されます)。グループポリシーを作成しました([コンピューターの構成]> [Windowsの設定]> [スクリプト]> [スタートアップ])。TestFolder.ps1を\ domain.com\SysVol\domain.com\Policies ...\Machine\Scripts\Startupに追加しました。 DomainComputersグループに適用するように構成されたセキュリティフィルタリング。ポリシーはコンピュータに問題なく適用されます。
ポリシーがスクリプトを適用しようとすると、次のエラーが発生します。
Group Policy event 1130
Startup script failed.
GPO Name : TestFolder Script
GPO File System Path : \\domain.com\SysVol\domain.com\Policies\...\Machine
Script Name: TestFolder.ps1
SupportInfo1 178254400
SupportInfo2 71
ErrorCode 267
ErrorDescription The directory name is invalid.
ScriptType 0
GPODisplayName TestFolder Script
GPOFileSystemPath \\domain.com\SysVol\domain.com\Policies\...\Machine
GPOScriptCommandString TestFolder.ps1
エラー情報のファイルシステムパスから\ Scripts\Startupが省略されていることに気づかずにはいられません...アイデア?
編集:グループポリシーはWindows7に適用されますVM問題ありません。Windows8.1に問題があるようです。
信頼できる参照はありませんが、$HOME
、$env:HOMEDRIVE
および$env:HOMEPATH
変数はser-特定の環境変数です。
ユーザーではなくマシンのセキュリティコンテキストでPowerShellホストを起動したときに、それらが割り当てられる可能性はほとんどありません。