Aşağıdaki örnekte listelenen kullanıcı adı, Kimlik Referansı ve Erişim Denetimi Türü'ne nasıl ulaşılacağını bana söyleyebilir misiniz?
Username IdentityRefrerance AccessControlType fred BuiltIn\Account Operator Allow
Aşağıdaki PS komut dosyasını oluşturdum ancak kullanıcı adı geçemedim.
Import-Module ActiveDirectory
Set-Location AD:
$Users = Get-ADUser -Filter * | % {$_.SamAccountName}
foreach ($User in $Users) {
(Get-Acl (Get-ADUser -Identity $User).DistinguishedName).Access |
Where-Object {$_.IdentityReference -eq "BUILTIN\Account Operators"} return true |
select IdentityReference, AccessControlType
}
% 'foreach' için bir kısa yoldur. '$ Users = Get-ADUser -Filter kullanın * | DistinguishedName, SamAccountName} 'yerine, $ Kullanıcılar = Get-ADUser -Filter * | Daha sonra DN'ye başvuracağınız gibi% {$ _. SamAccountName}. ACL'yi sorgulamak için bir başvuru nesnesine ihtiyacınız var. Tüm erişim haklarını sadece * (her şey) olarak listeleyemezsiniz. Ayrıca get-childitem vb cmdlet'lerle çalışmıyorsanız, set-Location AD'ye ihtiyacınız yoktur. – Martin
@Martin AD nesnelerinin ACL'lerini kontrol etmek istiyor, bu yüzden konumu kesinlikle "AD:" sürücüsüne değiştirmek gerekiyor. –
Ayrıca, drive ile '-path 'belirtirseniz:" get-acl -path "AD: \ $ ($ user.DistinguishedName)" | select -ExpandProperty access | ft' – Martin