2017/07/26

Windows 10 と Windows Server 2016 で wuauclt /detectnow の代わり

「Windows Server 2016で削除された機能または推奨されなくなった機能」のドキュメントを久しぶりに見たら、「Windows Update」の項目が追加されていました(以前はなかったと思います)。

Windows Server 2016で削除された機能または推奨されなくなった機能 (
[URL] https://docs.microsoft.com/ja-jp/windows-server/get-started/deprecated-features

※ 「適用対象: Windows Server 2016」となっていますが、Windows 10 にも適用されるものあります。
Windows Update

Wuauclt.exe/detectnow コマンドは廃止され、サポートが終了しました。 更新のスキャンをトリガーするには、次のいずれかの操作を行います。

・以下の PowerShell コマンドを実行する。
 

$AutoUpdates = New-Object -ComObject "Microsoft.Update.AutoUpdate"
$AutoUpdates.DetectNow()
 

・代わりに、以下の VBScript を使用する。
 

Set automaticUpdates = CreateObject("Microsoft.Update.AutoUpdate")
automaticUpdates.DetectNow()


Windows Server 2012 R2 以前および Windows 8.1 以前は、wuauclt /detectnow や /downloadnow、/updatenow で、Windows Update による自動更新による検出開始、ダウンロード開始、更新開始をトリガーできました。しかし、Windows Server 2016 と Windows 10 ではこれらの方法は使えません。なぜなら、wuauclt.exe からこれらのオプションが削除されちゃったから。wuauclt /detectnow を実行しても、何も起こりません。

「Windows Server 2016で削除された機能または推奨されなくなった機能」のドキュメントには、代替策として、PowerShell や WSH で Microsoft.Update.AutoUpdate オブジェクトを操作する方法が説明されています。PowerShell でやってみると、「設定」アプリの「Windows Update」で更新の確認が始まりました。Server Core インストールには「設定」アプリはありませんが、Windows Update の自動更新による更新の確認がスタートするはずです。


ドキュメントには書いていませんが、Windows Server 2016 と Windows 10 では、C:\Windows\System32 にある Usoclient.exe (通称、ウソクライアント))の StartScan オプションで同じことができます。タスクマネージャーの自動更新関連のタスクには、このコマンドラインが記述されています。

この方法は、「設定」アプリの無い Server Core インストールでも使えることは確認済み。

Windows Server 2016 Server Core の Windows Update もモダンな奴だった (2017/06/06)

「設定」アプリのある Windows Server 2016 デスクトップ エクスペリエンスと Windows 10 の場合は、「ms-settings:windowsupdate-action」を使用することで、「設定」アプリの「Windows Update」を開いて、自動的に「更新の確認」をスタートすることもできます。

参考:
Windows 10のショートカット「ms-settings:URI」は使い始めると止められない(@IT)
[URL] http://www.atmarkit.co.jp/ait/articles/1707/11/news009.html

Windows Update の検出、ダウンロード、インストールをスクリプトで完結したい場合は、こちらのスクリプトをご参考に。

Windows Scripting: Windows Update をスクリプトから (WindowsUpdate.vbs) (2010/07/02)
Windows Scripting: Windows Update をスクリプトから (WindowsUpdate.ps1) (2010/07/05)


Windows Server 2016 の Nano Server は、Windows Update サービスが無いので、別の方法が必要です。ただし、Nano Server の Windows Update で苦労するのは、現行バージョンで終わりになると思います。Nano Server vNext (Windows Server ver 1709 ベース) は、コンテナーのベース OS イメージ専用になるので、Windows Update は不要になるはずなので(docker pull イメージ名でベース OS イメージが更新されるので)。

My Windows Update Script for Nano Server (2017/03/15)

0 件のコメント: