グループポリシーを使ってタスクのスケジュールを設定するのは目新しいことではありませんが、時々面倒なこともあります。ここでの目標は、ポップアップ通知の表示などのタスクをプッシュ配信し、ユーザーが特定の時間に自動的にアラートなどを受け取るようにすることです。各マシンに手動で設定する代わりに、GPO 経由で設定することで、手間が大幅に省けます。さらに、多数のコンピューターを管理している場合、ポリシーが正しく更新されていれば、すべてが同期された状態を維持できます。とはいえ、確かに、計画通りに進まないこともあります。特に権限やポリシーのリンクが適切でない場合はなおさらです。必要に応じてトラブルシューティングや設定の調整を行う方法を知っておくことは重要です。
GPO 分散スケジュールタスクが正常に実行されない問題を修正する方法
方法1: グループポリシー設定を再確認する
まず、GPOが、対象となるユーザーまたはコンピューターの正しいOU(組織単位)にリンクされていることを確認してください。GPOのリンクを忘れたり、間違ったブランチにリンクされている場合があります。また、スコープとセキュリティフィルタリングも確認してください。制限が厳しすぎると、ポリシーが適用されません。たとえば、グループポリシー管理コンソール(gpmc.msc)にアクセスし、GPOを見つけて、必要な場所にリンクされていることを確認します。リンクが完了したら、gpupdate /forceクライアントマシンで実行するか、再起動して変更をプッシュします。また、ステータスを確認することもできます。gpresult /h report.htmlレポートでGPOが適用されていることを確認するには、特にスケジュールされたタスクに関する部分を確認してください。それでもタスクが実行されない場合は、アクセス許可またはスコープの問題である可能性があります。
方法2: スケジュールされたタスクでタスクの設定を確認する
場合によっては、問題は GPO レベルではなく、スケジュールされたタスク自体の構成方法にあります。トラブルシューティングするには、テスト マシンでタスク スケジューラ( taskschd.msc) を開き、GPO の更新後にタスクが存在するかどうかを確認します。タスクは存在するが実行されていない場合は、タスクのプロパティを確認します。 – トリガーが正しく設定されていることを確認します (たとえば、正しい時刻の [スケジュールどおりに])。 – アクションが正しいスクリプトまたはプログラムを指していることを確認します。この場合、PowerShell の実行: C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe および引数が正しいことを確認します。 -ExecutionPolicy Bypass -command "& \\woshub.com\SysVol\woshub.com\scripts\ShowReminder.ps1" – 特にスクリプトに管理者権限が必要な場合は、タスクが最高の特権で実行されるように設定されていることを確認します。 – 「コンピューターの構成」で作成されたタスクの場合、特に指定しない限り、SYSTEM として実行されることに注意してください。 場合によっては、タスクが表示されても、正しくトリガーされなかったり、アクセス許可の問題 (特にスクリプトまたはコマンドがネットワーク共有上にある場合) のために実行が拒否されることがあります。
方法3: スケジュールされたタスクを手動で実行してテストする
スクリプトやコマンド自体に問題がある場合もあります。スケジュールされたタスクは表示されているのに何も実行されない場合は、手動で実行してみてください。PowerShellまたはコマンドプロンプトを開き、次のコマンドを実行します。 Start-ScheduledTask "YourTaskName" 「YourTaskName」はタスクに指定した名前に置き換えてください。手動では問題なく実行されてもスケジュール通りに実行されない場合は、トリガーまたはタイミングの設定に問題がある可能性があります。それでも問題が解決しない場合は、スクリプトまたはネットワークアクセスに問題がある可能性があります。スクリプトのパスと権限を再確認してください。スクリプトをSYSTEMまたはタスクを実行しているユーザーアカウントのコンテキストで実行するには、明示的な権限が必要になる場合があることに注意してください。
当然のことながら、Windows は必要以上にこれを困難にしています。GPO の更新によってタスクが正しくプッシュされなかったり、クライアントのセキュリティポリシーによって実行がブロックされたりすることがあります。再起動やポリシーの強制更新は有効ですが、タスク スケジューラのログを確認することで多くの情報を得ることができます。イベント ビューアー(イベント ビューアー > Windows ログ > システム)で、スケジュールされたタスクやグループ ポリシーの適用に関連するエラーを探してください。これにより、問題が潜んでいる場所が明らかになることが多いです。