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