2012-03-07 3 views
1

Windows Updateエージェント(WUA)がコンピュータを自動的に再起動して更新プログラムをインストールするため、リセットしたばかりの6日間のジョブを実行しているサーバーがあります。CUを使用してWUAが「更新を自動的にインストールする(推奨)」に設定されているかどうかをチェックする方法

この設定が今後オンになっている場合に警告するためにC#アプリを変更したいので、6日のジョブを再起動して強制的に再起動しないようにします。 CPU時間の日数。

「重要な更新プログラム」が「C#内で自動的に更新プログラムをインストールする(推奨)」に設定されていることをWUA内でチェックできるかどうかは知りませんか? Windows Updateエージェント(WUA)のためのAPIがあり

+0

これに対処するためにシステムを設計する方がよいでしょうか(増分状態を保存するなど)? WUA以外のものは、*いつでもシステムを再起動させる可能性があります。 –

+1

アップデートを手動でインストールするようにサーバーのポリシーを設定するだけです。私はまた、あなたが6日間の仕事を避ける方法を見つけ出すべきであることに同意します。 –

+0

@Damien_The_Unbeliever状態を保存し、6日間のバッチプロセスを再開する方法を考えると、時間の節約にはそれほど価値がないと言っても過言ではないエンジニアリングの努力になります。このユーティリティは1四半期に1回しか実行されないため、WUAの問題をユーザーに警告するために2行のコードを追加するのがはるかに理にかなっています。 – Contango

答えて

1

、その一般的な使用がに記載されています。ここでは

Install Windows Update Using C#

C#コードです:

// See http://techforum4u.com/entry.php/11-Install-Windows-Update-Using-C 
var auc = new WUApiLib.AutomaticUpdatesClass(); 
if (auc.Settings.NotificationLevel == 
     AutomaticUpdatesNotificationLevel.aunlScheduledInstallation) 
{ 
    Console.Write("{0}Warning W20120307-1107. Windows Update Agent (WUA) is capable of rebooting the PC automatically. Recommend switching this off for the duration of this 6-day batch process.\n", NPrefix()); 
} 

c:\WINDOWS\system32\wuapi.dllを追加した後、コンパイルエラーが発生した場合は、Interop type cannot be embeddedを参照してください。

この方法はWindows 7でのみ機能し、Windows XPでのクラッシュを防ぐためにtry/catchを追加することに注意してください。 XPで作業する方法については、フォーラムを参照してください(WUAバージョン1、WUA for Windows 7はバージョン2です)。

+0

更新:これは2週間実行され、Windows 7とWindows Server 2008 R2の両方でシームレスに動作します。間違いなく良い解決策。 – Contango

関連する問題