Benutzer mit den meisten Antworten
Active Directory Berechtigungen dokumentieren

Frage
Antworten
-
Grundsätzlich geht das auch ohne Zusatztools:
$username = "proftest" Add-Type -AssemblyName System.DirectoryServices.AccountManagement $ct = [System.DirectoryServices.AccountManagement.ContextType]::Domain $user = [System.DirectoryServices.AccountManagement.UserPrincipal]::FindByIdentity($ct,$username) $groups = $user.GetAuthorizationGroups() $ADsearcher = New-Object System.DirectoryServices.DirectorySearcher $ADsearcher.Filter = "(objectcategory=OrganizationalUnit)" $allobj = $ADsearcher.findall() foreach ($obj in $allobj) { $permissions = $obj.GetDirectoryEntry().get_ObjectSecurity().Access foreach ($permission in $permissions) { $id = $permission.IdentityReference.tostring().split("\")[1] if ( $id -eq $username) { Write-Host "~~~~~~~~~~~~~~~~~`rObject:" $obj.properties.name "/ " $obj.properties.objectclass "/ " $permission.ObjectType "/ " $permission.inheritedObjectType Write-host $permission.IdentityReference " : " $permission.ActiveDirectoryRights " (" $permission.AccessControlType ")" } foreach ($group in $groups) { if ( $id -eq $group.name) { Write-Host "~~~~~~~~~~~~~~~~~`rObject:" $obj.properties.name "/ " $obj.properties.objectclass "/ "$permission.ObjectType "/ " $permission.inheritedObjectType Write-host $permission.IdentityReference " : " $permission.ActiveDirectoryRights " (" $permission.AccessControlType ")" } } } }
Damit listest du alle Rechte auf AD-Objekte die ein User direkt oder über Gruppenmitgliedschaften erhalten hat. Ohne Filterung nach bestimmten Objekten, Gruppentiefe und bestimmten Rechten macht das in der Praxis aber keinen Sinn, da die Liste z.b. nur der Leserechte außerordentlich lang werden kann. :)
Das gilt allerdings auch für LIZA und dcacls.Grüße, Denniver
http://bytecookie.wordpress.com/
- Bearbeitet Denniver ReiningMVP Sonntag, 10. Juli 2011 02:45 Code Fix.
- Als Antwort markiert Raul TalmaciuMicrosoft contingent staff Montag, 11. Juli 2011 10:23
Alle Antworten
-
Hallo,
an Boardmitteln kenne ich dafür nur dcacls ...
http://support.microsoft.com/kb/281146/en-usEs gibt aber dritthersteller die das ermöglichen und sogar hübsch aufbereiten. Ich verweise da gerne auf Quest ...
Viele Grüße Carsten -
Hi,
Am 30.06.2011 11:14, schrieb stavrostz-duhb:
kann mann die Effektiven Berechtigungen eines Users für die Domäne im AD per z.B. Powershell dokumentieren?
Liza von http://www.ldapexplorer.com/en/freetools.htm sollte das auch
können.Tschö
Mark
Mark Heitbrink - MVP Windows Server - Group Policy
Homepage: www.gruppenrichtlinien.de - deutsch
GPO Tool: www.reg2xml.com - Registry Export File Converter
NetworkTrayTool www.gruppenrichtlinien.de/tools/Networktraytool.htm -
Grundsätzlich geht das auch ohne Zusatztools:
$username = "proftest" Add-Type -AssemblyName System.DirectoryServices.AccountManagement $ct = [System.DirectoryServices.AccountManagement.ContextType]::Domain $user = [System.DirectoryServices.AccountManagement.UserPrincipal]::FindByIdentity($ct,$username) $groups = $user.GetAuthorizationGroups() $ADsearcher = New-Object System.DirectoryServices.DirectorySearcher $ADsearcher.Filter = "(objectcategory=OrganizationalUnit)" $allobj = $ADsearcher.findall() foreach ($obj in $allobj) { $permissions = $obj.GetDirectoryEntry().get_ObjectSecurity().Access foreach ($permission in $permissions) { $id = $permission.IdentityReference.tostring().split("\")[1] if ( $id -eq $username) { Write-Host "~~~~~~~~~~~~~~~~~`rObject:" $obj.properties.name "/ " $obj.properties.objectclass "/ " $permission.ObjectType "/ " $permission.inheritedObjectType Write-host $permission.IdentityReference " : " $permission.ActiveDirectoryRights " (" $permission.AccessControlType ")" } foreach ($group in $groups) { if ( $id -eq $group.name) { Write-Host "~~~~~~~~~~~~~~~~~`rObject:" $obj.properties.name "/ " $obj.properties.objectclass "/ "$permission.ObjectType "/ " $permission.inheritedObjectType Write-host $permission.IdentityReference " : " $permission.ActiveDirectoryRights " (" $permission.AccessControlType ")" } } } }
Damit listest du alle Rechte auf AD-Objekte die ein User direkt oder über Gruppenmitgliedschaften erhalten hat. Ohne Filterung nach bestimmten Objekten, Gruppentiefe und bestimmten Rechten macht das in der Praxis aber keinen Sinn, da die Liste z.b. nur der Leserechte außerordentlich lang werden kann. :)
Das gilt allerdings auch für LIZA und dcacls.Grüße, Denniver
http://bytecookie.wordpress.com/
- Bearbeitet Denniver ReiningMVP Sonntag, 10. Juli 2011 02:45 Code Fix.
- Als Antwort markiert Raul TalmaciuMicrosoft contingent staff Montag, 11. Juli 2011 10:23