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

[玩转系统] 如何使用 Get-MsolUser 在 Microsoft 365 中创建用户报告

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

如何使用 Get-MsolUser 在 Microsoft 365 中创建用户报告


Get-MsolUser cmdlet 是 MSOnline PowerShell 模块的一部分,用于通过命令行界面管理 Microsoft 365 环境。 Get-MsolUser 可用于详细说明组织中用户的特定信息或报告一组用户。

在这篇文章中,我将向您展示如何使用 cmdlet 获取有关用户的特定信息,以及如何创建有关多个用户的有用报告。它还可以合并到更大的脚本中,以创建用户数组或变量,然后可以对其进行操作,例如向每个邮箱添加别名或向每个用户分配 Microsoft 许可证。

先决条件

为了使用 Get-MsolUser cmdlet,您需要确保运行的是 PowerShell 版本 6 或更早版本并安装了 MSOnline 模块。如果您没有安装 MSOnline PowerShell 模块或收到错误,请按照我的指南如何修复术语“Connect-MsolService”无法识别

PowerShell v7 目前不支持 MSOnline 模块。

使用 Get-MsolUser cmdlet 获取有关特定用户的信息

如果您不确定要定位的用户,可以单独运行 Get-MsolUser cmdlet,它将返回您组织中的用户列表。从这里,您可以从显示名称或用户主体名称中识别您想要定位的用户。

[玩转系统] 如何使用 Get-MsolUser 在 Microsoft 365 中创建用户报告

现在您知道了要定位的用户的 UserPrincipalName,您可以使用以下命令来获取该用户的基本信息:

get-msoluser -UserprincipalName [email 

从以下输出中您可以看到仅返回基本信息,例如用户主体名称、显示名称以及用户是否获得许可:

[玩转系统] 如何使用 Get-MsolUser 在 Microsoft 365 中创建用户报告

通常,您会寻找有关特定用户的更详细信息。要了解更多信息,我们可以将带有格式列表参数的管道“|”添加到我们的命令中,以返回有关用户的所有信息的列表。

get-msoluser -UserprincipalName [email  | FL

现在,您将看到返回的一长串所选用户帐户的属性和值。我不会在这里粘贴示例,因为它太长了。

您可以使用选择参数指定您感兴趣的信息,而不是默认列出有关用户的所有信息。通过以下命令,我选择了一些有用的信息来收集有关我们用户的信息。

get-msoluser -UserprincipalName [email  |`
select DisplayName, UserPrincipalName, UsageLocation,`
UserType, WhenCreated

我们的命令的输出如下所示:

[玩转系统] 如何使用 Get-MsolUser 在 Microsoft 365 中创建用户报告

最后,在某些情况下,您可能希望将该信息导出到 CSV 以便对其进行操作,甚至上传到另一个系统。您可以使用以下命令来执行此操作。

get-msoluser -UserprincipalName [email  |`
select DisplayName, UserPrincipalName, UsageLocation, UserType, WhenCreated |`
Export-CSV -NoTypeInformation -path C:\temp\userinfo2.csv

对于上述脚本,csv 文件将保存在 C:\Temp\ 中,文件名为 userinfo2.csv

[玩转系统] 如何使用 Get-MsolUser 在 Microsoft 365 中创建用户报告

如何使用 Get-MsolUser 报告多个用户

要使用 Get-MsolUser 命令生成有关我们组织 Microsoft 365 租户中多个用户的报告,我们可以在上面所做的基础上进行构建。

我们可以使用以下命令列出租户中的所有用户,并且仅列出每个用户的特定信息:

get-msoluser | select DisplayName, UserPrincipalName, UsageLocation, UserType, IsLicensed

这是输出,您可以看到每个用户都有一个部分,其中包含我们选择的相应信息:

[玩转系统] 如何使用 Get-MsolUser 在 Microsoft 365 中创建用户报告

与上面类似,我们还可以使用 Export-CSV cmdlet 将此信息导出到可以对其进行操作的 CSV 中:

get-msoluser | select DisplayName, UserPrincipalName, UsageLocation, UserType, IsLicensed | `
Export-CSV -NoTypeInformation -path C:\temp\userinfo2.csv

将信息导出到 CSV 后,输出如下所示:

[玩转系统] 如何使用 Get-MsolUser 在 Microsoft 365 中创建用户报告

如果我们只想定位特定用户,我们可以调整命令来搜索特定属性和属性中的特定单词。

例如,如果我们想要列出所有没有设置使用位置的用户,我们可以使用以下脚本来搜索使用位置属性为空(或空)的用户:

get-msoluser | ? {$_.UsageLocation -ne $null} |`
select DisplayName, UserPrincipalName, UsageLocation, UserType, IsLicensed | `
Export-CSV -NoTypeInformation -path C:\temp\userinfo2.csv

从下面您可以看到,我们的 CSV 报告现在仅列出没有设置使用位置的用户。

[玩转系统] 如何使用 Get-MsolUser 在 Microsoft 365 中创建用户报告

以上内容可以根据您的需要进行调整。例如,您可以使用各种运算符来代替 -ne(不等于),例如:

  • -eq(完全等于)
  • -like (匹配通配符模式)
  • -notlike(与通配符模式不匹配)
  • -gt(大于指定值)
  • -ge(大于或等于指定值)
  • -lt(小于指定值)
  • -le 小于或等于指定值)

您还可以在搜索查询中使用逻辑运算符,例如 ANDOR。这是另一个很好的示例,我们查找所有未设置使用位置且显示名称包含“信息”的帐户:

get-msoluser | ? {$_.UsageLocation -eq $null -and $_.DisplayName -like "Info"} |`
select DisplayName, UserPrincipalName, UsageLocation, UserType, IsLicensed | `
Export-CSV -NoTypeInformation -path C:\temp\userinfo2.csv

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

取消回复欢迎 发表评论:

关灯