PowerShell を使用した Windows の更新管理
=====================================================
Windows Update は、Windows システムを最新化してセキュリティを高めるために不可欠な機能です。 このチュートリアルでは、PowerShell を使用して Windows の更新を管理し、自動化する方法について説明します。
前提条件
- Windows 10 以上 (PowerShell 5.1 以上)
- PowerShell Remoting が有効 (デフォルトで多くのシステムに設定されます)
PowerShell の始め方
PowerShell に新しくなった場合は、Windows Terminal アプリケーションや PowerShell ISE (Integrated Scripting Environment) を開きます。 classic Command Prompt も使用できますが、このチュートリアルではより-powerful な PowerShell を中心に説明します。
Windows Update PowerShell モジュール
wusa モジュールは、Windows の更新に関する操作専門のモジュールです。このモジュールを次のように読み込みます。
Import-Module -Name wusa
更新のチェック
あるいはありうる更新を確認するには、次のコマンドを使用します。
Get-WindowsUpdate -IncludeRecommended -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Title
このコマンドでは、重要かつ推奨される両方の更新の一覧を表示します。
更新のインストール
特定の更新をインストールするには、そのタイトルや KB 番号を指定します。例えば:
Install-WindowsUpdate -Title "Windows 10 Version 1903"
KB 番号を指定する場合は、次のようにします。
Install-WindowsUpdate -KbNumber 4567890
更新のアンインストール
あるいはアンインストールする必要がある場合は、次のコマンドを使用します。
Uninstall-WindowsUpdate -Title "Windows 10 Version 1903"
スケジュール更新
将来の時間に更新を行うには、Schedule-WindowsUpdate コマンドレットを使用します。
Schedule-WindowsUpdate -Start "2022-01-01 02:00" -Duration "PT1H" -Title "Windows 10 Version 1903"
このコマンドでは、2022 年 1 月 1 日午前 2 時に開始し、1 時間続行するようにスケジュールします。
スクリプト例:自動化 Windows Update
次のスクリプトは、更新をチェックし、ありうる更新をインストールし、また 1 時間後に行う更新の確認のスケジュールを行います。
# wusa モジュールを読み込みます
Import-Module -Name wusa
# 更新をチェックします
$updates = Get-WindowsUpdate -IncludeRecommended -ErrorAction SilentlyContinue
# インストール可能な更新をインストールします
if ($updates.Count -gt 0) {
$updates | ForEach-Object { Install-WindowsUpdate -Title $_.Title }
}
# 次の更新の確認のスケジュールを行います
Schedule-WindowsUpdate -Start (Get-Date).AddHours(1) -Duration "PT1H"
このスクリプトをファイル (update.ps1 など) に保存し、PowerShell を使用して実行します。
.\update.ps1
このスクリプトを実行すると、Windows システムを自動化して最新化とセキュリティを高めることができます。
通常の問題の解決
- エラー:”指定された更新は、このコンピューターに対して適用されません。”: これらのエラーは、インストールする更新がシステムに適合していない場合に発生します。更新の詳細を確認し、システムに対して適切かどうかを検討してください。
- エラー:”更新は、Windows Update が更新サービスに接続できません。”: これらのエラーは、ネットワーク 接続問題です。インターネット接続を確認し、マイクロソフトの更新サーバーにアクセスできることを検討してください。
結論
このチュートリアルでは、PowerShell を使用して Windows の更新を管理する方法について説明しました。更新をチェックし、インストールやアンインストールを行うだけでなく、スケジュール更新を行うこともできます。これらのスキルを使用することで、Windows システムを自動化して最新化とセキュリティを高めることができます。
Happy scripting!