Befehlszeile, um dauerhaft auf den Ordner zuzugreifen


13

UPDATE Während ich die in der akzeptierten Antwort beschriebene Methode verwenden konnte, schlug sie ein zweites Mal fehl oder gab einfach zu viel Ärger.

Bei der weiteren Suche fand ich SetACL von Helge Klein, das weit überlegen ist und genau das tut, was benötigt wird.


Ich kann nicht auf bestimmte Ordner zugreifen, z c:\Program Files\WindowsApps. Über die Befehlszeile wird die Fehlermeldung " Zugriff verweigert " angezeigt. Über den Windows Explorer wird ein Dialogfeld mit der Meldung " Sie haben derzeit keine Berechtigung zum Zugriff auf diesen Ordner " angezeigt.

Geben Sie hier die Bildbeschreibung ein

Wenn Sie auf Weiter klicken, erhalte ich Zugriff, möchte mir jedoch über die Befehlszeile Zugriff gewähren. Damit meine Skripte nicht auf dieses Problem stoßen, das unter demselben Sicherheitskontext ausgeführt wird.

Ich habe diese Frage auf Microsoft Technet gefunden, aber ich konnte sie nicht zum Laufen bringen. Beachten Sie, dass ich Powershell bereits als Administrator ausführe.

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

Wenn es darauf ankommt, verwende ich Windows 10, das von Windows 8.1 aktualisiert wurde .

Antworten:


12

Sie haben derzeit keine Berechtigung, auf diesen Ordner zuzugreifen

Versuchen Sie ICACLS und / oder TAKEOWN mit der folgenden Syntax für den Ordner mit dem Benutzernamen nach Bedarf.

Versuchen Sie zuerst nur die ICACLS-Befehle. Wenn dies nicht behoben werden kann , führen Sie die TAKEOWN-Befehle aus und führen Sie dann die ICACLS-Befehle erneut aus.


ICACLS- Befehle

  • Gewähren Sie allen untergeordneten Unterordnern und Dateien, die alle geerbten Berechtigungen beibehalten, expliziten Vollzugriff auf diesen Ordner und fahren Sie mit dem Fehler fort

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r <UserName>:(F) /T /C
    
  • Gewähren Sie allen untergeordneten Unterordnern und Dateien, die alle geerbten Berechtigungen beibehalten, expliziten Änderungszugriff auf diesen Ordner und fahren Sie mit dem Fehler fort

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r "<UserName>":(M) /T /C
    
  • Ändern Sie den Besitzer dieses Ordners und aller Unterordner und Dateien und fahren Sie mit dem Fehler fort

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

TAKEOWN- Befehle

  • Führen Sie dies als das Konto aus, dem Sie den Besitz gewähren möchten, und es wird in den Eigentümer des Ordners und aller untergeordneten Unterordner und Dateien geändert

    TAKEOWN /F "<FolderPath>" /R /D Y
    

Vielen Dank. Ich möchte TAKEOWN/ vermeiden SETOWNER. Ich gehe davon aus, dass es den Besitzer ändert und Windows Explorer nur Berechtigungen zuweist.
Elende Variable

Können Sie bestätigen, ob nur der ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r "<UserName>":(OI)(CI)(X,M,F) /T /CWille Ihnen dann das erwartete Ergebnis liefert? Ich werde meine Antwort detaillierter aktualisieren, wenn dies der Fall ist.
Pimp Juice IT

Sie müssen den Besitz dieses Ordners übernehmen, wenn Sie Berechtigungen für diesen bestimmten Ordner oder einen anderen Ordner wünschen, können Sie den Besitz vermeiden
Ramhound

Das funktioniert bei mir : ICACLS "C:\Program Files\WindowsApps" /INHERITANCE:e /GRANT:r i063510:F /T /C. Danke für Ihre Hilfe. @ Ramhound Ich konnte aus Ihrem Kommentar nicht verstehen, wann ich das Eigentum übernehmen muss oder nicht.
Elende Variable

@MiserableVariable Ich habe gerade meine Antwort mit weiteren Details aktualisiert.
Pimp Juice IT
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.