PowerShell - Dosyalara Özyinelemeli Olarak İzin Ayarla
Dosyanın, klasörlerin veya kayıt defteri anahtarının güvenlik tanımlayıcısını değiştirmek için PowerShell'deki Set-Acl cmdlet'ini kullanın. Güvenlik tanımlayıcılarını birden çok dosya veya klasöre yinelemeli olarak uygular.
ACL (Erişim Kontrol Listesi), kullanıcının ve kullanıcı grubunun bir dosyaya veya kayıt defteri anahtarına erişme iznini temsil eder. Erişim kontrolü girişlerinin (ACE) bir listesidir.
Bu makalede, dosyalar veya herhangi bir kaynak üzerinde yinelemeli olarak izin ayarlamak için Set-ACL cmdlet'inin nasıl kullanılacağını tartışacağız.
Güvenlik Tanımlayıcısını Birden Çok Dosyaya Uygulamak için Set-ACL'yi Kullanın
Dosyanın güvenlik tanımlayıcılarını almak için Get-ACL komutunu kullanın ve güvenlik tanımlayıcılarını dosyalara yinelemeli olarak uygulamak için PowerShell'deki Set-ACL'yi kullanın.
# Get the security descriptor for the file using Get-ACL
$newACL = Get-ACL D:\exported_ua.cer
# Use the Get-ChildItem to recusively to apply security descriptor using set-acl
Get-ChildItem -Path "D:\Certificates" -Recurse -Include "*.cer" -Force | Set-Acl -AclObject $newAclYukarıdaki PowerShell betiğinde, PowerShell'deki Get-ACL cmdlet'i güvenlik tanımlayıcılarını alır ve bunları $newACL değişkeninde saklar.
Get-ChildItem komutu, dizin yolunu belirtmek için Path parametresini kullanır ve .cerRecurse parametresini kullanır. > dosya uzantısı.
Alınan bir veya daha fazla dosyayı, AclObject parametresindeki güvenlik tanımlayıcısını tüm dosyalara yinelemeli olarak uygulayan Set-ACL cmdlet'ine iletir.
Harika İpucu: PowerShell kullanarak dosyaların engellemesi nasıl kaldırılır?
PowerShell, Set-ACL'yi Kullanarak Klasörler ve Dosyalar Üzerindeki İzni Yinelemeli Olarak Ayarlama
Güvenlik tanımlayıcılarını klasörlere ve dosyalara tekrar tekrar uygulamak veya değiştirmek için Set-ACL cmdlet'ini kullanın.
# Get the security descriptor for the folder
$newACL = Get-ACL -Path 'D:\Certificates\'
# Create the new rule
$fileSystemRule = New-Object System.Security.AccessControl.FileSystemAccessRule("BUILTIN\Administrators","FullControl","Allow")
# Set the new rule
$newACL.SetAccessRule($fileSystemRule)
# Apply permission on folder recursively
Set-Acl -Path 'D:\Expiry_Certificates\' -AclObject $newACL Yukarıdaki PowerShell betiğinde Get-ACL cmdlet'i, klasörün güvenlik tanımlayıcısını alır ve bunları $newACL'de saklar.
$fileSystemRule değişkeni “BUILTIN\Administrators”, Tam Denetim, İzin Ver gibi izin kurallarını içerir.
SetAccessRule() yönteminin kullanılması, yeni erişim kurallarını mevcut $newACL'ye ekler.
Set-Acl komutu, klasör yolunu alır ve izinleri dosya ve klasörler üzerinde yinelemeli olarak ayarlar.
Harika İpucu: PowerShell'de klasör ve alt klasöre ilişkin izinler nasıl alınır?
Çözüm
Dosya ve klasörlerdeki izinleri yinelemeli olarak ayarlamak için PowerShell'deki Set-ACL cmdlet'inin nasıl kullanılacağına ilişkin yukarıdaki makalenin size yardımcı olacağını umuyorum.
PowerShell Active Directory komutları ve PowerShell temelleri hakkında daha fazla konuyu ShellGeek ana sayfasında bulabilirsiniz.