Windows 7やWindows 8、8.1を使っている皆様
相変わらずWindows10へのアップグレード催促が、うざったく感じているのではないでしょうか?
すでに、色々と対策を講じている方もいらっしゃるかもしれません
そんな方は読まなくても大丈夫・・・ですかね
自分もPCを利用する上で、Windows7や8.1じゃないと困る環境があって自分なりの対策をしております
今回はそんな一例です
Windows10へのアップグレードを催促するメッセージを、無効化にするスクリプトのご案内になります
それではまず、新規でテキスト ドキュメントを作成します
そのテキストファイルを開きましたら、以下の緑で書かれている文字全てをコピー&ペーストします
' =========================================================
' Windows10アップグレード催促無効化スクリプト
' =========================================================
strComputer = "."
do while WScript.Arguments.Count=0 and WScript.Version>=5.7
Set wmi = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set os = wmi.ExecQuery ("SELECT * FROM Win32_OperatingSystem")
For Each value in os
if left(value.Version,3)<6.0 then exit do
Next
Set sha=CreateObject("Shell.Application")
sha.ShellExecute "wscript.exe",""""+WScript.ScriptFullName+""" vista","","runas"
WScript.Quit
loop
Set objShell = CreateObject("WScript.Shell")
Wscript.Sleep 1000
Owner1 = MsgBox("Windows 10のアップグレード催促メッセージの無効化を行います。" & vbCR & vbCR & "よろしいですか?", vbYesNo,"無効化の実施")
Select Case Owner1
Case vbYes
objShell.Run "reg.exe ADD ""HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Gwx"" /v ""DisableGwx"" /t REG_DWORD /d 00000001 /f ",0,true
objShell.Run "reg.exe ADD ""HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate"" /v ""DisableOSUpgrade"" /t REG_DWORD /d 00000001 /f ",0,true
Wscript.Sleep 2000
Owner2 = MsgBox("Windows 10のアップグレード催促メッセージを無効にしました。" & vbCR & vbCR & "Windowsを再起動しますか?", vbYesNo,"再起動の確認")
Select Case Owner2
Case vbYes
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Shutdown)}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Reboot()
Next
Case vbNo
MsgBox"再起動するまで設定が有効になりません。",vbExclamation,"警 告"
End Select
Case vbNo
Wscript.Sleep 2000
Owner3 = MsgBox("Windows 10のアップグレード催促メッセージを表示させますか?", vbYesNo,"有効化の実施")
Select Case Owner3
Case vbYes
objShell.Run "reg.exe DELETE ""HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Gwx"" /v ""DisableGwx"" /f ",0,true
objShell.Run "reg.exe DELETE ""HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate"" /v ""DisableOSUpgrade"" /f ",0,true
Wscript.Sleep 2000
Owner4 = MsgBox("Windows 10のアップグレード催促メッセージを表示するようにしました。" & vbCR & vbCR & "Windowsを再起動しますか?", vbYesNo,"再起動の確認")
Select Case Owner4
Case vbYes
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Shutdown)}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Reboot()
Next
Case vbNo
MsgBox"再起動するまで設定が有効になりません。",vbExclamation,"警 告"
End Select
Case vbNo
MsgBox"設定を取りやめました。",vbExclamation,"終 了"
End Select
End Select
ファイルを保存しましたら、ファイル名は適当に"Win10up_dis.vbs"とでも致しましょう
必ずファイルの拡張子は".vbs"にしてくださいね
※".txt"では無いですよぉ~
アイコンは

に変更されます
作成できましたら、このファイルを実行します
実行すると以下の画面が表示されます
ここで"はい"を選択
そして次の画面
再起動のメッセージが出てきますので他のアプリケーションを実行中でなければ、そのまま"はい"を選択して再起動させます
これで、Windows10のメッセージが表示されなくなります
もしかしたら、今後のWindows アップデートでこの設定が外れてしまうかもしれません
その時は今回と同じように、このスクリプトを実行すれば無効化されると思います
無効化にした後、どうしてもWindows10へアップグレードしたい!
そんな時は最初の画面で"いいえ"を選択してください
そうしますと有効化にする設定が表示されます
ここで"はい"を選択すれば有効化です
このスクリプトの中身
解る人にとっては大した内容ではないと理解できると思いますが、単純にレジストリを2箇所書き換えを行うためのスクリプトなんですよね(汗)
それでも、オペレーションの単純化や回避、再帰処理をするためには、70行近くのソースになってしまいます
一見無駄に思えてしまいますが、複数の環境が存在しているので自分としては有効なスクリプトになります
当然!
仕事では使ってませんが・・・(-_-;)
Posted at 2016/04/08 11:45:29 | |
トラックバック(0) |
IT | 日記