Windowsの設定をGUI以外の方法で変更する


デフォルトのユーザープロファイルに対するレジストリ設定

  1. regeditを起動しHKUにフォーカスして「ファイル」→「ハイブの読み込み」から「C:\Users\Default\NTUSER.DAT」を指定し、名前をDefaultProfileにする。
  2. そのままregeditでレジストリを変更するか「reg add “HKU\DefaultProfile\SOFTWARE…」のようにコマンドで変更する。
  3. 再度regeditでDefaultProfileにフォーカスして「ファイル」→「ハイブのアンロード」で元に戻す。

初回ログイン時のスタート画面を構成する

構成済みアカウントから下記コマンドでバックアップしてDefaultプロファイルに配置する。
対象OS:Win10(AnniversaryUpdate以上)

@powershell Export-StartLayout -path C:\Users\Default\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml

ストアアプリの自動更新を無効にする

対象OS:Win10

reg add "HKLM\SOFTWARE\Policies\Microsoft\WindowsStore" /v AutoDownload /t REG_DWORD /d 3 /f

ときどきスタート画面におすすめを表示しない

対象OS:Win10

reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v SystemPaneSuggestionsEnabled /t REG_DWORD /d 0 /f

Windowsを使用するためのヒントやおすすめの通知を非表示にする

対象OS:Win10

reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v SoftLandingEnabled /t REG_DWORD /d 0 /f

“Windowsへようこそ”の通知を非表示にする

対象OS:Win10

reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v SubscribedContent-310093Enabled /t REG_DWORD /d 0 /f

Windowsで通常使うプリンターを管理しない

対象OS:Win10

reg add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows" /v LegacyDefaultPrinterMode /t REG_DWORD /d 1 /f

WindowsUpdateの延期を無効にする

対象OS:Win10

reg add "HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v DeferFeatureUpdatesPeriodInDays /t REG_DWORD /d 0 /f
reg add "HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v DeferQualityUpdatesPeriodInDays /t REG_DWORD /d 0 /f
reg add "HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v FlightSettingsMaxPauseDays /t REG_DWORD /d 1 /f

WindowsUpdateの更新方法を構成する

対象OS:Win7、Win8、Win10

REM 1:自動更新無効、0:自動更新有効
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 0 /f
REM 1:無効、2:更新あったら通知、3:自動ダウンロードと通知、4:自動インストール
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v AUOptions /t REG_DWORD /d 4 /f

WindowsUpdate後の強制再起動を構成する

対象OS:Win7、Win8、Win10

REM 1:再起動を強制しない、0:強制的に再起動される
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v AUOptions /t REG_DWORD /d 4 /f

WindowsUpdateのスケジュールを構成する

対象OS:Win7、Win8、Win10

REM 0:毎日、1:毎週日曜日~7:毎週土曜日
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v ScheduledInstallDay /t REG_DWORD /d 0 /f
REM 0~23(0時~23時)で指定
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v ScheduledInstallTime /t REG_DWORD /d 12 /f

初回サインインのアニメーションを無効にする

対象OS:Win8、Win10

reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableFirstLogonAnimation /t REG_DWORD /d 0 /f

エクスプローラーの初期画面を「PC」に変更

対象OS:Win10

reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v LaunchTo /t REG_DWORD /d 1 /f

タスクバーのストアを削除する

下記内容のVBSを作成して実行する。
対象OS:Win10

For Each verb In CreateObject("Shell.Application").Namespace("shell:AppsFolder").ParseName("Microsoft.WindowsStore_8wekyb3d8bbwe!App").Verbs
    If verb.name = "タスク バーからピン留めを外す(&K)" Then verb.DoIt
Next

タスクバーのMediaPlayerを削除する

下記内容のVBSを作成して実行する。
対象OS:Win7

path = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%USERPROFILE%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar")
Set Folder = CreateObject("Shell.Application").NameSpace(path)
For Each FolderItem In Folder.Items()
    If FolderItem.Name = "Windows Media Player" Then
        For Each Verb In FolderItem.Verbs
            If Verb.Name="タスク バーに表示しない(&K)" Then Verb.Doit
        Next
    End If
Next

スクリーンセーバーのロックアウトを構成する

対象OS:Win7、Win8、Win10

REM 再開時にログオン画面に戻るチェックON
reg add "HKCU\Control Panel\Desktop" /v ScreenSaverIsSecure /t REG_SZ /d "1" /f
REM 待ち時間(秒)
reg add "HKCU\Control Panel\Desktop" /v ScreenSaveTimeOut /t REG_SZ /d "600" /f

Ctrl+Alt+Delによるサインインを有効にする

対象OS:Win7、Win8、Win10

reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v DisableCAD /t REG_DWORD /d 0 /f

ネットワークレベル認証でリモートデスクトップを有効にする

対象OS:Win7、Win8、Win10

reg add "HKLM\SYSTEM\ControlSet001\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\ControlSet001\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 1 /f

ファイアウォールを有効にする

対象OS:Win7、Win8、Win10

netsh advfirewall set allprofiles state on

プログラムの例外をファイアウォールに登録する

対象OS:Win7、Win8、Win10

netsh advfirewall firewall add rule name="プログラム名など" dir=in action=allow program="%programfiles%\Test Package\test_program.exe" enable=yes

ポートの例外をファイアウォールに登録する

対象OS:Win7、Win8、Win10

netsh advfirewall firewall add rule name="TCP Port 80" dir=in action=allow protocol=TCP localport=80

IPv6を無効にする

対象OS:Win7、Win8、Win10

reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" /v DisabledComponents /t REG_DWORD /d 4294967295 /f

リモートデスクトップをファイアウォールの例外に登録する

下記内容のVBSを作成して実行する。
対象OS:Win7、Win8、Win10

Dim wscriptShell
Set wscriptShell = CreateObject("WScript.Shell")
Dim root
root = "HKEY_LOCAL_MACHINE"
Dim key
key = "\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules"
Set exec = wscriptShell.Exec("cmd /c reg query """ & root & key & """ /v ""RemoteDesktop-*""")
Dim result
result = exec.StdOut.ReadAll
Dim values
values = Replace(result, root & key, "")
Dim arrayTempValues
arrayTempValues = Split(values, "検")
values = arrayTempValues(0)
Dim arrayValues
arrayValues = Split(values, vbNewLine)
For i = 0 to Ubound(arrayValues)
 Dim valueString
 valueString = Trim(arrayValues(i))
  if Len(valueString) > 0 Then
        Dim fields
      fields = Split(valueString, "    ")
     Dim name
        name = fields(0)
        Dim value
       value = fields(2)
       value = Replace(value, "Active=FALSE", "Active=TRUE")
       wscriptShell.RegWrite "HKLM" & key & "\" & name, value
 End if
Next

コントロールパネルをクラシック表示にする

対象OS:Win7、Win8、Win10

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v ForceClassicControlPanel /t REG_DWORD /d 1 /f

最近開いた項目を非表示にする

対象OS:Win7、Win8、Win10

reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Start_TrackDocs /t REG_DWORD /d 0 /f

最近開いたプログラムを非表示にする

対象OS:Win7、Win8、Win10

reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Start_TrackProgs /t REG_DWORD /d 0 /f

エクスプローラーのセキュリティタブを非表示にする

対象OS:Win7、Win8、Win10

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoSecurityTab /t REG_DWORD /d 1 /f

ネットワークドライブを管理者権限と通常権限で共有するよう構成する

対象OS:Win7、Win8、Win10

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLinkedConnections /t REG_DWORD /d 1 /f

Windowsの電源操作を禁止する

対象OS:Win7、Win8、Win10

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoClose /t REG_DWORD /d 1 /f

Windowsのサインアウト(ログオフ)を禁止する

対象OS:Win7、Win8、Win10

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v StartMenuLogOff /t REG_DWORD /d 1 /f

コンピューターのロックを削除する

対象OS:Win7、Win8、Win10

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v DisableLockWorkstation /t REG_DWORD /d 1 /f

パスワードの変更を削除する

対象OS:Win7、Win8、Win10

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v DisableChangePassword /t REG_DWORD /d 1 /f

サービスからのCtrl+Alt+Deleteシミュレートを有効にする

対象OS:Win7、Win8、Win10

reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v SoftwareSASGeneration /t REG_DWORD /d 1 /f

ネットワーク認証のためにパスワードおよび資格情報を保存することを許可しない

対象OS:Win7、Win8、Win10

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v disabledomaincreds /t REG_DWORD /d 1 /f

PowerShellのスクリプトの実行を有効にする

対象OS:Win7、Win8、Win10

reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\PowerShell" /v EnableScripts /t REG_DWORD /d 1 /f

PowerShellのスクリプトの実行ポリシーを変更する

対象OS:Win7、Win8、Win10

REM 署名済みのみ:AllSigned、ローカルスクリプト+署名済み:RemoteSigned、すべて許可する:Unrestricted
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\PowerShell" /v ExecutionPolicy /t REG_DWORD /d RemoteSigned /f

ユーザーごとのプリンタの印刷設定をエクスポート・インポートする

対象OS:Win7、Win8、Win10

REM 設定済みの状態ですべてのプリンタの設定データをエクスポートする
reg export "HKCU\Printers\DevModePerUser" C:\Users\User\Desktop\user_printer_settings.reg
REM 未設定のパソコンでエクスポートした設定データをインポートする
reg import C:\Users\User\Desktop\user_printer_settings.reg

スクリーンセーバーを構成する

対象OS:Win7、Win8、Win10

REM スクリーンセーバーをブランク
reg add "HKCU\Control Panel\Desktop" /v ScreenSaveActive /t REG_SZ /d 1 /f
reg add "HKCU\Control Panel\Desktop" /v SCRNSAVE.EXE /t REG_SZ /d C:\WINDOWS\system32\scrnsave.scr /f
REM タイムアウトを30分
reg add "HKCU\Control Panel\Desktop" /v ScreenSaveTimeOut /t REG_SZ /d 1800 /f
REM 再開時にログイン画面に戻る
reg add "HKCU\Control Panel\Desktop" /v ScreenSaverIsSecure /t REG_SZ /d 1 /f