Hier mal ein paar nützliche Scriptschnipsel um sich das Leben mit Office365 zu vereinfachen.
Am Ende gibt es sogar einen "Bonus".
Alle Office365 Gruppen anzeigen lassen:
Get-UnifiedGroup | where {$_.RecipientTypeDetails -eq "GroupMailbox"} | select DisplayName, Alias
Script um Mitglieder und Besitzer der Gruppen anzeigen lassen:
$alias = Read-Host 'Geben Sie den Alias der Gruppe ein' $Userlist = Get-UnifiedGroupLinks –Identity $alias –LinkType Members $OwnerList = Get-UnifiedGroupLinks –Identity $alias –LinkType Owners $user = Foreach($Mailbox in $Userlist) { get-user -identity $Mailbox.alias | select DisplayName } $owner = Foreach($Mailowner in $OwnerList) { get-user -identity $Mailowner.alias | select DisplayName } $group = Get-UnifiedGroup -identity $alias | select -ExpandProperty DisplayName write-host -foregroundcolor Green "`nFolgende Benutzer sind in der Gruppe ""$group"" als Besitzer hinterlegt:" $a = $owner | sort DisplayName | FT -AutoSize -HideTableHeaders | out-string write-host -foregroundcolor Yellow $a write-host -foregroundcolor Green "`nFolgende Benutzer sind in der Gruppe ""$group"" als Mitglied hinterlegt:" $b = $user | sort DisplayName | FT -AutoSize -HideTableHeaders | out-string write-host -foregroundcolor Yellow $b }
Verteilergruppen auflisten und Mitglieder anzeigen:
Get-DistributionGroup | Select DisplayName,Identity | sort DisplayName | FT -autosize $identity = Read-Host 'Geben Sie die Identität der Verteilergruppe ein' write-host -foregroundcolor Green "`nFolgende Benutzer sind im Verteiler ""$identity"" als Besitzer hinterlegt:" Get-DistributionGroup -Identity $identity | select-object -expandproperty ManagedBy | sort ManagedBy write-host -foregroundcolor Green "`nFolgende Benutzer sind im Verteiler ""$identity"" als Mitglied hinterlegt:" Get-DistributionGroupMember -Identity $identity | Select DisplayName | Sort DisplayName | FT -HideTableHeaders -AutoSize
Script um alle Gruppenmitgliedschaften eines Benutzers anzuzeigen:
do{ $UserName = Read-Host 'Geben Sie den Namen des Benutzers ein (z.B: mmuster)' $User = Get-User $UserName } until ($?) $owner = Get-Group | Where-Object {$_.ManagedBy -contains $User -and $_.RecipientTypeDetails -eq "GroupMailbox"} | select DisplayName $groups = Get-Group | Where-Object {$_.Members -contains $User -and $_.RecipientTypeDetails -eq "GroupMailbox"} | select DisplayName $dgroupmember = Get-Group | Where-Object {$_.Members -contains $User -and $_.RecipientTypeDetails -eq "MailUniversalDistributionGroup" -or $_.RecipientTypeDetails -eq "MailUniversalSecurityGroup"} | select DisplayName $dgroupowner = Get-DistributionGroup | Where {$_.ManagedBy -contains $User} | Select DisplayName, PrimarySmtpAddress write-host -foregroundcolor Green "`nDer Benutzer ""$User"" ist Mitglied folgender Gruppen:" $groups | sort DisplayName | FT -AutoSize -HideTableHeaders write-host -foregroundcolor Green "`nDer Benutzer ""$User"" ist Besitzer folgender Gruppen:" $owner | sort DisplayName | FT -AutoSize -HideTableHeaders write-host -foregroundcolor Green "`nDer Benutzer ""$User"" ist Mitglied folgender Verteilergruppen:" $dgroupmember | sort DisplayName | FT -AutoSize -HideTableHeaders write-host -foregroundcolor Green "`nDer Benutzer ""$User"" ist Besitzer folgender Verteilergruppen:" $dgroupowner | sort DisplayName | FT -AutoSize -HideTableHeaders write-host -foregroundcolor Green "`nDer Benutzer ""$User"" ist weiterhin in folgenden Gruppen Mitglied:" $securityGroup = Get-MsolGroup | where {$_.GroupType -eq "Security"} $list = foreach ($group in $securityGroup) { $members = Get-MsolGroupMember -GroupObjectId $group.ObjectId | where {$_.DisplayName -contains $User} foreach ($member in $members) { $group | select DisplayName, GroupType } } $list | sort DisplayName
Ein komplettes Script mit Auswahlmöglichkeiten zum experimentieren:
DOWNLOAD:
ManageGroups.ps1