Weboldal keresés

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" -NoTypeInformation

A 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:

Kapcsolódó cikkek