本地Azure MFA Server用户MFA状态收集方法咨询
本地Azure MFA Server用户MFA状态查询方案
针对你提到的无法用云端Get-MsolUser命令查询本地MFA Server用户状态的问题,这里有几个实用的方案:
1. 查询Active Directory扩展属性
本地Azure MFA Server会把用户的MFA注册信息存储在AD的专属扩展属性里,通过这些属性可以直接判断状态:
ms-MFA-UserState:最直接的状态标识,常见值:Enabled:用户已注册并启用MFAEnforced:用户被强制要求使用MFADisabled:用户未注册或MFA被禁用
ms-MFA-SecretKey:如果该属性有值,说明用户已完成MFA注册(注册时生成的密钥会存在这里)ms-MFA-PhoneNumber/ms-MFA-AlternatePhoneNumber:有值则说明用户已配置了电话类MFA验证方式
你可以用AD模块的PowerShell命令查询:
# 筛选已启用/强制MFA的用户 Get-ADUser -Filter {ms-MFA-UserState -eq "Enabled" -or ms-MFA-UserState -eq "Enforced"} ` -Properties ms-MFA-UserState, UserPrincipalName | Select-Object UserPrincipalName, ms-MFA-UserState # 通过SecretKey属性判断已注册用户 Get-ADUser -Filter {ms-MFA-SecretKey -ne $null} ` -Properties ms-MFA-SecretKey, UserPrincipalName | Select-Object UserPrincipalName
2. 使用本地MFA Server自带的PowerShell模块
如果你的MFA Server安装了PowerShell模块,可以直接用专属命令查询:
# 导入模块(路径根据实际安装位置调整) Import-Module "C:\Program Files\Multi-Factor Authentication Server\MultiFactorAuthentication.psd1" # 获取所有MFA用户的状态 Get-MfaUser | Select-Object UserName, State
这个命令返回的State字段会清晰显示用户是否已注册、启用等状态。
3. 通过MFA Server管理员门户查看
登录本地MFA Server的管理员控制台,在用户选项卡下可以直接查看所有用户的MFA状态、已配置的验证方法,还能导出用户列表到CSV文件,方便批量查看。
需要注意的是,这些AD属性是MFA Server在用户完成注册时自动写入的,未注册的用户这些属性要么为空,要么ms-MFA-UserState值为Disabled。
内容的提问来源于stack exchange,提问作者Maari
相关产品推荐
相关产品推荐

