当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 Microsoft Graph PowerShell 导出所有 Office 365 用户和许可证

作者:精品下载站 日期:2024-12-14 06:48:01 浏览:15 分类:玩电脑

使用 Microsoft Graph PowerShell 导出所有 Office 365 用户和许可证


在本教程中,我将向您展示如何使用 Microsoft Graph PowerShell 脚本将所有用户及其许可证详细信息的列表导出到 CSV 文件。

这很有用,因为目前 Microsoft 365 管理门户不提供执行此任务的功能。您可以使用此脚本获得所需的结果。

先决条件

为了能够运行脚本来导出所有用户,您需要安装 Microsoft Graph PowerShell 模块。请参阅我的教程,了解如何安装 Microsoft Graph PowerShell 模块

您还应该有权访问全局管理员帐户,以便在连接时将所需的权限委派给 Microsoft Graph PowerShell。

使用 Microsoft Graph PowerShell 导出所有 Office 365 用户和许可证详细信息

该脚本利用 Get-MgUser cmdlet,该 cmdlet 可以在 Microsoft.Graph.Users PowerShell 模块中找到,并且可以使用 User.Read.All 调用 许可。要了解有关 Get-MgUser cmdlet 的更多信息,请查看我的教程:如何将 Get-MgUser 与 Microsoft Graph PowerShell 结合使用

要创建包含所有用户及其许可证的报告,请按照以下步骤操作:

1. 打开文本编辑器。

2. 将以下代码复制并粘贴到文本编辑器中。

3. 编辑最后一行代码以更改报告的位置:“C:\temp\licensedusers.csv”。

4. 将完整的脚本直接复制并粘贴到 PowerShell 中。

5. 出现提示时,使用您的全局管理员凭据登录交互式登录提示并接受委派的权限。

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

运行脚本后,您应该会在脚本中定义的区域中找到 .csv 文件。如果您将脚本保留为默认值,您将在 C:\temp 中找到它。

[玩转系统] 使用 Microsoft Graph PowerShell 导出所有 Office 365 用户和许可证

打开后,您的用户报告将如下所示:

[玩转系统] 使用 Microsoft Graph PowerShell 导出所有 Office 365 用户和许可证

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯