ストーリー
2019年12月現在、Windows7のサポート終了に向けて動いている今日この頃。
この記事はすぐに必要無くなるでしょう。しかし。
Windows Update って再起動何度もするから面倒なんですよね。
中小企業だとキッティング作業は自前だったりして大変。
Windows10になってからは、Windows 10 のダウンロードから「今すぐアップデート」ボタンを押すと一発で最新になるんです。便利な時代になりました。
概要
Powershellを利用して、Windows Updateを自動化する方法には現在2系統存在しているようです。
MURA氏が源流になっているものと、MichalGajda氏が源流のものです。
そのうち、MURA氏の方を利用して、自動にこぎつけるまでの部分のスクリプトを書きました。
余裕がある人はMichalGajdaのやり方がベストプラクティスな気がします。
追記:コメント頂いた中からearthdiverさんのものを追記しました。
設定補助スクリプト
ユーザーアカウントのパスワードバイパス設定・スタートアップフォルダ・UACの3つが一度に開くスクリプトです。
この記事一番のポイントです。あとは他記事でも取り扱っています。
netplwiz
start shell:startup
UserAccountControlSettings
コマンドラインで統一したかったのですが、再起動が必要になりそうなのでやめました。
Windows7にて、コマンドラインから「UAC」を無効にする
スタートアップスクリプト
%SYSTEMDRIVE%\WindowsUpdate\AutoWindowsUpdate.ps1
と同じフォルダに配置します。
rem
cls
@echo off
powershell -NoLogo -NoProfile -ExecutionPolicy RemoteSigned -File "C:\WindowsUpdate\AutoWindowsUpdate.ps1 Full"
pause
このショートカット「Launch.lnk」を事前に作成しておきます。
ショートカットのプロパティ設定で「詳細設定」-「管理者として実行」のチェックを入れておきましょう。
出来たショートカットをスタートアップフォルダとデスクトップにコピーします。
使用手引き
- %SYSTEMDRIVE%\WindowsUpdate\AutoWindowsUpdate.ps1を配置
- %SYSTEMDRIVE%\WindowsUpdate\Launch.cmdを配置
- setuphelper.cmdを実行
- スタートアップとデスクトップにLaunch.lnkを配置
- UACを無効化
- パスワードバイパス設定
- ショートカットから起動
系統1
系統1の派生
Windows Updateを自動で再起動とアップデートを繰り返すバッチファイルを作る
系統2
Windows Update PowerShell Module
系統2の派生
【Management】Windows Update Powershell Module (1)
PowerShellによるWindowsUpdateの自動化
PowerShellでWindows Updateを自動化した
WindowsUpdateをPowershellで制御してみた
系統3
Yet Another Windows Update Automation
Excelsior!