[玩转系统] PowerShell:获取和导出 Azure AD 用户
作者:精品下载站 日期:2024-12-15 00:38:13 浏览:14 分类:玩电脑
PowerShell:获取和导出 Azure AD 用户
在本指南中,您将了解如何使用 PowerShell 获取 Azure AD 用户、所有用户属性并将其导出到 CSV 文件。
作为管理员,您可能需要查看 Azure AD 用户及其相关属性的列表。这对于安全审核、帐户配置审查或稍后在脚本中使用非常有用。
要获取 Azure 用户列表,可以使用 PowerShell Get-MgUser 命令。使用此命令,您可以获取所有 Azure 用户帐户、搜索特定帐户以及显示所有或特定用户属性。
重要
Microsoft 将在 2023 年 6 月 30 日之后随时停用 Azure AD Graph 和 MSonline API。其中包括多年来用于为 Azure 用户提供 PowerShell 的 Get-AzureADUser cmdlet。
这些 API 正在被 Microsoft Graph API 取代。在本指南中,我将使用新支持的 Get-MgUser cmdlet 来获取 Azure AD 用户。有关更多详细信息,请参阅 Microsoft Entra 更改公告。
让我们开始吧。
要求
要遵循本指南,您将需要以下内容:
- 安装了 PowerShell 5.1 或更高版本 - 如何更新 PowerShell
- 安装了 Net Framework 4.7.2 或更高版本
- 安装 Microsoft Graph 模块 - 步骤如下
如何使用 PowerShell 获取 Azure AD 用户属性
在第一个示例中,我将向您展示如何使用 get-mguser 命令获取所有 Azure AD 用户的列表。
步骤 1. 安装 Microsoft Graph PowerShell SDK
您可以将 Microsoft Graph 模块安装到当前用户或所有用户。
要为当前用户安装模块,请运行此命令。
Install-Module Microsoft.Graph -Scope CurrentUser
为计算机上的所有用户安装该模块。
Install-Module Microsoft.Graph -Scope AllUsers
在此示例中,我将为当前用户安装该模块。
可能会提示您正在从不受信任的存储库安装模块。
键入 y 从不受信任的存储库安装。
您应该看到正在安装各种软件包。完成后,它应该返回到 PowerShell 提示符。
要验证图形模块是否已安装,请运行以下命令。
find-module microsoft.graph
安装完成。
步骤 2. 使用 PowerShell 连接到 Microsoft Graph
在使用 PowerShell 获取 Azure 用户之前,您首先需要使用 -scope 参数和正确的权限进行连接。请参阅 Microsoft 文章 Microsoft Graph 权限参考以查看所有权限。
以下命令将允许您读取完整的 Azure 用户配置文件属性集。
Connect-MgGraph -Scopes "User.Read.All"
当您运行上述命令时,系统将提示您登录。
使用您的帐户登录以完成与 Microsoft Graph 的连接。
步骤 3. 使用 Get-MgUser 获取 Azure AD 用户
如果您按照步骤 1 和 2 进行操作,您应该连接到 Microsoft Graph 并且无法运行 get-MgUser cmdlet。
要让所有 Azure 用户运行此命令。
get-mguser -all
此命令将返回用户 Id、DisplayName、Mail 和 UserPrincipalName 属性。
要获取单个 Azure 用户,请使用 -UserID 参数。
get-mguser -UserID "[email protected]"
Get-MgUser 示例
下面是有关如何使用 Get-MGuser cmdlet 获取 Azure 用户的更多示例。
1. 搜索特定的 Azure 用户
在此示例中,我将使用 -Filter 参数来搜索具有特定显示名称的用户。
Get-MgUser -Filter "startsWith(DisplayName, 'Robert')"
2.获取所有启用的Azure用户
在此示例中,我将搜索并仅获取已启用的 Azure AD 用户。
Get-MgUser -Filter 'accountEnabled eq true' -All -property AccountEnabled, DisplayName | select DisplayName, AccountEnabled
3.显示所有Azure用户属性
要显示用户的所有属性,请使用 fl 参数。
get-mguser -UserID "[email protected]" | fl
正如您在上面的屏幕截图中看到的,大多数用户属性都是空白的。这是设计使然,大多数属性要求您指定要显示的属性数据。有关详细信息,请参阅下一个示例。
4. 显示特定用户属性
要显示默认情况下不显示的用户属性,请使用 select 参数。
在此示例中,我将显示用户的创建日期时间。
get-mguser -UserID "[email protected]" -Property CreatedDateTime | select CreatedDateTime
使用 select 参数时,您需要列出要显示的每个属性。这是包含显示名称的另一个示例。
get-mguser -UserID "[email protected]" -Property CreatedDateTime, displayname | select CreatedDateTime, displayname
要查看默认显示哪些属性以及需要使用 select 的属性,请参阅本文末尾的表格。
5. 按部门搜索用户
在此示例中,我将搜索“会计”部门的所有用户。
Get-MgUser -Filter "Department eq 'Accounting'"
要仅显示 DisplayName 和 Department 属性,请使用此命令。
Get-MgUser -Filter "Department eq 'Accounting'" -property displayname, department | select displayname, department
6. 扩展用户属性
当您显示完整的属性列表时,您会注意到有些属性显示为“Microsoft.Graph.PowerShell.Models”。
其中一些属性可以轻松扩展以查看相关数据。问题是不是所有的都可以扩展。有关支持扩展的属性的完整列表,请参阅 Azure 用户资源类型文档。
向下滚动到关系并查找显示支持 $expand 的属性。
在上面的屏幕截图中,您可以看到管理器属性支持扩展。
下面是扩展 manager 属性的示例。
Get-MgUser -UserId [email protected] -ExpandProperty manager | Select @{Name = 'Manager'; Expression = {$_.Manager.AdditionalProperties.displayName}}
7. 将 Azure 用户导出到 CSV
要将 Azure 用户导出到 CSV,请使用 export-csv 命令
get-mguser -UserID "[email protected]" | export-csv c:\it\azure-1.csv -NoTypeInformation
8. 获取所有用户的创建日期时间
在此示例中,我将显示所有用户的 DisplayName 和创建日期时间。
get-mguser -all -Property displayName, CreatedDateTime | select displayName,CreatedDateTime
Azure 用户属性列表
下面是 Get-MgUser cmdlet 返回的所有用户属性的列表,总共 125 个。
仅在 $select 上返回意味着您必须使用 select 参数,后跟属性名称才能显示任何用户数据。详细信息请参见示例 4。
aboutMe真的
accountEnabled真的
Activities不适用
ageGroup真的
AgreementAcceptances不适用
AppRoleAssignments不适用
assignedLicences真的
assignedPlans真的
AuthenticationAuthorizationInfobirthday真的
businessPhonesFalse - 默认返回
CalendarCalendarGroupsCalendarViewCalendarsChatscity真的
companyName真的
consentProvidedForMinor真的
ContactFoldersContactscounty真的
createdDateTime真的
CreatedObjectscreationType真的
deletedDateTime真的
department真的
DeviceEnrollmentLimitDeviceManagementTroubleshootingEventsDirectReportsdisplayNameFalse - 默认返回
DriveDrivesemployeeHireDate真的
employeeLeaveDateTimeFalse - 默认返回
employeeId真的
employeeOrgData真的
employeeType真的
EventsExtensionsexternalUserState真的
externalUserStateChangeDateTime真的
faxNumber真的
FollowedSitesgivenNameFalse - 默认返回
hireDate真的
idFalse - 默认返回
identities真的
imAddresses真的
InferenceClassificationInsightsinterests真的
isResourceAccount不适用
jobTitleFalse - 默认返回
JoinedTeamslastPasswordChangeDateTime真的
legalAgeGroupClassification真的
licenseAssignmentStates真的
LicenseDetailsmailFalse - 默认返回
MailFoldersmailboxSettings真的
mailNickname真的
ManagedAppRegistrationsManagedDevicesManagerMemberOfMessagesmobilePhoneFalse - 默认返回
mySite真的
mySiteOauth2PermissionGrantsofficeLocationFalse - 默认返回
onPremisesDistinguishedName真的
onPremisesDomainName真的
onPremisesExtensionAttributes真的
onPremisesImmutableId真的
onPremisesLastSyncDateTime真的
onPremisesProvisioningErrors真的
onPremisesSamAccountName真的
onPremisesSecurityIdentifier真的
onPremisesSyncEnabled真的
onPremisesUserPrincipalName真的
OnenoteOnlineMeetingsotherMails真的
OutlookOwnedDevicesOwnedObjectspasswordPolicies真的
passwordProfile真的
pastProjects真的
PeoplePhotoPhotosPlannerpostalCode真的
preferredDataLocation不适用
preferredLanguageFalse - 默认返回
preferredName真的
PresenceprovisionedPlans真的
proxyAddresses真的
RegisteredDevicesresponsibilities真的
schools真的
ScopedRoleMemberOfsecurityIdentifierFalse - 默认返回
SettingsshowInAddressList不适用
signInSessionsValidFromDateTime真的
skills真的
state真的
streetAddress真的
surnameFalse - 默认返回
TeamworkTodoTransitiveMemberOfusageLocation真的
userPrincipalNameFalse - 默认返回
userType真的
AdditionalProperties概括
在本指南中,我演练了如何使用 PowerShell 获取 Azure AD 用户。由于 Microsoft 停用了 Get-AzureADUser cmdlet,我专注于使用新支持的 Get-MgUser PowerShell 命令。
在我看来,微软让从 Azure 获取用户变得更加复杂。要获取所有用户属性,您必须使用展开选项并查找相关命令来展开某些属性。也许这有一个很好的理由,我不知道。
此外,终止支持和更换命令会让情况变得更加令人沮丧。遗憾的是,微软没有让 Azure cmdlet 保持简单,就像用于本地 ADDS 的 PowerShell get-aduser 命令一样。
资源
- Azure AD 用户属性
- Microsoft Graph 权限参考
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[短剧合集] 2025年06月2日 精选+付费短剧推荐39部
[软件合集] 25年6月2日 精选软件18个
[软件合集] 25年6月1日 精选软件15个
[短剧合集] 2025年06月1日 精选+付费短剧推荐59部
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[美图] 2W美女个美女小姐姐,饱眼福
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag