デキる人の使いこなしワザ for PC
特定のファイルやフォルダーにアクセスできない! ~オーナー権限をメニューから操作可能にするワザ
2017年6月8日 06:40
こんにちは、阿久津です。Windows 10のカスタマイズ中には、ファイルやフォルダーにアクセスできない場面に出くわすことがあります。これは、ファイルやフォルダー、レジストリエントリーといったオブジェクトが、所有者やアクセス権といった情報を保持しているから。例えば下図はWindowsフォルダーですが、所有者は“TrustedInstaller”、アクセス権は“SYSTEM”や“Administrator”といったグループにフルコントロールを付与しています。
例えばAdministratorsグループの権限が必要なオブジェクトに、一般ユーザーでアクセスするとUAC(ユーザーアカウント権限)の昇格プロンプトが現れます。しかし、TrustedInstallerが所有者の場合は、昇格してもアクセスできません。
ファイルやフォルダーの右クリックメニューに所有者を変更する項目を追加
本来はセキュリティなどの観点からそのまま使うべきですが、前述したようにカスタマイズやOSを再インストールした際、別ドライブに残した既存のオブジェクトへアクセスできなくて困ることも。通常はダイアログなどGUIから操作しますが、コンテキストメニューから操作可能にするレジストリ設定を紹介しましょう。
reg add HKCR\*\shell\runas /ve /d 所有者の取得 /f
reg add HKCR\*\shell\runas /v HasLUAShield /t REG_SZ /f
reg add HKCR\*\shell\runas /v NoWorkingDirectory /t REG_SZ /f
reg add HKCR\*\shell\runas /v Position /t REG_SZ /d middle /f
reg add HKCR\*\shell\runas\command /ve /d "cmd.exe /c takeown /f ^%1 && icacls ^%1 /grant administrators:F /c /l" /f
reg add HKCR\*\shell\runas\command /v IsolatedCommand /d "cmd.exe /c takeown /f ^%1 && icacls ^%1 /grant administrators:F /c /l" /f
reg add HKCR\Directory\shell\runas /ve /d 所有者の取得 /f
reg add HKCR\Directory\shell\runas /v HasLUAShield /t REG_SZ /f
reg add HKCR\Directory\shell\runas /v NoWorkingDirectory /t REG_SZ /f
reg add HKCR\Directory\shell\runas /v Position /t REG_SZ /d middle /f
reg add HKCR\Directory\shell\runas\command /ve /d "cmd.exe /c takeown /f ^%1 && icacls ^%1 /grant administrators:F /c /l" /f
reg add HKCR\Directory\shell\runas\command /v IsolatedCommand /d "cmd.exe /c takeown /f ^%1 && icacls ^%1 /grant administrators:F /c /l" /f
reg add HKCR\dllfile\shell\runas /ve /d 所有者の取得 /f
reg add HKCR\dllfile\shell\runas /v HasLUAShield /t REG_SZ /f
reg add HKCR\dllfile\shell\runas /v NoWorkingDirectory /t REG_SZ /f
reg add HKCR\dllfile\shell\runas /v Position /t REG_SZ /d middle /f
reg add HKCR\dllfile\shell\runas\command /ve /d "cmd.exe /c takeown /f ^%1 && icacls ^%1 /grant administrators:F /c /l" /f
reg add HKCR\dllfile\shell\runas\command /v IsolatedCommand /d "cmd.exe /c takeown /f ^%1 && icacls ^%1 /grant administrators:F /c /l" /f
reg add HKCR\Drive\shell\runas /ve /d 所有者の取得 /f
reg add HKCR\Drive\shell\runas /v HasLUAShield /t REG_SZ /f
reg add HKCR\Drive\shell\runas /v NoWorkingDirectory /t REG_SZ /f
reg add HKCR\Drive\shell\runas /v Position /t REG_SZ /d middle /f
reg add HKCR\Drive\shell\runas\command /ve /d "cmd.exe /c takeown /f ^%1 && icacls ^%1 /grant administrators:F /c /l" /f
reg add HKCR\Drive\shell\runas\command /v IsolatedCommand /d "cmd.exe /c takeown /f ^%1 && icacls ^%1 /grant administrators:F /c /l" /f
reg add HKCR\exefile\shell\runas /ve /d 所有者の取得 /f
reg add HKCR\exefile\shell\runas /v HasLUAShield /t REG_SZ /f
reg add HKCR\exefile\shell\runas /v NoWorkingDirectory /t REG_SZ /f
reg add HKCR\exefile\shell\runas /v Position /t REG_SZ /d middle /f
reg add HKCR\exefile\shell\runas\command /ve /d "cmd.exe /c takeown /f ^%1 && icacls ^%1 /grant administrators:F /c /l" /f
reg add HKCR\exefile\shell\runas\command /v IsolatedCommand /d "cmd.exe /c takeown /f ^%1 && icacls ^%1 /grant administrators:F /c /l" /f
このレジストリを適用した場合、ドライブやフォルダー、実行形式ファイルやDLLファイル、その他のファイルに対するコンテキストメニューに[所有者の取得]が現れます。なお、不用になった場合は、以下の内容を管理者権限で起動したコマンドプロンプトにコピー&ペーストしてください。
reg delete HKCR\*\shell\runas /f
reg delete HKCR\Directory\shell\runas /f
reg delete HKCR\dllfile\shell\runas /f
reg delete HKCR\Drive\shell\runas /f
reg delete HKCR\exefile\shell\runas /f
reg add HKCR\exefile\shell\runas /v HasLUAShield /t REG_SZ /f
reg add HKCR\exefile\shell\runas\command /ve /d "\"^%1\" ^%*" /f
reg add HKCR\exefile\shell\runas\command /v IsolatedCommand /d "\"^%1\" ^%*" /f
阿久津 良和
PC総合誌やDOS/V専門誌、Windows専門誌など、各PC雑誌の編集部を経たのちに独立。WindowsとLinuxをこよなく愛するものの、最近はクラウドやインフラを基盤としたITビジネスソリューションに強く惹かれている。「今すぐ使えるUbuntu入門ガイド Linuxをはじめよう」「今すぐ使えるかんたんPLUS+ Windows 10 完全大事典」(技術評論社)など著書多数。