Klasöre kalıcı olarak erişmek için komut satırı


13

GÜNCELLEME Kabul edilen cevapta açıklanan yöntemi ikinci kez başarısız olduktan veya çok fazla sorun çıkardıktan sonra kullanabiliyorum.

Daha fazla arama yaparak, SetACL'yi çok daha üstün ve tam olarak neye ihtiyaç duyduğunu yapan Helge Klein tarafından buldum .


Belirli klasörlere erişemiyorum örn c:\Program Files\WindowsApps. Komut satırı aracılığıyla Ben bir hata "olsun Erişim reddedildi bir" belirten bir iletişim kutusu açılır olsun "ve Windows Gezgini I yoluyla Şu anda erişime bu klasör için izniniz yok "

resim açıklamasını buraya girin

Devam'ı tıklatmak erişim sağlıyor, ancak komut satırını kullanarak kendime erişim izni vermek istiyorum; böylece komut dosyalarım aynı güvenlik bağlamında çalışan bu sorunla karşılaşmaz.

Bu soruyu Microsoft Technet'te buldum , ancak çalıştıramadım. Zaten Powershell'i yönetici olarak çalıştırıyorum.

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

Önemli olursa , Windows 8.1'den yükseltilmiş Windows 10 kullanıyorum .

Yanıtlar:


12

Şu anda bu klasöre erişim izniniz yok

ICACLS ve / veya TAKEOWN komutunu aşağıdaki sözdizimi ile kullanıcı adının bulunduğu klasöre gerektiği gibi deneyin .

Önce sadece ICACLS komutlarını deneyin ve bu çözümlenmezse , TAKEOWN komutlarını çalıştırın ve sonra ICACLS komutlarını tekrar çalıştırın .


ICACLS Komutları

  • Bu klasöre tüm alt klasörlere ve tüm devralınan izinleri yerinde bırakan dosyalara açık tam denetim erişimi verin ve hataya devam edin

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r <UserName>:(F) /T /C
    
  • Bu klasöre tüm alt klasörlere ve devralınan tüm izinleri yerinde bırakan dosyalara açıkça değişiklik izni verin ve hataya devam edin

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r "<UserName>":(M) /T /C
    
  • Bu klasörün sahibini ve alt klasörlerin ve dosyaların altındaki tüm öğeleri değiştirin ve hataya devam edin

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

TAKEOWN Komutları

  • Bunu sahiplik vermek istediğiniz hesap olarak çalıştırın; klasörün sahibi ve alt klasörlerin ve dosyaların altındaki tüm kullanıcılarla değiştirilir.

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

Teşekkürler. Ben önlemek istiyorum TAKEOWN/ SETOWNER. Sahibini değiştirdiğini ve Windows Gezgini'nin yalnızca izin verdiğini varsayıyorum.
Sefil Değişken

ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r "<UserName>":(OI)(CI)(X,M,F) /T /CO zaman size sadece beklenen sonucu verip vermeyeceğinizi teyit edebilir misiniz ? Cevabımı daha ayrıntılı olarak güncelleyeceğim.
Pezevenk Suyu BT

Belirli bir klasöre, başka herhangi bir klasöre izin almak istiyorsanız, bu klasörün sahipliğini almanız gerekir; sahiplik almaktan kaçınabilirsiniz
Ramhound

Bu benim için çalışıyor: ICACLS "C:\Program Files\WindowsApps" /INHERITANCE:e /GRANT:r i063510:F /T /C. Yardımın için teşekkürler. @Ramhound Sahip olduğumda veya sahiplenmem gerekmediğinde yorumunuzdan anlayamadım.
Sefil Değişken

@MiserableVariable Cevabımı daha ayrıntılı olarak da güncelledim.
Pezevenk Suyu BT
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.