Wiersz poleceń, aby na stałe uzyskać dostęp do folderu


13

AKTUALIZACJA Podczas gdy byłem w stanie użyć metody opisanej w zaakceptowanej odpowiedzi, gdy zawiodła po raz drugi lub po prostu sprawiała zbyt wiele problemów.

Podczas dalszych poszukiwań znalazłem SetACL autorstwa Helge Klein, który jest znacznie lepszy i robi dokładnie to, co jest potrzebne.


Nie mogę uzyskać dostępu do niektórych folderów, np c:\Program Files\WindowsApps. Za pośrednictwem wiersza polecenia pojawia się błąd „ Odmowa dostępu ” i za pomocą Eksploratora Windows pojawia się okno dialogowe z informacją „ Obecnie nie masz uprawnień dostępu do tego folderu ”

wprowadź opis zdjęcia tutaj

Kliknięcie Kontynuuj daje mi dostęp, ale chciałbym przyznać sobie dostęp za pomocą wiersza poleceń; aby moje skrypty nie napotkały tego problemu działającego w tym samym kontekście bezpieczeństwa.

Znalazłem to pytanie w witrynie Microsoft Technet, ale nie mogłem go uruchomić. Zauważ, że już korzystam z Powershell jako administrator.

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

Jeśli to ważne, używam systemu Windows 10 uaktualnionego z systemu Windows 8.1 .

Odpowiedzi:


12

Obecnie nie masz uprawnień dostępu do tego folderu

Wypróbuj ICACLS i / lub TAKEOWN z poniższą składnią w stosunku do folderu z nazwą użytkownika w razie potrzeby.

Spróbuj najpierw tylko poleceń ICACLS, a jeśli to nie rozwiąże , uruchom polecenie TAKEOWN, a następnie ponownie uruchom polecenia ICACLS .


Polecenia ICACLS

  • Przyznaj wyraźny, pełny dostęp kontrolny do tego folderu wszystkim podfolderom, a pliki pozostawiając wszystkie odziedziczone uprawnienia na miejscu i kontynuuj w razie błędu

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r <UserName>:(F) /T /C
    
  • Udziel wyraźnej modyfikacji dostępu do tego folderu wszystkim podfolderom, a pliki pozostawiając wszystkie odziedziczone uprawnienia na miejscu i kontynuuj w razie błędu

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r "<UserName>":(M) /T /C
    
  • Zmień właściciela tego folderu i wszystkich podfolderów i plików i kontynuuj w razie błędu

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

Komendy TAKEOWN

  • Uruchom to jako konto, któremu chcesz udzielić prawa własności, a zostanie ono zmienione na właściciela folderu i wszystkich podfolderów i plików

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

Dzięki. Chcę uniknąć TAKEOWN/ SETOWNER. Zakładam, że zmienia właściciela, a Eksplorator Windows przypisuje tylko uprawnienia.
— Nędzna Zmienna

Czy możesz potwierdzić, czy właśnie ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r "<UserName>":(OI)(CI)(X,M,F) /T /Cto da ci oczekiwany wynik? Zaktualizuję moją odpowiedź bardziej szczegółowo, jeśli tak.
— Pimp Juice IT

Musisz przejąć na własność ten folder, jeśli chcesz mieć uprawnienia do tego konkretnego folderu, dowolnego innego folderu, którego możesz uniknąć
— Ramhound,

Działa to dla mnie ICACLS "C:\Program Files\WindowsApps" /INHERITANCE:e /GRANT:r i063510:F /T /C. Dzięki za pomoc. @Ramhound Nie mogłem zrozumieć z twojego komentarza, kiedy to robię lub nie muszę przejmować własności.
— Nędzna Zmienna

@MiserableVariable Właśnie zaktualizowałem swoją odpowiedź z dalszymi szczegółami.
— Pimp Juice IT
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.