web-dev-qa-db-ja.com

恒久的にフォルダにアクセスするためのコマンドライン

UPDATE 2度目の失敗または受け入れられた回答に記載されている方法を使用できましたが、あまりにも多くの問題が発生しました。

さらに検索したところ、Helge Kleinによる SetACL がはるかに優れていて、まさに必要なことをしていることがわかりました。


特定のフォルダにアクセスできないc:\Program Files\WindowsApps。コマンドラインで "アクセスが拒否されました"というエラーが表示され、Windowsエクスプローラで "というダイアログボックスが表示されます。このフォルダにアクセスする権限 "

enter image description here

Continue をクリックするとアクセスできますが、コマンドラインを使用してアクセスを許可したいと思います。私のスクリプトが同じセキュリティコンテキストの下で実行されているこの問題に遭遇しないように。

Microsoft Technetで this という質問が見つかりましたが、うまくいきませんでした。私はすでにPowershellを管理者として実行していることに注意してください。

PS C:\WINDOWS\system32> icacls "C:\Program Files\WindowsApps" /grant i063510:F /inheritance:e
C:\Program Files\WindowsApps: Access is denied.
Successfully processed 0 files; Failed processing 1 files
PS C:\WINDOWS\system32> icacls "C:\Program Files" /grant i063510:F /inheritance:e
C:\Program Files: Access is denied.
Successfully processed 0 files; Failed processing 1 files

それが問題であれば、私は Windows 10をWindows 8.1 からアップグレードしたものを使っています。

11

現在このフォルダにアクセスする権限がありません

以下の構文で ICACLS または TAKEOWN を試してください。必要に応じてユーザー名を持つフォルダに対して。

最初にICACLSコマンドだけを試してみて、それがを解決しない場合は、TAKEOWNコマンドを実行してから、再度ICACLSコマンドを実行してください。


ICACLS コマンド

  • このフォルダへの明示的なフルコントロールアクセス権をサブフォルダの下のすべてのフォルダ、および継承されたすべてのアクセス許可を元の場所に残し、エラーが発生した場合は続行します

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r <UserName>:(F) /T /C
    
  • このフォルダへの明示的な変更アクセスをサブフォルダの下のすべてのサブディレクトリに許可し、ファイルには継承されたすべてのアクセス許可をそのまま残し、エラーが発生したままになる

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r "<UserName>":(M) /T /C
    
  • このフォルダとその下のすべてのサブフォルダおよびファイルの所有者を変更し、エラーが発生したら続行します

    ICACLS "<FolderPath>" /SETOWNER "<UserName>" /T /C
    

TAKEOWN コマンド

  • 所有権を付与したいアカウントとしてこれを実行すると、フォルダの所有者およびサブフォルダとファイルの下にあるすべての所有者に変更されます

    TAKEOWN /F "<FolderPath>" /R /D Y
    
8
Pimp Juice IT