Exportálja az összes Office 365 felhasználót és licencet a Microsoft Graph PowerShell segítségével
Ebben az oktatóanyagban bemutatom, hogyan használhatja a Microsoft Graph PowerShell-szkriptet az összes felhasználó listájának és licencadatainak CSV-fájlba exportálásához.
Ez hasznos, mivel jelenleg a Microsoft 365 felügyeleti portál nem biztosítja a feladat végrehajtásához szükséges funkciókat. Hol érheti el a kívánt eredményt ezzel a szkripttel.
Előfeltételek
Az összes felhasználó exportálásához szükséges parancsfájl futtatásához telepítenie kell a Microsoft Graph PowerShell modult. Tekintse meg itt az oktatóanyagomat a Microsoft Graph PowerShell modul telepítéséhez.
Hozzá kell férnie egy globális rendszergazdai fiókhoz is, hogy csatlakozáskor delegálja a szükséges engedélyeket a Microsoft Graph PowerShell számára.
Exportálja az összes Office 365-felhasználót és a licencadatokat a Microsoft Graph PowerShell segítségével
A szkript a Get-MgUser parancsmagot használja, amely a Microsoft.Graph.Users PowerShell modulban található, és a User.Read.All segítségével hívható meg. engedélyt. Ha többet szeretne megtudni a Get-MgUser parancsmagról, tekintse meg oktatóanyagomat: A Get-MgUser használata a Microsoft Graph PowerShell programmal
Az összes felhasználót és licenceiket tartalmazó jelentés létrehozásához kövesse az alábbi lépéseket:
1. Nyisson meg egy szövegszerkesztőt.
2. Másolja és illessze be az alábbi kódot a szövegszerkesztőbe.
3. Szerkessze az utolsó kódsort a jelentés helyének módosításához: „C:\temp\licensedusers.csv”.
4. Másolja és illessze be a teljes szkriptet közvetlenül a PowerShellbe.
5. Amikor a rendszer kéri, jelentkezzen be az interaktív bejelentkezési ablakba globális rendszergazdai hitelesítő adataival, és fogadja el a delegált engedélyeket.
Import-Module Microsoft.Graph.Users, Microsoft.Graph.Identity.DirectoryManagement
Connect-MgGraph -Scope User.read.all, DeviceManagementConfiguration.Read.All
$CompanyName = (Get-MgOrganization | Select VerifiedDomains).verifieddomains | Where-Object {$_.IsDefault -eq "True"}
$Users = Get-MgUser -all
$Report = [System.Collections.Generic.List[Object]]::new()
Write-host "Found $($users.count) users for $($CompanyName.Name)" -ForegroundColor Cyan
ForEach ($user in $Users) {
Write-Host "Retrieving license info for $($User.DisplayName)" -ForegroundColor yellow
If (Get-MgUserLicenseDetail -USerId $User.id) {
$licenses = $null
$licenses = (Get-MgUserLicenseDetail -UserId $User.id).SkuPartNumber -join ", "
Write-Host "Licenses found for $($User.DisplayName): $licenses" -ForegroundColor cyan
$obj = [pscustomobject][ordered]@{
DisplayName = $user.DisplayName
UserPrincipalName = $user.UserPrincipalName
Licenses = $licenses
}
$report.Add($obj)
} else {
Write-Host "No licenses found for $($User.DisplayName)" -ForegroundColor Red
}
}
$report | Export-CSV "C:\temp\licensedusers.csv" -NoTypeInformationA szkript futtatása után meg kell találnia a .csv fájlt a szkriptben meghatározott területen. Ha a szkriptet alapértelmezettként hagytad, akkor a C:\temp fájlban találod.
A felhasználói jelentés megnyitása után a következőképpen fog kinézni:

