ドメインの任意のコンピューターでイベントが発生したときにアクション/タスクをトリガーしたい。
これはGPOを介して可能ですが、ドメイン上のすべてのマシンにスクリプトをデプロイする必要がありますか?
あなたはタスクスケジューラのイベントベースのタスクについて話している。
はい、GPOを介してそれらを展開することは可能です。 Vista以降が必要です。 GPP(グループポリシー設定)を使用する必要があります。
グループポリシー管理コンソール(gpmc.msc)で、GPOを編集または作成し、コンピューターの設定> 設定> コントロールパネルの設定>に移動します。 スケジュールされたタスク新しいものを作成しますスケジュールされたタスク(Windows Vista以降)
ここでは、通常のタスクスケジューラの場合と同じように、イベントベースのスケジュールされたタスクを作成できます。重要な部分は、[トリガー]タブで適切なトリガータイプを選択することです。トリガーを作成してタスクの開始:イベント時に設定し、トリガーするイベントを選択する必要があります。
また、マシンがスクリプトにアクセスできることを確認する必要があります。ネットワーク上のどこかで共有するか、クライアントのローカルディスクにコピーするか、同じGPOのGPPファイル機能を使用します。
編集:私は質問が本当に古く、おそらくもう関係がないことに気づきました。 HopelessN00bによってのみ更新されていました
ええと、イベントによってトリガーされるGPOを持つことはできません。 GPOは基本的に単なるレジストリキーであるため、いずれかの値になります。したがって、イベントがポップアップしたときにトリガーできる(ある種の)スクリプトが必要です。
恐ろしい手動コピーをあまり必要としない、これを行うために私が考えることができるいくつかの方法があります。
最初の方法は、GPOを介してスクリプトを展開することです。おそらく、起動スクリプトが最適です (したがって、SYSTEM
として実行され、実行するためにログオンユーザーは必要ありません)イベントログを監視し、このイベントが発生したときに必要なことをすべて実行します。
2番目の方法は、最初の方法と同様に、GPPによってスケジュールされたタスクを展開することです 、タスクは問題のスクリプトです。スケジュールされたタスクを単に常に実行するように設定することも、一定の間隔(たとえば、5分ごと)で実行して開始時にイベントログをスキャンするように設定することもできます。
3番目の方法は、ハードウェアにそれを実行させることができれば、次のようになります 転送されたイベントログを収集する中央サーバーをセットアップし、ドメインコンピューターを構成して現在のイベントを転送しますこのロギングサーバーに関係する 。
このように、スクリプトを1台のコンピューターでのみ実行でき、複数のコンピューターで実行されていることを確認する代わりに、その1台のコンピューターについてのみ心配する必要があります。
この方法で行うと、 イベントログを介してイベントにタスクを添付する のオプションも開きます。これは、スクリプトでイベントログをスキャンするよりもはるかに強力なオプションです。 Technetには、イベントに応答してPowerShellスクリプトをトリガーする方法に関するブログ投稿もあります これはあらゆる種類の気の利いたものです。