问题描述

如何在中国区获取用户 StrongAuthenticationUserDetails 和 StrongAuthenticationMethods 信息 ?

  • StrongAuthenticationUserDetails :包含有关用户 MFA 设置的信息,例如他们首选的身份验证方法、电话号码和电子邮件地址。系统使用此信息在用户尝试访问受保护资源时验证用户的身份。
  • StrongAuthenticationMethods  : 是一个用户对象的属性,它包含了用户已注册的多重身份验证方法的信息。

PS: 中国区Azure上无法通过 Graph API (: https://graph.chinacloudapi.cn/myorganization/users('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX')?api-version=1.6-internal) 获取MFA的信息

问题解答

经过调查,可以通过PowerShell脚本来实现获取用户在MFA中的信息, 使用MS Online PowerShell module, 通过 Connect-MsolService 登录Azure AD(Azure Entra ID)后,然后执行 get-msoluser 获取User

第一步:安装 msonline module

  1. PS C:\> Connect-MsolService -AzureEnvironment AzureChinaCloud
  2. Connect-MsolService : The term 'Connect-MsolService' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if
  3. a path was included, verify that the path is correct and try again.
  4. At line:1 char:1
  5. + Connect-MsolService -AzureEnvironment AzureChinaCloud
  6. + ~~~~~~~~~~~~~~~~~~~
  7. + CategoryInfo : ObjectNotFound: (Connect-MsolService:String) [], CommandNotFoundException
  8. + FullyQualifiedErrorId : CommandNotFoundException

遇见以上错误,则需要安装 MSOnline模块(需要在Administrator模式下安装)。

  1. Install-Module -Name MSOnline

第二步:连接到中国区Azure (并交互式登录用户名和密码)

  1. Connect-MsolService -AzureEnvironment AzureChinaCloud

OR 通过无交互式方式登录(无弹窗)

  1. $azureUsername=‘{user@xxxx.onmicrosoft.com}’
  2. $azurePassword = ConvertTo-SecureString "<Password>" -AsPlainText -Force
  3. $psCred = New-Object System.Management.Automation.PSCredential($azureUsername , $azurePassword)
  4. Connect-MsolService -Credential $psCred

第三步: 获取用户 StrongAuthenticationUserDetails 和 StrongAuthenticationMethods  属性

  1. $user01 =get-msoluser -User <UPN: User principal name, e.g:xxxx@xxxx.xxxx.onmschina.cn>

  2. $am = $user01.StrongAuthenticationMethods
  3. $am

  4. $ud = $user01.StrongAuthenticationUserDetails
  5. $ud

附录:完整的PowerShell Script

#Install MS Online Module

Install-Module -Name MSOnline

# Login

Connect-MsolService -AzureEnvironment AzureChinaCloud

# Login with username & password

$azureUsername=‘{user@xxxx.onmicrosoft.com}’

$azurePassword = ConvertTo-SecureString "<Password>" -AsPlainText -Force

$psCred = New-Object System.Management.Automation.PSCredential($azureUsername , $azurePassword)

Connect-MsolService -Credential $psCred

# get user StrongAuthenticationMethods

$user01 =get-msoluser -User <UPN: User principal name, e.g:xxxx@xxxx.xxxx.onmschina.cn>

$am = $user01.StrongAuthenticationMethods

$am

# get user StrongAuthenticationUserDetails

$ud = $user01.StrongAuthenticationUserDetails

$ud

参考资料

MS Online: https://www.powershellgallery.com/packages/MSOnline/1.1.183.81

Connect-MsolService :https://learn.microsoft.com/en-us/powershell/module/msonline/connect-msolservice?view=azureadps-1.0

 

【Azure Entra ID】如何在中国区获取用户 StrongAuthenticationUserDetails 和 StrongAuthenticationMethods 信息的更多相关文章

  1. 设置Cookie,登录记住用户登录信息,获取用户登录过得信息

    function setCookie(name,value) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Da ...

  2. datePicker 及 timePicker 监听事件 获取用户选择 年月日分秒信息

    public class MainActivity extends AppCompatActivity { private TimePicker timePicker; private DatePic ...

  3. iOS下获取用户当前位置的信息

    #import <MapKit/MKMapView.h> @interface ViewController (){ CLLocationManager *_currentLoaction ...

  4. 获取用户的相关请求信息, 以及包括请求头 request.environ

    #在index文件中 1. print(type(request)) #看出所属库 2. from django.core.handlers.wsgi import WSGIRequest #查看WS ...

  5. JS获取用户控件中的子控件Id

    用户控件 <asp:HiddenField ID="hfGradeId" runat="server" /> <asp:HiddenField ...

  6. 钉钉开发入门,微应用识别用户身份,获取用户免登授权码code,获取用户userid,获取用户详细信息

    最近有个需求,在钉钉内,点击微应用,获取用户身份,根据获取到的用户身份去企业内部的用户中心做校验,校验通过,相关子系统直接登陆; 就是在获取这个用户身份的时候,网上的资料七零八落的,找的人烦躁的很,所 ...

  7. 手机端获取用户详细地理位置(高德地图API)

    项目开发需要获取用户详细的地理位置信息,使用了高德地图API接口 1,注册高德地图开发者账号获取开发者Key 2,页面调用 <script type="text/javascript& ...

  8. 使用scanner工具类来获取用户输入的信息

    使用scanner工具类来获取用户输入的成绩信息. 步骤:1.导入java.util.Scanner包 2.创建Scanner对象 3.接受并保存用户输入的值 例子:通过用户输入来获取学生成绩 pac ...

  9. 使用navigator.geolocation来获取用户的地理位置信息

    使用navigator.geolocation来获取用户的地理位置信息 W3C 中新添加了一个名为 Geolocation的 API 规范,Geoloaction API的作用就是通过浏览器获取用户的 ...

  10. 【Azure 环境】【Azure Developer】使用Python代码获取Azure 中的资源的Metrics定义及数据

    问题描述 使用Python SDK来获取Azure上的各种资源的Metrics的名称以及Metrics Data的示例 问题解答 通过 azure-monitor-query ,可以创建一个 metr ...

随机推荐

  1. ElasticSearch必知必会-基础篇

    商业发展与职能技术部-体验保障研发组 康睿 姚再毅 李振 刘斌 王北永 说明:以下全部均基于eslaticsearch 8.1 版本 一.索引的定义 官网文档地址:https://www.elasti ...

  2. 责任链和策略设计模式-基于Java编程语言

    作者:京东物流 钟磊 1 前言 最近在梳理接口逻辑的时候发现,代码中使用的策略和责任链设计模式给我留下了非常深刻的印象.一个业务逻辑流程通常非常适合使用责任链和策略设计模式来实现,因为一个业务需求通常 ...

  3. v-for动态添加表单,并且获取表单中的值

    vue是数据驱动视图,所以要想改变页面的结构,就要首先改变数据. 要想动态添加一个input表单,每当你点击的时候,添加一个数据在数组里面. handler(mess){ this.list.push ...

  4. # 重要-即时通讯IM开源项目OpenIM关于版本管理及v2.3.0发布计划

    越来越多的客户把OpenIM用到了生产环境,由于新特性持续迭代和bug修复,会涉及到后续的升级方案,为了让大家后续从容应对,本文重点总结OpenIM对未来版本管理的思路和方案.同时,官网对于文档进行了 ...

  5. Flask 之SocketIO库实现绘图表

    Flask 默认提供了针对WebSocket的支持插件from flask_socketio import SocketIO 直接通过pip命令安装即可导入使用,前端也需要引入socketIO库文件, ...

  6. 《ASP.ENT Core 与 RESTful API 开发实战》(第3章)-- 读书笔记(上)

    第 3 章 ASP.NET Core 核心特性 3.1 启动与宿主 ASP.NET Core 应用程序启动时,它首先会配置并运行其宿主,宿主主要用来启动.初始化应用程序,并管理其生命周期 ASP.NE ...

  7. C# 二十年语法变迁之 C# 2,C# 3 ,C# 4参考

    C# 二十年语法变迁之 C# 2,C# 3 ,C# 4参考 https://benbowen.blog/post/two_decades_of_csharp_i/ 自从 C# 于 2000 年推出以来 ...

  8. 【JS】因两道Promise执行题让我产生自我怀疑,从零手写Promise加深原理理解

    壹 ❀ 引 其实在去年七月份,博客所认识的一个朋友问了我一个关于Promise执行先后的问题,具体代码如下: const fn = (s) => ( new Promise((resolve, ...

  9. NC16655 [NOIP2005]过河

    题目链接 题目 题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可 ...

  10. Linux进程与线程的基本概念及区别

    前言 假设你正在玩一款在线多人游戏,在游戏中,有多个角色需要进行不同的操作,例如攻击.移动.释放技能等等. 接下来,我们用玩游戏的例子,来解释进程和和线程的概念,以及进程和线程的区别. 进程的基本概念 ...