Windows Updateが完了するたびに(つまり、再起動後、または再起動を必要としない更新後に)特定のスクリプトを実行する方法はありますか?
私のアプリケーションは MSCOMCTL.OCX更新 に苦しんでおり、Windows Updateが更新されるたびに、ユーザーは私の修正スクリプトを適用する必要があるようです。
[〜#〜] edit [〜#〜]:Windows7以降の場合。
最終的には、正解は「アプリケーションを修正する」だと思います。ただし、さまざまな理由でできない場合があります。そうは言っても...
Windowsのどのバージョンですか? Vista/2008以降では、スケジュールされたタスクを特定のイベントIDに関連付けることができます。システムイベントログで、WindowsUpdateClientのイベントID 19は、 WUAアップデートのインストールの成功 を示します。
タスクスケジューラスナップインtaskschd.msc
を起動します。 「タスクスケジューラライブラリ」を右クリックし、「基本タスクの作成...」を選択します。
次の画面で、名前と簡単な説明を入力し、「次へ」をクリックします。
「特定のイベントがログに記録されたとき」というラベルの付いたラジオボタンをクリックし、「次へ」をクリックします。
ログとして「システム」、ソースとして「WindowsUpdateClient」、イベントIDとして「19」を選択し、「次へ」をクリックします。
「プログラムの開始」ラジオボタンをクリックし、「次へ」をクリックします。
「fixit」スクリプトまたは実行可能ファイルへのパスを指定し、「次へ」をクリックします。
設定が正しいことを確認し、[完了]をクリックします。
これで、設定とともにライブラリにスケジュールされたタスクが一覧表示されます。
これはC:\Windows\system32\schtasks.exe
のみを使用したコマンドラインの例です。XPathフィルター構文には、しばらく時間がかかりました。タスクスケジューラが表示されます XPathのサブセットのみを使用 。
REM Create scheduled task triggered by WindowsUpdateClient event ID 19
schtasks /Create /TN "Post WUA Update Install" /TR "C:\scripts\your.fix.cmd" /SC ONEVENT /EC System /MO "*[System[Provider[@Name='Microsoft-Windows-WindowsUpdateClient'] and (EventID=19)]]"