2018/05/15

戻す期限を 10 日から 30 日に変更するバッチ(Windows 10 April 2018 Update 用)

Windows 10 Anniversary Update (バージョン 1607)から、アップグレード後の「前のバージョンの Windows 10 に戻す」ことができる機能の期限が、それまでの 30 日から 10 日になってだいぶ経ちますが、Windows 10 April 2018 Update (バージョン 1803)で、この期限を変更するオプションが DISM に追加されています。

DISM operating system uninstall command-line options
[URL] https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/dism-uninstallos-command-line-options


 「DISM /Online /Set-UninstallWindow /Value:日数」「DISM /Online /Set-OSUninstallWindow /Value:日数」を管理者で実行すれば、お望みの日数(設定可能範囲は不明)に変更可能。

既定の 10 日から 30 日に変更するバッチを作ってみました(動作保証なし)。以下のテキストを set10to30.cmd とかのファイル名で保存して、管理者として実行。既に 10 日以外の日付になっている、あるいは既に機能が無効化されていれば何も変更しない(はず)です。5 月 1 週にアップグレードしちゃった人には無用のバッチ。


---この次の行から(GOTO END 1か所抜けてたので修正)ーーー
@echo Off
DISM /Online /Get-OSUninstallWindow |findstr "Element not found"
IF %ERRORLEVEL% == 0 GOTO EXPIRED

DISM /Online /Get-OSUninstallWindow |findstr "Uninstall Window"|findstr "10"
IF %ERRORLEVEL% == 0 GOTO CHANGEWINDOW
GOTO END

:CHANGEWINDOW
DISM /Online /Set-OSUninstallWindow /Value:30
ECHO 「前のバージョンの Windows 10 に戻す」の期限を 10 日から 30 日に変更しました。
GOTO END

:EXPIRED
ECHO 残念でした。もう遅いです。既に10日過ぎたか、Windowsによる判断(ストレージセンター)または手動で削除されたため、「前のバージョンの Windows 10 に戻す」機能は利用できません。

:END
---この前の行までーーー

注:Windows セットアップの /postoobe オプションで SetupComplete.cmd(https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-command-line-options)に仕込んで自動実行しようとしても無駄です。やってみましたが、該当するレジストリ(HKLM\SYSTEM\Setup\UninstallWindow)は、アップグレードが完了しないと作成されないみたいで、/postoobe で実行された段階では存在してませんでした(Element not found になる)。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。