仮想環境(Guest側OS)のWindowsUpdateの自動化検討 その1
仮想環境のGuestOSのWindowsUpdateの完全自動化を見据えて色々調べてみた。
まずは仮想環境は含めずにCUI環境から直接Updateする方法を探す。
(Powershellを使った方法はwin7以降のみ対応となる。)
- PowerShellでWindows Updateが有効かどうかと最終インストール日時を確認する - Qiita
- Microsoft.Update.AutoUpdateのCOMオブジェクトをPowerShellで。
- フルオートでWindows Updateする
- PowerShellを使って、新規作成直後の再起動の繰り返しに対応。
- WSUS の手動操作のメモ at SE の雑記
- Windows Update Services (WSUS)をコマンドラインから利用
- 山市良のえぬなんとかわーるど: Hyper-V & Windows Update 自動化スクリプトのまとめ (+α)
- 仮想環境(GuestOS)のWindowsUpdateについてまとめ。ただし、Hyper-V。
- 【メモ】PSWindowsUpdate -コマンドラインでWindows Update- (Windows Server 2012 R2 Essentials):shirokichi's hobby life:So-netブログ
- PowerShellのPSWindowsUpdateモジュールを使用したやり方。
(「正規のGUIで行うアップデートとのあいだで不整合が発生する」というのが気にかかるが……)
- PowerShellのPSWindowsUpdateモジュールを使用したやり方。
HostOS側からUI AutomationもしくはUWSCでGuestOSを起動
→GuestOSにログイン
→GuestOS起動時に上のいずれかのUpdate用スクリプトを起動
で自動化できそう。
ただ、ログイン部分が今のところ一番の難点。
リモートでログインすると、WindowsUpdateが実行出来ない場合もあるようなので、
この辺り要調査。
一応Vagrant、Jenkinsも調べたものの、
Vagrantは環境を作ったり(コピーしたり)壊したりが得意なことは解った。
osdn.jp
tech.nitoyon.com
GuestOSのログイン部分の制御に利用できる可能性があるので、要調査。(プラグイン等ありそう)
JenkinsはGuestOSをスレーブに設定すれば起動部分含めて制御できる可能性あり。
shunirr.hatenablog.jp
JenkinsのVirtualBoxのプラグインや、Vagrantのプラグインがある模様。
現在のところ、ログイン部分の対処としては、
1.JenkinsやVagrantを利用(まだ未確定)
2.UWSCの画像認識で力技で処理
の2つが候補。