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

[玩转系统] 使用 PowerShell 管理 Microsoft 365 用户、许可证和组

作者:精品下载站 日期:2024-12-14 08:28:19 浏览:14 分类:玩电脑

使用 PowerShell 管理 Microsoft 365 用户、许可证和组


通过 Microsoft 365 管理中心,您可以轻松管理 Microsoft 365 用户帐户和许可证。但在报告方面,管理中心提供的数据有限,自定义选项也较少。因此,有必要利用 Office 365 PowerShell 进行更多自定义和快速数据检索。

本博客列出了最常用的 15 个 Office 365 PowerShell cmdlet,供管理员管理其 Azure AD 用户、组和许可证。要从 Office 365 检索数据,首先,您需要连接到 Office 365 PowerShell。

连接到 Office 365 PowerShell:

要连接 Office 365,请运行以下 cmdlet。

Connect-MsolService

您可以将上述 cmdlet 用于 MFA 和非 MFA 管理员帐户。

注意:要使用“Connect-MsolService”cmdlet,您需要安装 MsOnline 模块。另外,您可以使用 PowerShell 脚本连接 Office 365 服务。

连接到 Office 365 PowerShell 后,您可以运行以下 cmdlet 来获取所需的报告。

获取 Microsoft 365 用户报告:

要查看所有用户帐户,您可以执行以下 cmdlet。

Get-MsolUser -All

输出看起来类似于下面的屏幕截图。

[玩转系统] 使用 PowerShell 管理 Microsoft 365 用户、许可证和组

默认情况下,“Get-MsolUser”cmdlet 仅显示 UPN、显示名称和许可证状态。要查看具有其他属性的用户,您可以使用带有所需属性的 Select cmdlet。下面是一个示例命令,显示每个用户帐户的显示名称、部门、许可证状态和使用位置。

Get-MsolUser -All| Select DisplayName,Department,IsLicensed,UsageLocation

上述 cmdlet 产生以下结果:

[玩转系统] 使用 PowerShell 管理 Microsoft 365 用户、许可证和组

要获取启用的用户帐户,

Get-MsolUser -EnabledFilter EnabledOnly -All

要查看分配给用户的管理员角色,

Get-MsolUserRole -UserPrincipalName [email protected]

上面的 cmdlet 列出了分配给 John 的管理员角色。

生成 Office 365 许可证报告:

要获得所有许可用户,

Get-MsolUser -All | Where-Object {$_.IsLicensed -eq $true} | ft

上述 cmdlet 生成的输出类似于下面的屏幕截图:

[玩转系统] 使用 PowerShell 管理 Microsoft 365 用户、许可证和组

如果您想生成详细的 Office 365 许可证报告,您可以参考我们之前的博客文章来列出用户及其分配的许可证。

要查看未经许可的用户,

Get-MsolUser -UnlicensedUsersOnly -All

为了识别具有特定许可计划的用户,

Get-MsolUser -All | Where-Object {($_.licenses).AccountSkuId -equal "ENTERPRISEPACK"} | ft

上述 cmdlet 有助于列出具有 E3 许可证计划的用户。

要获取租户中可用的 Microsoft 365 许可证及其状态的列表,

Get-MsolSubscription

此外,上述 cmdlet 显示 NextLifeCycleDate,有助于根据其当前状态识别许可证的到期日期、禁用日期和删除日期。

[玩转系统] 使用 PowerShell 管理 Microsoft 365 用户、许可证和组

您还可以使用我们预先构建的脚本生成 Office 365 许可证到期日期报告。

要识别许可证使用情况(即活动单位和已消耗单位)信息,

Get-MsolAccountSku

[玩转系统] 使用 PowerShell 管理 Microsoft 365 用户、许可证和组

生成 Office 365 组报告:

要查看组织中可用的所有组,请运行以下 cmdlet

Get-MsolGroup -All

[玩转系统] 使用 PowerShell 管理 Microsoft 365 用户、许可证和组

您还可以参考我们的脚本来列出 Office 365 组并将其导出为 CSV。

要列出租户中的所有通讯组,

Get-MsolGroup -All -GroupType DistributionList

要获取通讯组及其成员的详细信息,您可以参阅我们之前的博客文章。

要查看组织中的所有安全组,

Get-MsolGroup -All -GroupType Security

要检索特定组的成员,

Get-MsolGroupMember -GroupObjectID <ObjID> -All

上述 cmdlet 产生的结果如下:

[玩转系统] 使用 PowerShell 管理 Microsoft 365 用户、许可证和组

注意:MsolGroup cmdlet 不包括动态通讯组。要生成有关 DDL 组的报告,您可以参考我们的专用脚本来列出动态通讯组成员。

将 Microsoft 365 报告导出为 CSV:

要将 Microsoft 365 报告结果导出为 CSV,您需要将上述 cmdlet 与 Export-CSV cmdlet 结合使用。

例如,要导出具有特定参数的所有 Office 365 用户,

Get-MsolUser -All | Select DisplayName,Department,IsLicensed| Export-CSV -Path <File Path> -NoTypeInformation

导出的 CSV 文件类似于下面的屏幕截图:

[玩转系统] 使用 PowerShell 管理 Microsoft 365 用户、许可证和组

在网格视图中查看报告:

Out-GridView cmdlet 将输出发送到单独窗口中的交互式表格,您可以在其中自定义列、对行进行排序、过滤、复制和粘贴数据。

要在网格视图中查看 Office 365 用户报告,

Get-MsolUser -All | Out-GridView

[玩转系统] 使用 PowerShell 管理 Microsoft 365 用户、许可证和组

使用 PowerShell 生成报告的挑战:

PowerShell 最大的问题之一是,您需要使用不同的 cmdlet 来生成每个报告。如果您是 PowerShell 新手,那么很难确定正确的 cmdlet 来准备所需的 Microsoft 365 报告。

Microsoft 365 报告和审核工具 AdminDroid 来了。 AdminDroid 免费提供100 多个报告和一些仪表板,用于管理您组织的用户、许可证、订阅、许可证更改、组、组成员资格、成员资格更改、用户登录、密码更改等。

[玩转系统] 使用 PowerShell 管理 Microsoft 365 用户、许可证和组

[玩转系统] 使用 PowerShell 管理 Microsoft 365 用户、许可证和组

此外,AdminDroid 还针对各种 Office 365 服务(例如 Azure AD、Exchange Online、SharePoint Online、Microsoft Teams、One Drive 等)提供1500 多个预构建报告。 365 报告和审核需求,您可以尝试 AdminDroid 提供的 Microsoft 365 报告工具,看看它如何为您服务。

我希望此博客能够帮助您管理 Office 365 用户、许可证和组。如果您有任何疑问,可以在评论部分询问。

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

取消回复欢迎 发表评论:

关灯