Rolands Erinnermich

Infos, Links, Scripte und mehr rund um E-Mail

Powershell: Gruppenmitgliedschaften (memberof) auflisten

Erstellt von Roland am Freitag 6. November 2009

Das hier veröffentlichte Script, mit dem die Berechtigungen eines Users auf Postfächer ausgegeben werden können, ist noch unbefriedigend. Es werden zwar alle Postfächer ausgegeben, bei denen der User die Berechtigung “Vollzugriff” bzw. “Senden Als” hat, aber es fehlt noch etwas. Was, wenn der User nicht direkt auf ein Postfach berechtigt ist, sondern die Berechtigungen durch Mitgliedschaft in einer bestimmten Gruppe erhält?

Ergo muss noch etwas nachgebessert werden. Als Zwischenschritt habe ich jetzt ein Script, das alle Gruppen ausgibt, in denen ein User Mitglied ist. Der Name des Users wird nach Aufruf der Funktion abgefragt. Ich habe ganz bewusst auf die Quest Powershell Commands for Active Directory verzichtet, schließlich hat man die nicht überall zur Verfügung.

function get-memof {
$name=read-host "Please enter the Logonname"
$strFilter = "(&(ObjectCategory=User)(samAccountName=$name))"
 
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.Filter = $strFilter
 
$objPath = $objSearcher.FindOne()
$objUser = $objPath.GetDirectoryEntry()
$DN = $objUser.distinguishedName
 
$strGrpFilter = "(&(objectCategory=group)(name=*))"
$objGrpSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objGrpSearcher.Filter = $strGrpFilter
 
$objGrpPath = $objGrpSearcher.findall()
foreach ($group in $objGrpPath)
{
	If (!($group -eq $Null)) {
		$objGrp = $group.GetDirectoryEntry()
		$grpDN = $objGrp.distinguishedName
		$ADVal = [ADSI]"LDAP://$DN"
 
		if ($ADVal.memberof.Value -eq $grpDN) {
			$returnVal = 1
			$groups +=$grpDN
		}
	} else {
		$returnVal = 0
		return $returnVal = 0
	}
 
}
$groups
}
  • Share/Bookmark

Verwandte Artikel

Kommentar schreiben

XHTML: Sie können diese Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Spam Protection by WP-SpamFree