Office 365 PowerShell 的报告方案

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

借助以下 PowerShell 方案来创建关于用户、通讯组和未使用邮箱的报告,并使用筛选和排序。

有关 Office 365 许可和非许可用户的报告

可使用 PowerShell 创建许可和非许可用户的列表,并将其显示在 PowerShell 窗口中或将其存储在文件中。

首先,需要使用用于 Windows PowerShell 的 Microsoft Azure Active Directory 模块连接到 Office 365。请参阅连接到 Office 365 PowerShell 中的说明。

使用此命令一次查看一个屏幕上的许可用户帐户:

Get-MsolUser | Where-Object {$_.isLicensed -eq $true} | More

若要将此列表导出为文本文件以便于浏览和搜索,请在双引号之间填写路径和文件名,删除说明文本和 < and > 字符。

$fileName="<path and name of a text file, example: c:\O365reports\LicensedUsers.txt>"
Get-MsolUser | Where {$_.isLicensed -eq $true} | Out-File  $fileName

从用于 Windows PowerShell 的 Microsoft Azure Active Directory 模块窗口运行生成的命令。

若要将此列表导出为 CSV 文件以导入 Microsoft Excel 进行详细分析,请填写路径和文件名,然后运行生成的命令。

$fileName="<path and name of a CSV file, example: c:\O365reports\LicensedUsers.csv>"
Get-MsolUser | Where-Object {$_.isLicensed -eq $true} | Export-Csv $fileName -NoTypeInformation

若要一次显示一个屏幕的非许可用户,请运行以下命令:

Get-MsolUser -UnlicensedUsersOnly | More

若要将此列表导出为文本文件以便于浏览和搜索,请填写路径和文件名,然后运行生成的命令。

$fileName="<path and name of a text file, example: c:\O365reports\Non-LicensedUsers.txt>"
Get-MsolUser -UnlicensedUsersOnly | Out-File  $fileName

若要将此列表导出为 CSV 文件以导入 Microsoft Excel 进行分析,请填写路径和文件名,然后运行生成的命令。

$fileName="<path and name of a CSV file, example: c:\O365reports\Non-licensedUsers.csv>"
Get-MsolUser -UnlicensedUsersOnly | Export-Csv $fileName -NoTypeInformation

有关 Office 365 通讯组的报表报告

通过电子邮件应用程序(如 Microsoft Outlook)在组织内部使用通讯组将电子邮件发送给用户集合。 此方案在 Office 365 订阅中创建通讯组列表。

首先,你需要连接到 Exchange Online。若要使用帐户用户名和密码连接到 Exchange Online,请参阅连接到 Exchange Online PowerShell。若要安装 Microsoft Exchange Online 远程 PowerShell 模块并使用 MFA 进行连接,请参阅使用多重身份验证连接到 Exchange Online PowerShell

使用此命令一次显示一个屏幕的现有通讯组列表。

Get-Recipient | Where { $_.RecipientType -eq "MailUniversalDistributionGroup"} | More

若要将此列表导出为文本文件以便于浏览和搜索,请填写路径和文件名,然后运行生成的命令。

$fileName="<path and name of a text file, example: c:\O365reports\DistGroups.txt>"
Get-Recipient | Where { $_.RecipientType -eq "MailUniversalDistributionGroup"} | Out-File  $fileName

若要将此列表导出为 CSV 文件以导入 Microsoft Excel 进行详细分析,请填写路径和文件名,然后运行生成的命令。

$fileName="<path and name of a CSV file, example: c:\O365reports\DistGroups.csv>"
Get-Recipient | Where { $_.RecipientType -eq "MailUniversalDistributionGroup"} | Export-Csv $fileName -NoTypeInformation

获取非活动 Exchange 邮箱列表

用户离开组织时,其邮箱可能保留下来,占用 Office 365订阅的存储空间。在此方案中,你会发现这些过时的邮箱,以便采取适当的措施将其删除。此方案演示如何列出至少 30 天未登录其邮箱的所有用户。

注意: 在某些情况下,该报告可能不会提供 LastLogin 日期,但始终会提供 DaysInactive 计数。 诉讼保留中的邮箱也可能出现在此报告中,但并不一定是需要清理或删除的邮箱。

首先,你需要连接到 Exchange Online。若要使用帐户用户名和密码连接到 Exchange Online,请参阅连接到 Exchange Online PowerShell。若要安装 Microsoft Exchange Online 远程 PowerShell 模块并使用 MFA 进行连接,请参阅使用多重身份验证连接到 Exchange Online PowerShell

此命令会显示至少 30 天处于非活动状态的用户的列表(一次一个屏幕)。

Get-StaleMailboxDetailReport | Sort UserName -Unique | Select TenantName, UserName, WindowsLiveID, LastLogin, DaysInactive | More

若要生成至少 30 天处于非活动状态的用户的列表并将其导出为 CSV 文件,请填写路径和文件名称,然后运行生成的命令。

$fileName="<path and name of a CSV file, example: c:\O365reports\StaleMailboxes.csv>"
Get-StaleMailboxDetailReport | Sort UserName -Unique | Select TenantName, UserName, WindowsLiveID, LastLogin, DaysInactive | Export-Csv $fileName -NoTypeInformation

使用筛选器和排序显示用户

可以使用 Where 命令筛选列表,使用 Sort 命令指定列表的顺序,使用 Select 命令指定要显示的属性集。

首先,需要使用用于 Windows PowerShell 的 Microsoft Azure Active Directory 模块连接到 Office 365。请参阅连接到 Office 365 PowerShell 中的说明。

例如,假设你需要销售部门的成员列表,并希望看到其用户主体名称 (UPN)、显示名称,无论是否被许可均按 UPN 进行排序:

  • 使用 Where 命令仅指定其 Department 属性被设置为“Sales”的用户帐户。

  • 使用 Sort 命令按 UserPrincipalName 属性进行排序。

  • 使用 Select 命令指定 UserPrincipalName、DisplayName 和 isLicensed 属性。

  • 最后,使用 More 命令一次显示一个屏幕的列表。

以下为生成的命令:

Get-MsolUser | Where { $_.Department -eq "Sales" } | Sort UserPrincipalName | Select UserPrincipalName,DisplayName,isLicensed | More

现在假设你需要列出销售和营销部门的所有成员。这种情况下,可扩展 Where 命令的条件以包含两个部门,并将 Department 属性添加到 Select 命令。以下为生成的命令:

Get-MsolUser | Where { $_.Department -eq "Sales" -or $_.Department -eq "Marketing" } | Select UserPrincipalName,DisplayName,isLicensed,Department | More

注意: 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

另请参阅

适用于 Office 365 管理员的 PowerShell

Office 365 PowerShell 方案

Office 365 PowerShell 的设置方案

Office 365 PowerShell 的用户管理方案

Office 365 PowerShell 的更多功能方案

Office 365 PowerShell 社区资源

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×