Share via


Get-Acl

Dosya veya kayıt defteri anahtarı gibi bir kaynağın güvenlik tanımlayıcısını alır.

Syntax

Get-Acl
   [[-Path] <String[]>]
   [-Audit]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Acl
   -InputObject <PSObject>
   [-Audit]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Acl
   [-LiteralPath <String[]>]
   [-Audit]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]

Description

Bu cmdlet yalnızca Windows platformunda kullanılabilir.

Cmdlet, Get-Acl bir dosya veya kaynağın güvenlik tanımlayıcısını temsil eden nesneleri alır. Güvenlik tanımlayıcısı, kaynağın erişim denetim listelerini (ACL' ler) içerir. ACL, kullanıcıların ve kullanıcı gruplarının kaynağa erişmek için sahip olduğu izinleri belirtir.

Windows PowerShell 3.0'da başlayarak, inputobject parametresini Get-Acl kullanarak yolu olmayan nesnelerin güvenlik tanımlayıcısını alabilirsiniz.

Örnekler

Örnek 1- Klasör için ACL alma

Bu örnek dizinin güvenlik tanımlayıcısını C:\Windows alır.

Get-Acl C:\Windows

Örnek 2 - Joker karakterler kullanarak bir klasör için ACL alma

Bu örnek, dizindeki adları ile sbaşlayan tüm .log dosyalar için PowerShell yolunu ve SDDL'yi C:\Windows alır.

Get-Acl C:\Windows\s*.log | Format-List -Property PSPath, Sddl

komut, her günlük dosyasının Get-Acl güvenlik tanımlayıcılarını temsil eden nesneleri almak için cmdlet'ini kullanır. Sonuçları Format-List cmdlet'e göndermek için işlem hattı işlecini (|) kullanır. komutu, her güvenlik tanımlayıcısı nesnesinin yalnızca PsPath ve SDDL özelliklerini görüntülemek için özelliğiniFormat-List kullanır.

Uzun değerler tablolarda kesilmiş olarak göründüğü için listeler genellikle PowerShell'de kullanılır.

SDDL değerleri, güvenlik tanımlayıcısı içindeki tüm bilgileri içeren basit metin dizeleri olduğundan sistem yöneticileri için değerlidir. Bu nedenle, geçişleri ve depolamaları kolaydır ve gerektiğinde ayrıştırılabilirler.

Örnek 3 - ACL için Denetim girdilerinin sayısını alma

Bu örnek, dizindeki C:\Windows adları ile sbaşlayan dosyaların güvenlik tanımlayıcılarını .log alır.

Get-Acl C:\Windows\s*.log -Audit | ForEach-Object { $_.Audit.Count }

Güvenlik tanımlayıcısında SACL'den denetim kayıtlarını almak için Audit parametresini kullanır. Ardından cmdlet'ini ForEach-Object kullanarak her dosyayla ilişkili denetim kayıtlarının sayısını sayar. Sonuç, her günlük dosyası için denetim kayıtlarının sayısını temsil eden sayıların listesidir.

Örnek 4 - Kayıt defteri anahtarı için ACL alma

Bu örnek, kayıt defterinin Get-Acl Control alt anahtarının (HKLM:\SYSTEM\CurrentControlSet\Control) güvenlik tanımlayıcısını almak için cmdlet'ini kullanır.

Get-Acl -Path HKLM:\System\CurrentControlSet\Control | Format-List

Path parametresi Control alt anahtarını belirtir. İşlem hattı işleci (|), komutuna gelen güvenlik tanımlayıcısını Get-AclFormat-List geçirir. Bu komut, güvenlik tanımlayıcısının özelliklerini kolay okunması için liste olarak biçimlendirir.

Örnek 5 - **InputObject** kullanarak ACL alma

Bu örnekte, bir depolama alt sistemi nesnesinin güvenlik tanımlayıcısını almak için inputobject parametresi Get-Acl kullanılır.

Get-Acl -InputObject (Get-StorageSubSystem -Name S087)

Parametreler

-Audit

Sistem erişim denetimi listesinden (SACL) güvenlik tanımlayıcısı için denetim verilerini alır.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Exclude

Belirtilen öğeleri atlar. Bu parametrenin değeri Path parametresini niteler. gibi *.txtbir yol öğesi veya deseni girin. Joker karakterlere izin verilir.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Filter

Sağlayıcının biçiminde veya dilinde bir filtre belirtir. Bu parametrenin değeri Path parametresini niteler. Joker karakterlerin kullanımı da dahil olmak üzere filtrenin söz dizimi sağlayıcıya bağlıdır. Sağlayıcı, nesneleri aldıktan sonra PowerShell'in filtrelemesini yapmak yerine nesneleri alırken bunları uyguladığından filtreler diğer parametrelerden daha verimlidir.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Include

Yalnızca belirtilen öğeleri alır. Bu parametrenin değeri Path parametresini niteler. gibi *.txtbir yol öğesi veya deseni girin. Joker karakterlere izin verilir.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-InputObject

Belirtilen nesne için güvenlik tanımlayıcısını alır. Nesneyi içeren bir değişken veya nesneyi alan bir komut girin.

Yolu dışındaki bir nesneyi öğesine Get-Aclyöneltemezsiniz. Bunun yerine, komutunda InputObject parametresini açıkça kullanın.

Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.

Type:PSObject
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-LiteralPath

Bir kaynağın yolunu belirtir. Path'in aksine, LiteralPath parametresinin değeri tam olarak yazıldığı gibi kullanılır. Hiçbir karakter joker karakter olarak yorumlanmamıştır. Yol kaçış karakterleri içeriyorsa, tek tırnak içine alın. Tek tırnak işaretleri PowerShell'e hiçbir karakteri kaçış dizisi olarak yorumlamaması gerektiğini söyler.

Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.

Type:String[]
Aliases:PSPath
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Path

Bir kaynağın yolunu belirtir. Get-Acl , yol tarafından belirtilen kaynağın güvenlik tanımlayıcısını alır. Joker karakterlere izin verilir. Path parametresini atlarsanız, Get-Acl geçerli dizinin güvenlik tanımlayıcısını alır.

Parametre adı ("Yol") isteğe bağlıdır.

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

Girişler

String

Bu cmdlet'in yolunu içeren bir dizeyi kanala aktarabilirsiniz.

Çıkışlar

FileSecurity

DirectorySecurity

RegistrySecurity

Bu cmdlet, aldığı ACL'leri temsil eden bir nesne döndürür. Nesne türü ACL türüne bağlıdır.

Notlar

Bu cmdlet yalnızca Windows platformlarında kullanılabilir.

Varsayılan olarak, Get-Acl kaynağın (<provider>::<resource-path>), kaynağın sahibinin PowerShell yolunu ve kaynağın isteğe bağlı erişim denetimi listesindeki (DACL) erişim denetimi girdilerinin listesini (dizisi) "Access"i görüntüler. DACL listesi kaynak sahibi tarafından denetlendi.

Sonucu listeGet-Acl | Format-List ( olarak biçimlendirdiğinizde, yol, sahip ve erişim listesine ek olarak PowerShell aşağıdaki özellikleri ve özellik değerlerini görüntüler:

  • Grup: Sahibin güvenlik grubu.
  • Denetim: Sistem erişim denetimi listesindeki (SACL) girdilerin listesi (dizi). SACL, Windows'un denetim kayıtlarını oluşturduğu erişim girişimi türlerini belirtir.
  • Sddl: Güvenlik Tanımlayıcısı Tanım Dili biçiminde tek bir metin dizesinde görüntülenen kaynağın güvenlik tanımlayıcısı. PowerShell, bu verileri almak için güvenlik tanımlayıcılarının GetSddlForm yöntemini kullanır.

Get-Acl Dosya sistemi ve kayıt defteri sağlayıcıları tarafından desteklendiğinden, dosya ve dizinler gibi dosya sistemi nesnelerinin ve kayıt defteri anahtarları ve girdileri gibi kayıt defteri nesnelerinin ACL'sini görüntülemek için kullanabilirsinizGet-Acl.