web-dev-qa-db-ja.com

GPOを介して適用されたPowerShell起動スクリプトがあいまいに失敗する

脚本:

$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に問題があるようです。

3
Jaxaeon

信頼できる参照はありませんが、$HOME$env:HOMEDRIVEおよび$env:HOMEPATH変数はser-特定の環境変数です。

ユーザーではなくマシンのセキュリティコンテキストでPowerShellホストを起動したときに、それらが割り当てられる可能性はほとんどありません。

1