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

[玩转系统] 如何在 Microsoft Graph PowerShell 中使用 Get-MgUser?

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

如何在 Microsoft Graph PowerShell 中使用 Get-MgUser?


[玩转系统] 如何在 Microsoft Graph PowerShell 中使用 Get-MgUser?

Microsoft Graph PowerShell 中的 Get-MgUser 命令专门用于检索 Microsoft 365 租户中存储在 Azure Active Directory (Microsoft Entra) 中的用户信息。在 Azure AD 中管理用户是管理员的一项重要任务。因此,了解 Get-MgUser cmdlet 对于通过 PowerShell 管理 Microsoft Graph 中的用户数据至关重要。此命令可帮助您高效地检索用户属性和关系,并提供各种参数(例如 filterpropertysearch)来微调您的数据检索流程。在这篇综合文章中,我将指导您完成使用 Get-MgUser 检索 Azure AD 用户信息的过程(从基本用法到高级用法),并提供提示。

了解 Get-MgUser 命令

为了开始进入 Get-MgUser 的世界,我们首先了解一下这个命令的作用。 Get-MgUser 是一个 PowerShell cmdlet,可让你检索有关 Microsoft 365 中用户的信息。无论你需要查找特定用户属性、根据特定条件筛选用户还是检索许可证,Get-MgUser 都能满足你的需求。

要开始使用 Get-MgUser,您需要使用适当的凭据从 PowerShell 通过 Microsoft Graph 连接到 Microsoft 365 环境。连接后,您可以运行 Get-MgUser 命令,后跟各种参数来根据您的特定需求定制结果。无论您是初学者还是经验丰富的 PowerShell 用户,本文都将帮助您了解如何有效地使用 Get-MgUser。

安装 Microsoft Graph PowerShell 模块

在深入了解使用 PowerShell 的 Microsoft Graph 世界之前,安装 Microsoft Graph PowerShell 模块是关键的第一步。该模块是 Microsoft Graph API 的综合包装器,取代了旧的 Azure AD 模块,提供了一种与所有 Microsoft 服务交互的简化且高效的方式。这是一个简单的入门指南:

要检查 Microsoft Graph 模块是否已安装,请使用 Get-InstalledModule cmdlet:


Get-InstalledModule Microsoft.Graph

[玩转系统] 如何在 Microsoft Graph PowerShell 中使用 Get-MgUser?

安装先决条件

  • 确保您的系统上安装了最新版本的 PowerShell。 Microsoft Graph PowerShell 模块支持 Windows PowerShell 5.1 和 PowerShell 7。
  • 验证您是否具有 Azure AD (Microsoft Entra) 的管理员访问权限。这对于执行 Get-MgUser 命令而不会面临“权限不足”错误至关重要。

安装步骤

要安装适用于 Windows 的 Microsoft Graph PowerShell 模块,请按照以下步骤操作:

  • 以管理员身份打开 PowerShell 控制台或 Windows 终端。
  • 运行命令:Install-Module Microsoft.Graph -Scope CurrentUser。这将为当前用户安装模块,避免系统范围内的更改。
  • 如果出现提示,请接受不受信任的存储库以继续安装。

此命令将从 PowerShell 库下载并安装最新版本的 Microsoft Graph PowerShell 模块。

可选 Beta 版本:要访问最新功能和 cmdlet,可以使用以下命令安装 Beta 版本:Install-Module Microsoft.Graph.Beta -Scope CurrentUser

Microsoft Graph PowerShell 模块有助于采用统一的方法来管理 Microsoft 云服务,并支持跨多个平台的现代身份验证方法。其开源特性和定期更新确保了与最新 Graph API 更改的兼容性,使其成为管理员和开发人员的必备工具。

使用 PowerShell 连接到 Microsoft Graph

使用 PowerShell 连接到 Microsoft Graph 是一个简单的过程,但需要仔细注意权限和范围,以确保您拥有执行预期任务所需的访问权限。以下是建立专为委托访问方法和仅应用程序访问方法量身定制的连接的分步指南。

委托访问连接

  1. 确定所需权限:使用 Find-MgGraphPermissionFind-MgGraphCommand cmdlet 确定任务所需的权限。用户管理的常见范围包括用于读取用户配置文件的 User.Read.All 和用于访问审核日志的 AuditLog.Read.All
  2. 连接到 Microsoft Graph:在 PowerShell 中执行 Connect-MgGraph -Scopes "User.Read.All", "AuditLog.Read.All"
  3. 验证连接:运行测试命令Get-MgUser以确认成功连接并访问租户中的用户帐户。
  4. 如果这是您第一次连接,则会提示权限请求窗口。授予管理员同意才能继续。

使用 Azure 应用程序 ID 的仅应用程序访问连接

若要使用仅应用程序访问连接连接到 Microsoft Graph,您需要在 Microsoft Entra 管理中心注册应用程序并关联客户端密钥(应用程序密码)、证书或联合身份凭据。然后在应用程序上配置 Microsoft Graph 应用程序权限。更多信息请参见:如何使用 PowerShell 连接到 Microsoft Graph?

通过仅应用程序访问,您可以在没有登录用户的情况下执行操作,这非常适合自动化脚本和后端服务。

其他提示

  • 切换 API 版本:要访问最新功能或 Beta 命令,请使用 Select-MgProfile -Name Beta 切换到 Beta 版本。
  • 权限范围:始终验证操作所需的权限范围(User.Read.AllGroup.ReadWrite.All)。这些权限通常需要具有应用程序管理员、云应用程序管理员或全局管理员角色的帐户。
  • 断开连接:请记住在任务完成后断开会话,使用 Disconnect-MgGraph 来维护安全。

通过遵循这些步骤和提示,您可以使用 PowerShell 有效连接到 Microsoft Graph,从而使您能够精确高效地管理 Microsoft 365 服务和数据。无论您是使用委派访问权限来执行特定于用户的操作,还是仅使用应用程序访问权限来执行更广泛的应用程序驱动的任务,了解连接过程和所需的权限是充分利用 Microsoft Graph 功能的关键。

现在我们对 Get-MgUser 有了基本的了解,让我们看一些如何使用此命令有效检索用户信息的实际示例。

使用 Get-MgUser cmdlet 检索单个用户详细信息

使用 Get-MgUser cmdlet 检索 Microsoft Graph 中单个用户的详细信息是一个简单的过程,可以根据您的要求进行定制以提取特定用户信息。以下是如何有效地利用此 cmdlet 来收集有关单个用户的详细信息:

基本用户检索

要获取有关单个用户的基本信息,您可以使用带有用户 ID 或 UserPrincipalName 的 -UserId 参数。例如:


Get-MgUser -UserId [email protected]

此命令获取用户的基本详细信息,例如 ID、显示名称、电子邮件地址和用户主体名称。您还可以将用户的对象 ID 传递给此 cmdlet。

扩展用户信息

您可以使用 -ExpandProperty 参数获取更详细的信息,包括用户的经理或直接下属等关系。例如,要检索用户的经理详细信息,请执行:


Get-MgUser -UserId "[email protected]" -ExpandProperty Manager | Select-Object @{Name = 'Manager'; Expression = {$_.Manager.AdditionalProperties.mail}}

同样,要获取用户的直接下属列表:


Get-MgUser -UserId [email protected] -ExpandProperty directReports | Select-Object @{Name = 'DirectReports'; Expression = {$_.directReports.AdditionalProperties.mail}}

定制数据检索

Get-MgUser cmdlet 在可检索的数据方面提供了灵活性。通过使用 -Property-Filter 等参数,您可以根据您的特定需求定制输出。

选择特定属性

默认情况下,Get-MgUser 为每个用户检索一组有限的属性。但是,在某些情况下您可能需要访问其他属性。幸运的是,Get-MgUser 允许您扩展结果以包括所有可用的属性。要检索每个用户的所有属性,您可以使用 -Property 参数。例如:

要获取用户的部门和办公室位置,您可以使用:


Get-MgUser -UserId [email protected] -Property DisplayName, mail,department | Select-Object DisplayName, Mail, Department

要获取用户对象的所有可用属性,您可以使用 get-member cmdlet:


Get-Mguser | Get-Member -MemberType Property

此命令将返回 Microsoft 365 环境中每个用户的所有可用属性。

过滤用户-Filter 参数使您能够根据部门或职位等特定条件查找用户。虽然这更常用于列出多个用户,但当您知道用户的部分信息时,它也很方便。例如,要查找特定部门的用户:


Get-MgUser -Filter "department eq 'Sales'" -All

选择特定属性:您可能并不总是需要默认提供的所有信息。要仅检索显示名称邮件等特定属性,请使用Select-Object cmdlet。例如:


Get-MgUser | Select-Object DisplayName, Mail

此命令过滤输出以仅包含用户的显示名称和电子邮件地址。

Get-MgUser cmdlet 的命令和参数不仅有助于从 Azure Active Directory (Azure AD) 检索各种用户信息,而且还强调了 cmdlet 在处理各种用户管理任务方面的多功能性。通过了解和使用这些选项,您可以在 Microsoft 365 环境中高效管理用户数据,确保您能够根据需要访问最相关和最新的信息。

获取所有 Microsoft 365 用户的列表

检索有关 Microsoft Entra ID 和 Microsoft 365 环境中所有用户的信息是管理员的一项关键任务。 Get-MgUser cmdlet 是 Microsoft Graph PowerShell SDK 的一个组件,它通过提供一系列专为全面用户管理定制的参数来简化此过程。以下是如何利用 Get-MgUser 有效检索所有用户的信息:

检索所有用户的基本命令

默认情况下,Get-MgUser cmdlet 仅返回前 100 个结果。要列出 Azure Active Directory 中的每个用户,请将 -All 参数与 Get-MgUser cmdlet 结合使用。此命令将对所有用户进行分页,确保您检索每个帐户:


Get-MgUser -All

此命令将返回租户中所有用户的列表及其基本属性。

[玩转系统] 如何在 Microsoft Graph PowerShell 中使用 Get-MgUser?

要获得更详细的视图,包括 ID、DisplayName、Mail 和 UserPrincipalName,您可以格式化输出:


Get-MgUser -All | Format-List ID, DisplayName, Mail, UserPrincipalName

根据属性对用户进行过滤和排序

虽然 Get-MgUser 的基本过滤选项很强大,但在某些情况下您可能需要更高级的过滤功能。值得庆幸的是,Get-MgUser 提供了额外的参数来帮助您优化查询。您可以使用 eq(等于)、ne(不等于)、gt 等运算符应用 -Filter 参数(大于)、ge(大于或等于)、lt(小于)和 le(小于或等于)和 startsWith 根据特定条件缩小用户列表范围。

假设您只想根据某些属性(例如他们所属的部门)检索特定的用户子集。您可以使用 -Filter 参数来实现此目的。例如:


Get-MgUser -Filter "Department eq 'Marketing'"

此命令将返回部门设置为“营销”的所有用户。

[玩转系统] 如何在 Microsoft Graph PowerShell 中使用 Get-MgUser?

让我们看一些如何从 Azure Active Directory 过滤用户的更多示例:

要列出除访客之外的所有云用户,您可以应用过滤器:


Get-MgUser -Filter "UserType eq 'Member'" -All

要检索本地同步用户并按显示名称对它们进行排序:


Get-MgUser -Filter "OnPremisesSyncEnabled eq true" -All | Sort-Object DisplayName

让我们过滤过去 30 天内创建的所有用户:


 Get-MgUser -Filter "CreatedDateTime ge $((Get-Date).AddDays(-30).ToString("s"))Z" -All

您可以使用 AND、OR 逻辑运算符组合多个条件:


Get-MgUser -Filter "Country eq 'Canada' and Department eq 'Sales'"

以下是在高级查询中使用 AND 运算符的另一个示例:


Get-MgUser -Filter "(accountEnabled eq true) and (startswith(Department,'Sales'))"

还支持其他比较运算符 StartsWithEndsWithNE


Get-MgUser -Filter "startsWith(mail,'steve')" -All -ConsistencyLevel Eventual

除了使用 Filter 参数之外,您还可以使用Where-Object cmdlet 来过滤用户配置文件(顺便说一句,效率较低!):


Get-MgUser -All | Where-Object {$_.DisplayName -like "*sam*"}

您可以构建详细且特定的搜索,以从目录中提取所需的用户信息的确切子集。这对于生成报告、自动执行用户管理任务或与其他脚本和服务集成特别有用。

按用户主体名称过滤

如果您想根据 UserPrincipalName 过滤用户,可以将 -Filter 参数与 UserPrincipalName 属性一起使用。例如:


Get-MgUser -Filter "UserPrincipalName eq '[email protected]'"

此命令将返回具有指定 UserPrincipalName 的用户。

按帐户状态过滤用户

为了有效管理 Microsoft 365 环境中的用户帐户(特别是帐户状态),Get-MgUser cmdlet 提供了强大的筛选功能。以下是如何使用这些功能来过滤和检索用户帐户状态:

检索帐户状态

首先使用 -Property 参数包含 AccountEnabled 属性。此操作允许您查看帐户是启用还是禁用。


Get-MgUser -all -Property Id, DisplayName, UserPrincipalName, AccountEnabled | Select-Object Id, DisplayName, UserPrincipalName, AccountEnabled

[玩转系统] 如何在 Microsoft Graph PowerShell 中使用 Get-MgUser?

根据帐户状态进行过滤

当您打算根据帐户状态列出用户时,-Filter 参数非常有用。无论您是要识别启用还是禁用的帐户,此参数与 accountEnabled 属性相结合都可以让操作变得简单。例如,要仅检索启用的用户:


Get-MgUser -Filter "accountEnabled eq true" -All

列出禁用用户:


Get-MgUser -Filter "accountEnabled eq false"

请记住使用 eq(等于)、andorstartswith 等运算符来进行更复杂的查询,确保过滤器查询用双引号括起来,字符串值用单引号括起来。

要检查特定用户的帐户状态,请使用:


Get-MgUser -UserId "[email protected]" -Property DisplayName, UserPrincipalName, AccountEnabled | Select-Object DisplayName, UserPrincipalName, AccountEnabled

使用 Get-MgUser 的 -Search 参数搜索 Azure AD

-Search 参数对于通过关键字查找用户特别有用,从而增强查询的特异性。

对于更细致的搜索,-Search 参数可以与 ConsistencyLevel eventual 选项结合使用。当您根据无法通过 -Filter 参数直接访问的特定属性查找用户时,此方法非常有用。


 Get-MgUser -Search "DisplayName:sam" -ConsistencyLevel Eventual

通过利用这些命令和参数,您可以全面了解和控制组织内的用户帐户状态。此功能对于日常审核、确保合规性和有效管理用户访问至关重要。

获取经理信息

要获取 Microsoft 365 环境中用户的经理信息,请利用 Get-MgUser cmdlet,您可以展开“Manager”属性。此 cmdlet 使您能够获取用户的经理详细信息,包括姓名、显示名称和电子邮件地址,这对于组织结构和通信流分析至关重要。以下是有效使用此 cmdlet 的方法:

使用 -UserId 参数指定用户。例如:


Get-MgUser -UserId "[email protected]" -ExpandProperty Manager | Select-Object @{Name = 'Manager'; Expression = { $_.Manager.AdditionalProperties.displayName} }

此命令获取分配给 -UserId 指定的用户的经理详细信息。

检索所有用户的管理员

要获取所有用户的管理员信息,您可以将命令链接在一起。从 Get-MgUser -All 开始列出所有用户,然后使用自定义表达式将结果通过管道传输到 Select-Object 以提取经理详细信息。例如:


Get-MgUser -All -ExpandProperty Manager | Select-Object Id, UserPrincipalName, @{Name = 'Manager'; Expression = { $_.Manager.AdditionalProperties.mail } }

该命令有效地列出了所有用户及其经理的电子邮件,展示了 PowerShell 处理批量数据操作的强大功能。

通过使用上述脚本,您可以熟练地管理和分析组织内的经理与用户关系,从而提高监督和运营效率。

列出许可和未许可用户

Get-MgUser 还允许您获取 Microsoft 365 环境中的用户的许可证。例如,如果您想要检索已分配许可证的用户列表,您可以使用属性 AssignedLicenses 进行过滤。这是一个例子:


Get-MgUser -Filter 'assignedLicenses/$count ne 0' -ConsistencyLevel eventual -CountVariable licensedUserCount -All -Property UserPrincipalName, DisplayName,AssignedLicenses | Format-Table -Property UserPrincipalName,DisplayName,AssignedLicenses

识别和管理 Microsoft 365 环境中的许可和未许可用户是管理的一个重要方面。 Get-MgUser cmdlet 提供强大的过滤功能来区分这些用户类型。以下是有效列出所有未经许可的用户的方法:


Get-MgUser -Filter 'assignedLicenses/$count eq 0' -ConsistencyLevel eventual -CountVariable unlicensedUserCount -All

这针对的是尚未分配任何许可证的用户。

获取分配给特定用户的许可证

对于用户的特定许可证详细信息,可以将 Get-MgUserLicenseDetail cmdlet 与用户 ID 结合使用来获取全面的许可证分配信息。


Get-MgUserLicenseDetail -UserId "[email protected]"

通过使用这些命令,管理员可以在其 Microsoft 365 环境中高效管理用户许可证,确保资源得到适当分配并满足合规性要求。此过程有助于审核以及规划许可证采购和优化策略。

确定用户的登录活动

确定用户的登录活动是监视和保护 Microsoft 365 环境的一个关键方面。可通过 Microsoft Graph Beta API 访问的 SignInActivity 属性提供有关上次成功交互式登录 Azure AD 的宝贵见解。下面介绍了如何使用 PowerShell 利用此属性:

切换到 Beta API

SignInActivity 属性在 v1.0 API 中不可用,需要切换到 Beta 版本。您可以使用“Select-MgProfile”cmdlet 来实现此目的,该 cmdlet 将您的 PowerShell 会话设置为使用 Beta API,确保您可以访问最新的功能和属性,包括 SignInActivity

检索登录活动

使用 Get-MgUser Cmdlet:要获取特定用户的 SignInActivity-UserId 参数必须与用户的 Azure AD GUID 一起提供。该命令看起来像这样:


Connect-MgGraph -Scopes "User.Read.All", "AuditLog.Read.All"

#Switch the Microsoft Graph profile to BETA
Select-MgProfile -Name "beta"

#Get the User
$User =  Get-MgUser -UserId "[email protected]"

#Get the sign in Activity of the user
Get-MgUser -UserId $User.ID -Property SignInActivity | Select-Object -ExpandProperty SignInActivity

访问其他属性

检索到包含 SignInActivity 属性的用户对象后,可以通过其他属性访问登录活动。此方法可以更深入地了解用户行为:


$UserSigninActivity = Get-MgUser -UserId $User.ID -Property SignInActivity,LastPasswordChangeDateTime

#Get the Signin Acvivity: LastSignInDateTime, LastNonInteractiveSignInDateTime
$UserSigninActivity.SignInActivity

#Get the past passwor change date
$UserSigninActivity.LastPasswordChangeDateTime

请务必注意,详细说明上次成功登录时间的 LastSignInDateTime 属性只能通过 Beta API 获取。自 2021 年 3 月 3 日解决其显示问题以来,该属性的可用性一直保持一致。

获取所有用户的上次登录日期


Get-MgUser -All -Property Id, UserPrincipalName, DisplayName, SignInActivity | Select-Object Id, UserPrincipalName, DisplayName, @{Name = 'LastSignInDateTime'; Expression = { $_.SignInActivity.LastSignInDateTime }}, @{Name = 'LastNonInteractiveSignInDateTime'; Expression = { $_.SignInActivity.LastNonInteractiveSignInDateTime } } | Out-GridView -Title "Sign-in Logs"

通过执行这些步骤,您可以有效监控 Microsoft 365 环境中的用户登录活动。此过程不仅通过识别不规则的登录模式来增强安全性,而且还通过提供准确、及时的用户访问数据来帮助执行合规性和审计任务。

将用户详细信息导出到 CSV

使用 Export-CSV 命令将用户信息导出到 CSV 文件非常简单。此功能对于报告或审计目的非常有价值。使用 Get-MgUser -All 检索所有用户后,将输出通过管道传输到 Export-CSV


Get-MgUser -All | Export-CSV -Path "AzureADUsers.csv"

要包含自定义属性或扩展数据,请在导出之前使用 $select OData 查询选项指定其他属性:


Get-MgUser -All -Property displayName,mail,jobTitle | Select displayName,mail,jobTitle | Export-CSV -Path "CustomAzureADUsers.csv"

这些步骤概述了使用 PowerShell 中的 Get-MgUser cmdlet 从 Azure AD 高效管理和导出用户信息的过程。通过利用 -All 参数以及筛选和导出选项,管理员可以有效地监督 Microsoft 365 环境中的用户帐户。

为了简化将用户详细信息导出到 CSV 文件的过程,特别是在处理 Microsoft 365 环境中的特定用户组时,结合 PowerShell 脚本可以有效增强您的数据管理能力。这是实现此目的的结构化方法:

  1. 组合脚本进行定向导出

    • 首先使用 Get-MgUser cmdlet 获取必要的用户详细信息。此 cmdlet 用途广泛,允许您指定上下文(委托或应用程序)并确保您拥有适当的操作权限。
  2. 接下来,应用过滤器根据职位和部门等条件缩小用户范围。此步骤对于关注满足您指定条件的用户组至关重要。
  3. 导出为 CSV:过滤并编译所需的用户数据后,最后一步就是将此信息导出到 CSV 文件。使用 Export-CSV cmdlet,指定要保存 CSV 文件的路径。

Get-MgUser -Filter "jobTitle eq 'Director' and department eq 'Operations'" -Property DisplayName, UserPrincipalName, JobTitle, Department, AssignedLicenses, LastPasswordChangeDateTime | Select-Object DisplayName, UserPrincipalName, JobTitle, Department, AssignedLicenses, LastPasswordChangeDateTime | Export-CSV -Path "FilteredUsers.csv" -NoTypeInformation

此命令有效地按职位和部门过滤用户,选择要包含在输出中的特定属性,并将数据导出到名为“FilteredUsers.csv”的 CSV 文件。

获取所有用户的密码永不过期标志并导出到 CSV 文件

要获取所有用户的密码永不过期标志并使用 Microsoft Graph PowerShell 将其导出到 CSV 文件,您可以使用以下脚本:

  1. 使用 Connect-MgGraph cmdlet 连接到 Microsoft Graph 并提供所需的范围。
  2. 使用 Get-MgUser cmdlet 检索所有用户,并选择 DisplayNameUserPrincipalNamePasswordPolicies 属性。
  3. 过滤密码策略包含 DisablePasswordExpiration 值的用户。
  4. 使用 Export-Csv cmdlet 将筛选后的用户导出到 CSV 文件。

#Connect to Microsoft Graph
Connect-MgGraph -Scopes "User.Read.All"

#Get Password Never Expire flag for all users
$PasswordNeverExpire = Get-MgUser -All -Property DisplayName, UserPrincipalName, PasswordPolicies | Select-Object DisplayName, UserprincipalName, @{
    Name = "PasswordNeverExpires"; Expression = { $_.PasswordPolicies -contains "DisablePasswordExpiration"}
}

$PasswordNeverExpire
#Export the data to CSV file
$PasswordNeverExpire | Export-CSV -Path "C:\Temp\PasswordNeverExpire.csv" -NoTypeInformation

通过遵循这种结构化方法,您可以根据您的特定要求高效管理和导出 Microsoft 365 环境中的详细用户信息。此过程不仅有助于组织审核,还支持主动的用户管理策略。

解决 Get-MgUser 的常见问题

虽然 Get-MgUser 是一个功能强大的工具,但您在使用它时可能会遇到一些常见问题。让我们探讨其中的一些问题及其潜在的解决方案。

权限不足,无法完成操作

如果您收到一条错误消息,指出“权限不足,无法完成操作”,则意味着您用于运行 Get-MgUser 命令的帐户没有必要的权限。要解决此问题,请确保该帐户在 Microsoft 365 环境中具有适当的管理权限。管理员应在 Azure AD 管理中心的与 PowerShell 关联的应用注册的 API 权限下授予适当的权限(例如用于读取所有用户配置文件的 User.Read.All)。

Get-MgUser 未被识别为 cmdlet 的名称

如果您遇到一条错误消息,指出“Get-MgUser 未被识别为 cmdlet 的名称”,则意味着您的系统上未安装 Microsoft Graph 的 PowerShell 模块。要安装该模块,请运行“Install-Module Microsoft.Graph”。更多信息请参见此处:安装 Microsoft Graph 模块。

过滤和查询问题

如果您在使用 -Filter 选项时出现语法错误或没有结果,请确保您的 OData 查询语法正确。常见错误包括在字符串值周围错误使用单引号 (') 或使用不受支持的筛选操作。

属性选择错误

使用 -Property 选项指定属性时出现错误或意外结果?验证您请求的属性名称是否正确且受支持。默认情况下,并非所有用户属性都可用;有些需要特定权限或附加查询参数才能访问。

结论

当您需要检索有关 Microsoft 365 环境中的用户的信息时,Get-MgUser PowerShell cmdlet 是您的首选工具。它允许您执行基本和高级查询来获取用户详细信息,根据您的要求定制返回的数据。在本文中,我们深入研究了 Get-MgUser cmdlet 的综合功能及其在通过 PowerShell 获取 Microsoft Graph 中的用户数据方面的关键作用。从安装 Microsoft Graph PowerShell 模块的初始步骤到提取和导出用户信息的高级技术,所列出的策略阐明了 cmdlet 在有效访问和处理用户详细信息方面的多功能性。

该 PowerShell cmdlet 具有促进详细用户分析的潜力,加上它对各种管理需求的适应性,强调了它在当代 IT 生态系统中的重要性。通过了解命令及其各种参数,您可以释放效率并简化管理任务。无论您需要过滤用户、探索所有属性、解决问题还是扩展功能,Get-MgUser 都能满足您的需求。因此,立即开始探索可能性并充分利用 Get-MgUser!

经常问的问题:

PowerShell 中 Get-MgUser cmdlet 的用途是什么?

Get-MgUser PowerShell cmdlet 检索 Microsoft 365 环境中的用户信息。它使您能够列出所有用户、获取有关特定用户的全面详细信息或根据特定属性(例如部门或职位)查找用户。

通过 PowerShell 连接到 Microsoft Graph API 的步骤是什么?

要在 PowerShell 中调用图形 API,请首先执行 Connect-MgGraph 命令来登录并指定必要的范围。建立连接后,您可以自由调用任何可用的 Graph API 方法。

使用 Get-MgUser 有哪些先决条件?

要使用 Get-MgUser,您需要安装 Microsoft Graph PowerShell 模块。您可以通过在 PowerShell 中运行命令“Install-Module Microsoft.Graph”来安装它。此外,您必须具有“User.Read.All”权限才能访问 Microsoft 365 环境中的用户信息。

如何使用 Get-MgUser 检索特定用户的信息?

要检索特定用户的信息,您可以使用“-UserId”参数,后跟用户的 ID 或用户主体名称 (UPN)。例如:

Get-MgUser -UserId "[email protected]".

如何过滤 Get-MgUser 返回的用户属性?

您可以使用“-Property”参数指定要检索的特定属性,然后通过管道输入 Select cmdlet。例如:

Get-MgUser -UserId "[email protected]" -Property ID, Mail | Select ID, Mail

是否可以根据特定的属性值检索用户?

是的,您可以使用“-Filter”参数根据特定属性值检索用户。例如,要检索特定部门的用户:

Get-MgUser -Filter "Department eq 'Marketing'"

如何将 Get-MgUser 检索到的用户信息导出到文件中?

您可以使用“Export-Csv”cmdlet 将用户信息导出到文件。例如:

Get-MgUser -Filter "jobTitle eq 'Director'" | Export-Csv -Path "C:\Temp\Directors.csv" -NoTypeInformation

如何使用 Get-MgUser 检索组织中所有用户的列表?

要使用 Get-MgUser 检索有关组织中所有用户的信息,您可以使用 -All 参数。例如:Get-MgUser -All

如何使用 Get-MgUser 搜索特定用户?

要使用 Get-MgUser 搜索特定用户,您可以使用 -Search 参数指定搜索查询。例如,要搜索显示名称包含“sam”的所有用户,可以使用以下命令:

Get-MgUser -All -Search "DisplayName:sam" -ConsistencyLevel eventual

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

取消回复欢迎 发表评论:

关灯