Baris perintah untuk secara permanen mendapatkan akses ke folder

13

PEMBARUAN Sementara saya bisa menggunakan metode yang dijelaskan dalam jawaban yang diterima setelah gagal untuk kedua kalinya atau hanya memberikan terlalu banyak masalah.

Mencari lebih jauh saya menemukan SetACL oleh Helge Klein yang jauh lebih unggul dan melakukan apa yang dibutuhkan.


Saya tidak dapat mengakses folder tertentu misalnya c:\Program Files\WindowsApps. Melalui baris perintah saya mendapatkan kesalahan " Akses ditolak " dan melalui Windows Explorer saya mendapatkan pop up kotak dialog yang menyatakan " Saat ini Anda tidak memiliki izin untuk mengakses folder ini "

masukkan deskripsi gambar di sini

Mengklik Lanjutkan memberi saya akses, tetapi saya ingin memberi saya akses menggunakan baris perintah; sehingga skrip saya tidak mengalami masalah ini berjalan di bawah konteks keamanan yang sama.

Saya menemukan pertanyaan ini di Microsoft Technet tetapi saya tidak dapat membuatnya berfungsi. Perhatikan bahwa saya sudah menjalankan Powershell sebagai 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

Jika itu penting, saya menggunakan Windows 10 yang ditingkatkan dari Windows 8.1 .

Variabel yang menyedihkan
sumber

Jawaban:

12

Saat ini Anda tidak memiliki izin untuk mengakses folder ini

Coba ICACLS dan / atau TAKEOWN dengan sintaksis di bawah ini terhadap folder dengan nama pengguna sesuai kebutuhan.

Coba saja perintah ICACLS terlebih dahulu dan jika itu tidak menyelesaikan , jalankan perintah TAKEOWN dan kemudian jalankan perintah ICACLS lagi.


Perintah ICACLS

  • Berikan akses kontrol penuh eksplisit ke folder ini ke semua di bawah subfolder, dan file meninggalkan semua izin yang diwariskan di tempat dan melanjutkan kesalahan

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r <UserName>:(F) /T /C
    
  • Berikan secara eksplisit memodifikasi akses ke folder ini ke semua di bawah subfolder, dan file meninggalkan semua izin yang diwariskan di tempat dan melanjutkan kesalahan

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r "<UserName>":(M) /T /C
    
  • Ubah pemilik folder ini dan semua di bawah subfolder dan file dan lanjutkan dengan kesalahan

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

Perintah TAKEOWN

  • Jalankan ini sebagai akun yang ingin Anda berikan kepemilikannya, dan itu akan diubah menjadi pemilik folder dan semua di bawah subfolder dan file

    TAKEOWN /F "<FolderPath>" /R /D Y
    
Pimp Juice
sumber
Terima kasih. Saya ingin menghindari TAKEOWN/ SETOWNER. Saya berasumsi bahwa itu mengubah pemilik dan Windows Explorer hanya memberikan izin.
Variabel yang
Bisakah Anda mengonfirmasi jika hanya ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r "<UserName>":(OI)(CI)(X,M,F) /T /Cakan memberi Anda hasil yang diharapkan? Saya akan memperbarui jawaban saya dengan lebih detail jika demikian.
Pimp Juice,
Anda harus mengambil kepemilikan folder itu jika Anda ingin izin ke folder tertentu itu, folder lain, Anda bisa menghindari kepemilikan
Ramhound
Ini bekerja untuk saya: ICACLS "C:\Program Files\WindowsApps" /INHERITANCE:e /GRANT:r i063510:F /T /C. Terima kasih atas bantuan Anda. @Ramhound Saya tidak bisa mengerti dari komentar Anda ketika saya atau tidak perlu mengambil kepemilikan.
Variabel yang
@MiserableVariable Saya baru saja memperbarui jawaban saya dengan perincian lebih lanjut.
Pimp Juice,