Az összes felhasználó és csoporttagság jelentése a Microsoft Graph PowerShell segítségével
Ha csak egyetlen felhasználót kell kiderítenie, nagyon egyszerű azonosítani, hogy a felhasználó mely csoportoknak a tagja rendszergazdaként. A Microsoft Entrában egyszerűen megkeresheti a célfelhasználót, és kattintson a Csoportok fülre. Az adminisztrációs portál használata azonban nem mindig előnyös, különösen akkor, ha gyakran kell utánanéznie ezeknek az információknak, vagy meg kell találnia minden felhasználó csoporttagságát.
Ebben az oktatóanyagban megmutatom, hogyan használhatja a Microsoft Graph PowerShell-t, hogy jelentést készítsen az összes felhasználói csoporttagságról.
A Get-MgUserMemberOfAsGroup névjegye
A Get-MgUserMemberOfAsGroup parancsmag segítségével megtudhatja, hogy a felhasználó mely csoportoknak a tagja. Ez hasznos lehet a hozzáférés-alapú problémák elhárítása során, vagy ha arra kérik, hogy készítsen tagsági jelentést egyetlen személyhez. vagy a szervezet összes felhasználója.
A parancsmag a Microsoft.Graph.Users modulok része, és mint ilyen, gondoskodnia kell arról, hogy a Microsoft Graph PowerShell modulok legfrissebb verziója legyen telepítve. A modul telepítésével kapcsolatos részletekért kövesse a A Microsoft Graph PowerShell modul telepítése című oktatóanyagomat.
Erről a parancsmagról az alábbiakban talál további információkat:
- Név: Get-MgUserMemberOfAsGroup
- Módszer: GET
- URI: https://graph.microsoft.com/v1.0/users/{user-id}/memberOf/group
- Kimenet típusa: Objektum
- Engedélyek: User.Read.All, Directory.Read.All
Keresse meg az összes csoportot, amelynek egy felhasználó tagja
Az alábbi kód segítségével lekérheti azon csoportok listáját, amelyeknek egyetlen felhasználó tagja. Győződjön meg róla, hogy módosítja a -UserId mezőt a célfelhasználó felhasználónevével.
Connect-MgGraph -Scopes user.read.all, directory.read.all
Get-MgUserMemberOfAsGroup -UserId [email A fenti parancsok eredménye a következőképpen fog kinézni:
Jelentse az összes felhasználót és csoporttagságot a Microsoft Graph PowerShell segítségével
Kibővíthetjük utolsó parancsunkat, hogy jelentést készítsünk az összes felhasználóról és csoporttagságukról a Microsoft 365 bérlőnkben. Ehhez a ForEach paranccsal körbejárjuk az egyes felhasználókat, és hozzáadjuk ezeket az információkat egy tömbhöz. A tömb ezután CSV-fájlba lesz exportálva.
Ha további részleteket szeretne megtudni arról, hogyan hozhat létre saját egyéni jelentéseket a ForEach hurkok használatával, tekintse meg a Powershell Foreach ciklus használata példákkal című oktatóanyagomat.
Connect-MgGraph -Scopes user.read.all, directory.read.all
$users = Get-MgBetaUser -All
$Report = [System.Collections.Generic.List[Object]]::new()
ForEach ($user in $users){
$groups = $null
$groups = Get-MgUserMemberOfAsGroup -UserId $user.UserPrincipalName
ForEach ($group in $groups){
$obj = [PSCustomObject][ordered]@{
"User" = $User.UserPrincipalName
"Group Name" = $group.DisplayName
"Is M365 Group" = $(if ($group.GroupTypes -match 'Unified'){"Yes"}Else{"No"})
"Membership Type" = $(if ($group.GroupTypes -match 'DynamicMembership'){"Dynamic"}Else{"Assigned"})
"Security Enabled" = $group.SecurityEnabled
"Mail Enabled" = $group.MailEnabled
"Mail Address" = $(if ($Group.mail -eq $Null){"N/A"}Else{$group.mail})
}
$report.Add($obj)
}
}
$report | Export-csv -path C:\temp\UserGroupMemberReport.csv