Chocolateyの更新を実行するPowershellスクリプトを作成し、ローカルおよびネットワーク共有でログを記録しました。スクリプト自体はネットワーク共有にあり、クライアントがそこから実行できるようにしたいと思っています。
アイデアは、GPOを介してスクリプトを実行するようにスケジュールされたタスクを展開することです。コンピューターポリシーとユーザーポリシーの場合と同様に、スケジュールされたタスクでActive Directoryサービスアカウントを定義しようとしましたGPO gui。
アクションにはpowershell.exe -NonInteractive -WindowStyle Hidden -ExecutionPolicy bypass -file \\networkshare\scripts\script.ps1
を選択しました
セキュリティオプションの下で、タスクを実行するサービスアカウントを定義し、[ユーザーがログオンしているかどうかにかかわらず実行する]および[最高の権限で実行する]をオンにします
トラブルシューティングを目的としたこのサービスアカウントはOUADMINグループであり、このアカウントがネットワーク共有にアクセスできることを確認しました。
GPOを自分のマシンに適用し、イベントログをチェックインすると、次のエラーが見つかりました。
エラーコード「0x80070005アクセスが拒否されました」で失敗したため、Chocolatey Sch Task Testing {BDF8E170-C909-4115-8909-D42792DF977A}
グループポリシーオブジェクトのコンピューター 'ChocoUpdate'基本設定項目は適用されませんでした。このエラーは抑制されました。
ここで何が欠けていますか?これを行うより良い方法はありますか?
このエラーは、スクリプトではなく、GPOのアクセス許可の問題を示しています。これを確認するには、ローカルマシンのタスクスケジューラで手動でスケジュールし、それが機能することを確認します(または手動でタスクを実行します)。
GPO [スコープ]タブの[セキュリティフィルター]でアクセス許可を確認し、[委任]タブで詳細なアクセス許可も確認します。GPOには、GPOを読み取り、実行するための適切なアクセス許可が必要です。