Kann mir jemand sagen, wie man den Benutzernamen, die Identitätsreferenz und den Zugriffskontrolltyp wie im folgenden Beispiel erhält?
Ich habe das unten stehende PS-Skript erstellt, aber ich kann den Benutzernamen nicht übergeben.
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
}
% eine Abkürzung für 'foreach' ist. Verwenden Sie '$ Users = Get-ADUser -Filter * | Wählen Sie DistinguishedName, SamAccountName} 'anstelle von' $ Users = Get-ADUser -Filter * | % {$ _. SamAccountName} ', da Sie später auf den DN verweisen. Sie benötigen ein Referenzobjekt, für das die ACL abgefragt werden soll. Sie können nicht alle Zugriffsrechte auf * (alles) auflisten. Sie brauchen auch nicht 'set-Location AD:' wenn Sie nicht mit get-childitem etc. Cmdlets arbeiten. – Martin
@Martin Er will ACLs von AD-Objekten überprüfen, also muss er definitiv den Speicherort auf das 'AD:' Laufwerk ändern. –
Es funktioniert auch ohne es, wenn Sie angeben "-Pfad" mit Laufwerk: "get-acl -path" AD: \ $ ($ user.DifferencedName) " Wählen Sie -ExpandProperty Zugriff | ft' – Martin