Software Centerで強制的にアップデートを取得する方法

System Center Configuration Manager(SCCM)を使っている環境で,新規VMをデプロイした際などに,Software CenterからすぐにWindows Updateを当てたいと思う場合があります。

しかし,一日ほど待たなければ,Software Centerにアップデートが現れないことがあるので,何とかして,強制的にアップデートを取得する方法がないか,気になるところです。

そのようなときには,コントロールパネルのConfiguration Managerから,Machine Policy Retrieval & Evaluation Cycleを探し,Run Nowボタンをクリックしましょう。

Machine Policy Retrieval & Evaluation CycleをRun Nowする。

Machine Policy Retrieval & Evaluation CycleをRun Nowする。

そうすると,下記のようなポップアップが現れます。

The selected cycle will run and might take several minutes to finish.

「完了するまでには数分かかりますよ」というメッセージが現れましたので,これで,ほどなくしてアップデートが来るかと思いきや,一向に変化が現れません

何とかして強制的に,アップデートを取得する方法はないのでしょうか。

Run Nowボタンを押したときに実際に何が起こっているのか

The selected cycle will run and might take several minutes to refresh.というメッセージは,実際どういう意味なのでしょうか。

実は,このジョブサイクルは,いつも直ちに実行されるわけではありません。そして,バックグラウンドで,低いプライオリティで実行されます。ですので,他のジョブが走っているときなど,コンピューターが忙しいときには,このSoftware Center関連のジョブが一向に走らないのです。

そもそも,このConfiguration Managerは,通常のシステムオペレーションを妨害しないように慎重に作られています。その結果,内部ロジックで,システムの使用率を見て,ビジーだと判断する限りは,ジョブを実行させません。

何度,Run Nowボタンを押しても,結果は同じなのです。

この場合,次のCcmExecのログに,以下のようなメッセージが記録されるかもしれません。

Skip sending state message due to same state message already exists.

マシンの状態に変化がない限りは,SCCMサーバーに対して,新たな要求を送らないようです。

ですので,Run Nowボタンを何度押しても,サーバーに対して有効な要求は送られません。

では,強制的にRun Nowする方法はないのか

答えは,「ない」です。Configuration ManagerやSoftware Centerには,強制的にSCCMサーバーに対して要求を送る機能がそもそも備わっていません

これは,SCCMサーバー側の付加を,極端に増大させないためにも,必要な措置だといえます。SCCMサーバーは,数千台~数万台のクライアントを管理することがあるわけですから,それも納得です。

サードパーティ製のツールなどはないのか

以下のサイトで紹介されいてるツールを使えば,通常のConfiguration ManagerやSoftware Centerに含まれていない機能が提供されているようです。

https://sccmclictr.codeplex.com/

とはいえ,サードパーティ製のツールを入れてまで行うようなことでもないので,一日程度待つ方が得策のようにも思います。

リソースを拡張しよう

最も効果的だと思うのは,初期セットアップ時点では,VMに割り当てるCPUやメモリのリソースを増やしておくことだと思います。

そうしておくと,マシンがビジー状態になることをいくらか避けられるので,比較的早い段階で,アップデートを取得してくることができるかもしれません。

いずれにしても,Windowsアップデートなどを当てきるためには,一日程度かかるものと思っていた方がよさそうです。

悩んでおられる方のご参考になればと思います。

他に,有効な方法をご存知の方がおられれば,ぜひコメント欄で教えてください。

コメント