【Azure Entra ID】使用PowerShell脚本导出Entra ID中指定应用下的所有用户信息

简介: 在Azure Entra ID中,需要导出一个Application 下的用户信息, 包含User的创建时间。

问题描述

在Azure Entra ID中,需要导出一个Application 下的用户信息, 包含User的创建时间。

 

问题解答

可以使用PowerShell 脚本来实现, 只需要执行如下脚本:


Connect-AzureAD -AzureEnvironmentName AzureChinaCloud
$users = Get-AzureADServiceAppRoleAssignment -ObjectId <your application object id> -all $ture
$result = foreach($user in $users){
Get-AzureADUser -ObjectId $user.PrincipalId | Select-Object -Property DisplayName, UserPrincipalName, AccountEnabled, {$_.ExtensionProperty.createdDateTime}, {$_.ExtensionProperty.employeeId}
}
$result | export-Csv "yourusersinfo.csv"

说明:

  • 使用 Connect-AzureAD 登录到Azure China Cloud环境,执行后会让你输入Azure用户名和密码
  • 使用 Get-AzureADServiceAppRoleAssignment 获取服务主体应用程序的角色分配,包含User 和 Group 信息。
  • 使用 Get-AzureADUser 从 Microsoft Entra ID 获取用户的信息信息,包含 DisplayName, UserPrincipalName, AccountEnabled,createdDateTime 和 employeeId
  • 如果返回的结果中存在多重对象关系,可以使用 $_.{第一层属性名}.{第二层属性名} 来获取值。如:{$_.ExtensionProperty.createdDateTime}


如果在执行 Connect-AzureAD 时提醒,此指令不识别,表示当前环境中没有安装 Azure AD 模块,可以使用如下命令安装:

if ($null -eq (Get-Module -ListAvailable -Name AzureAD)) {
    Write-Host "Installing Azure AD module" -ForegroundColor Cyan
    Install-Module AzureAD -Repository PSGallery -AllowClobber -Force
}


执行PowerShell脚本成功后,生产的CSV文件打开,即可以查看应用下的用户信息:

参考资料

Get-AzureADServiceAppRoleAssignment: https://learn.microsoft.com/zh-cn/powershell/module/azuread/get-azureadserviceapproleassignment?view=azureadps-2.0-preview

Get-AzureADUser: https://learn.microsoft.com/zh-cn/powershell/module/azuread/get-azureaduser?view=azureadps-2.0

 

 


当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
2月前
|
数据安全/隐私保护
【Azure Function App】PowerShell Function 执行 Get-AzAccessToken 的返回值类型问题:System.String 与 System.Security.SecureString
将PowerShell Function部署到Azure Function App后,Get-AzAccessToken返回值类型在不同环境中有差异。正常为SecureString类型,但部分情况下为System.String类型,导致后续处理出错。解决方法是在profile.ps1中设置环境变量$env:AZUREPS_OUTPUT_PLAINTEXT_AZACCESSTOKEN=false,以禁用明文输出。
|
8月前
|
JSON 数据格式
【Azure Fabric Service】演示使用PowerShell命令部署SF应用程序(.NET)
本文详细介绍了在中国区微软云Azure上使用Service Fabrics服务时,通过PowerShell命令发布.NET应用的全过程。由于Visual Studio 2022无法直接发布应用,需借助PowerShell脚本完成部署。文章分三步讲解:首先在Visual Studio 2022中打包应用部署包,其次连接SF集群并上传部署包,最后注册应用类型、创建实例并启动服务。过程中涉及关键参数如服务器证书指纹和服务端证书指纹的获取,并附带图文说明,便于操作。参考官方文档,帮助用户成功部署并运行服务。
287 73
|
9月前
|
JavaScript Shell C#
多种脚本批量下载 Docker 镜像:Shell、PowerShell、Node.js 和 C#
本项目提供多种脚本(Shell、PowerShell、Node.js 和 C#)用于批量下载 Docker 镜像。配置文件 `docker-images.txt` 列出需要下载的镜像及其标签。各脚本首先检查 Docker 是否安装,接着读取配置文件并逐行处理,跳过空行和注释行,提取镜像名称和标签,调用 `docker pull` 命令下载镜像,并输出下载结果。使用时需创建配置文件并运行相应脚本。C# 版本需安装 .NET 8 runtime。
601 3
【Azure App Service】PowerShell脚本批量添加IP地址到Web App允许访问IP列表中
Web App取消公网访问后,只允许特定IP能访问Web App。需要写一下段PowerShell脚本,批量添加IP到Web App的允许访问IP列表里!
202 2
|
监控 网络协议 安全
员工网络监控软件:PowerShell 在网络监控自动化中的应用
在数字化办公环境中,企业对员工网络活动的监控需求日益增长。PowerShell 作为一种强大的脚本语言,能够有效实现员工网络监控自动化。本文介绍了如何使用 PowerShell 获取网络连接信息、监控特定网址的访问情况,并生成自动化报告,帮助企业高效管理员工网络活动,确保网络安全和合规性。
288 0
|
监控 关系型数据库 MySQL
PowerShell 脚本编写 :自动化Windows 开发工作流程
PowerShell 脚本编写 :自动化Windows 开发工作流程
509 0
|
Windows
Powershell 重新排列去重 Windows环境变量
【9月更文挑战第13天】本文介绍如何使用PowerShell对Windows环境变量进行重新排列和去重。首先通过`$env:`访问环境变量,接着使用`-split`命令分割路径,再利用`Select-Object -Unique`去除重复项。之后可根据需要对路径进行排序,最后将处理后的路径组合并更新环境变量。注意修改环境变量前应备份重要数据并了解潜在影响。
397 10
|
存储 Ubuntu Linux
windows可以安装Ubuntu,ubuntu上也可以安装Powershell
powerhsell除了可以在windows上使用外,还可以在Ubuntu上部署开发环境。下面介绍Ubuntu上安装powershell的方法。
499 0
|
Shell Linux 开发工具
windows中cmd和PowerShell批处理命令
之前在 Git 批量删除本地分支,有用到 Linux 或 MacOS 下的批处理命令,这个命令中的 grep、xargs 本身是 Shell script,在 windows 中的 cmd 和 PowerShell 中是不能用的
|
XML 监控 数据格式
利用powershell进行windows日志分析
0x00 前言   Windows 中提供了 2 个分析事件日志的 PowerShell cmdlet:一个是Get-WinEvent,超级强大,但使用起来比较麻烦;另一个是Get-EventLog,使得起来相当简单,可以实时筛选,接下来,我们利用PowerShell 来自动筛选 Windows 事件日志。
2728 0
下一篇
oss云网关配置