Windows10の「既定のアプリ」がADのグループポリシーで非表示になっているときに
一時的に「既定のアプリ」を操作したいことがあってバッチファイルで操作できるか試してみました
まず社内で困ったときはIT担当者に相談しましょう。
ただしIT担当者が分かっていないこともあるのでググって調べた結果も相談した方が良いです。
それでもどうにもならない場合は自分で試してみるのが良いでしょう。
#バッチファイルでリスク少なく簡単操作
「既定のアプリ」が非表示の場合に、表示させるにはレジストリを操作します。
レジストリというと通常はリスクを伴うので触れないのですが、今回はバッチファイルで操作するため、また「規定のアプリ」が非表示になっているところを表示させるだけなので万が一失敗しても影響は少ないです。
それに今回の作業ではレジストリをバックアップしますのでリスクは少ないです。
下記が「既定のアプリ」が非表示の状態の画像です。
普通はあるはずの「規定のアプリ」がない場合はあせりますよね。
今回はグループポリシーで「規定のアプリ」が非表示されているのが原因でした。
#下記が「既定のアプリ」を表示させるため作成したバッチファイルです。
コマンドプロンプトが良く分からない方はデスクトップに「アプリ表示」というフォルダを作成して枠内の文字をメモ帳に張り付けて、拡張子を「.bat」にしたファイルを実行すればOKです。
@echo off
echo. ##############################################
echo. ## ##
echo. ## ##
echo. ## 既定のアプリを表示する作業です ##
echo. ## ##
echo. ## ##
echo. ##############################################
@echo.
@echo.
@echo.
SET /P ANSWER="「規定のアプリ」の設定値をバックアップしますか (Y/N)?"
if /i {%ANSWER%}=={y} (goto :yes)
if /i {%ANSWER%}=={Y} (goto :yes)
if /i {%ANSWER%}=={n} (goto :no)
if /i {%ANSWER%}=={N} (goto :no)
:yes
@echo.
@echo.
reg export HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer CExplorer.reg
timeout 1 > nul 2>&1
reg export HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer UExplorer.reg
timeout 1 > nul 2>&1
@echo.
@echo.
start %UserProfile%\Desktop\アプリ表示
@echo.
@echo. フォルダ内に「CExplorer.reg」「UExplorer.reg」がバックアップされました
@echo.
SET /P ANSWER="「規定のアプリ」の設定を削除しますか (Y/N)?"
if /i {%ANSWER%}=={y} (goto :yes)
if /i {%ANSWER%}=={Y} (goto :yes)
if /i {%ANSWER%}=={n} (goto :no)
if /i {%ANSWER%}=={N} (goto :no)
:yes
@echo.
@echo.
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" /f
timeout 1 > nul 2>&1
reg delete "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" /f
timeout 1 > nul 2>&1
@echo.
@echo. 「既定のアプリ」の設定を削除しました
@echo. 設定から「既定のアプリ」が表示されるか確認してください
@echo.
pause
@echo.
SET /P ANSWER="「規定のアプリ」の設定を戻しますか (Y/N)?"
if /i {%ANSWER%}=={y} (goto :yes)
if /i {%ANSWER%}=={Y} (goto :yes)
if /i {%ANSWER%}=={n} (goto :no)
if /i {%ANSWER%}=={N} (goto :no)
:yes
@echo.
@echo.
reg import "%UserProfile%\Desktop\アプリ表示\CExplorer.reg"
timeout 1 > nul 2>&1
reg import "%UserProfile%\Desktop\アプリ表示\UExplorer.reg"
timeout 1 > nul 2>&1
gpupdate /force > nul 2>&1
@echo.
@echo. コマンド終了します。お疲れさまでした
@echo.
timeout 3 > nul 2>&1
pause
:no
@echo.
@echo. コマンド終了します。お疲れさまでした
@echo.
timeout 3 > nul 2>&1
コマンドプロンプトは対話式にしました。基本的に「yes」です。「no」にすると作業をスキップします。
「yes」は「Y」「y」どちらでも問題ないです。
「timeout」のコマンドはなくても良いと思いますが、念のためコマンド間の時間を空けるため記載しました。
あまり役に立つことは少ないと思いますが、何かの役に立てると嬉しいです。
では。