3流バッチ職人の備忘録

DOS、VBS、Powershellの自分のためのリファレンス

Windows10 2004 をオフラインで 21H1 にする

Windows10 2004 をオフラインで 21H1 にする

KB5000736: 有効化パッケージを使用Windows 10バージョン 21H1 の更新プログラム
https://support.microsoft.com/ja-jp/topic/kb5000736-%E6%9C%89%E5%8A%B9%E5%8C%96%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%82%92%E4%BD%BF%E7%94%A8windows-10%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3-21h1-%E3%81%AE%E6%9B%B4%E6%96%B0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0-75a01e67-3b5f-4677-8efe-42852e41c7cf

21H1イネーブルメントパッケージは、Microsoft Update カタログ からは配布されないので、
インターネット経由のWindowsUpdateからインストールするか、
WSUSでインストールするしかない。

WSUSでダウンロードしたパッケージをバッチ化してオフラインでインストールすることができないか、試してみた。

1.前提条件

1)Windows10 2004 の 2020年9月8日以降のサービス スタック更新プログラムが適用済みであること
2)KB5003173 (19041.985、2021年5月11日リリース) 以降の累積的な更新プログラムが適用済みであること

2.WSUSからパッケージダウンロード
WSUSで「Windows 10 バージョン 21H1 x64ベースのシステムへの機能更新 2021-05 イネーブルメント パッケージ経由」を入手
ファイル情報を確認して、ダウンロードされたパッケージのファイル名を確認する。
(C:\WSUSに保存している場合、C:\WSUS\WsusContent\FD\2468F0824FF7363A3BC1DEBC592096AE4C2394FD.cab)

3.バッチ作成
Install.bat を作成し、2468F0824FF7363A3BC1DEBC592096AE4C2394FD.cabと同一階層に保存する。
------------------------------------------------------------------------------------------------
@echo off
cd /d %~dp0
dism /online /add-package /packagepath:2468F0824FF7363A3BC1DEBC592096AE4C2394FD.cab /norestart
pause
exit
------------------------------------------------------------------------------------------------

4.実行結果
1)19041.985 に対して実行。適用後のバージョン 19043.985
2)19041.867 に適用してもできた。適用後のバージョン 19043.867
3).cabファイルの名前を21H1.cabのように変更しても実行可能。

Windowsのプロダクトキーを調べる方法

Windows(8.1,10)のプロダクトキーを調べるコマンド。

 

slmgr.vbs /dlv

  今現在OS上で認識されているキー。下5桁しか表示されない。

wmic path SoftwareLicensingService get OA3xOriginalProductKey

  これはマザーボードに埋め込まれているOEMキーを表示する方法。

  発売時、Windows8以降がインストールされているPCであれば、全桁表示される。

  OEMキーが埋め込まれていない場合は表示されない。

レジストリではどこにあるかというと、

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion の

DigitalProductId

DigitalProductId4

にあります。が、当然エンコーディングされているので、そのままでは読み取れない。

それをデコードするツールが、

  Produkey

などのツールである。

Windows8.1のSysprepについての注意

 Windows8.1のSysprepで、2~3日泥沼にはまりました。

 Windows8.1でのマスター作成は2年前にも経験があったので、気楽な気持ちでいたのですが、Sysprepでこけまくって、一時はどうなることかと思いました。

 Windows8.1のマスター作成で気をつけること、

1.OSインストールのとき、VLキーを受け付けてくれないことがある。

 なぜだかよくわからないが、そういう状況に陥った。

 グーグル先生に聞いてみると、Windows8.1にはインストール専用キーというのがあるらしい。

 Windows8.1 Pro のインストール用キーです。

   XHQ8N-C3MCJ-RQXB6-WCHYG-C9WKB

 

2.OSインストール後、なるべく早く、タスクスケジューラーのMicrosoft\Windows\AppxDeploymentClient の Pre-staged app cleanup を無効にする。

 このタスクが動くとろくなことがない。

 

3.Sysprep直前にストアアプリの削除をする。

 マスター作成時には当然、ドライバーを最新にしたり、OSの更新プログラムをインストールしたり、ネットに接続することが不可欠になる。

 しかし、ネットに接続していると、知らん間にストアアプリが更新されてしまうのだ。

ストアアプリが更新されると、Sysprepが確実にこける。

 Windows10では、Sysprepをかけてみて、ストアアプリに更新がかかっている場合は、Sysprepがすぐにこけるので、そしてログを見れば、どのストアアプリが原因でこけたのかすぐにわかるので、そのアプリを削除して再度Sysprepをかければ成功する。

 Windows8.1はしばらく触っていないので、W10と同じように、Sysprepがこけてから、原因となるストアアプリを削除すればいいと思っていると、どうもWindows8.1では、ストアアプリが原因でSysprepがこけた場合、そこからストアアプリを削除してももうだめみたい。

 Sysprepのエラーログを見れば、こけた原因となっているストアアプリは分かるので、そのアプリを削除するのだが、削除してもこける。レジストリを直してもこける。何をやってもこける。

 

試しに、と思って、Sysprepをかける前にストアアプリを削除してみたら、成功しました。

一度Sysprepでこけてからでは、何をしてもダメみたいです。

 

 

Windows10の「設定」をコマンドラインから呼び出す方法

Windows10で「設定」を開いて変更したいとき、バッチで一発で開けないかな?と誰しも思うもの。

「設定」の主なものは、「ms-settings:~」で開ける。

例えば、「設定」の「個人用設定」-「スタート」を開きたいときは、「ms-settings:personalization-start」で開く。

 

ファイル名を指定して実行」の場合はそのまま「ms-settings:personalization-start」と入力する。

コマンドラインから開くときは、start ms-settings:personalization-start と入力する。