[玩转系统] 使用 PowerShell 获取 MFA 状态(包含脚本)
作者:精品下载站 日期:2024-12-14 22:27:12 浏览:15 分类:玩电脑
使用 PowerShell 获取 MFA 状态(包含脚本)
在本指南中,您将了解如何使用 PowerShell 获取 Office 365 用户的 MFA 状态。
我将向您展示如何获取单个用户和一组用户的 MFA 状态。
此外,我将向您展示如何将 Office 365 MFA 状态报告导出为 CSV。
让我们开始吧。
通过 PowerShell 要求获取 MFA 状态
本指南中的示例使用 Microsoft Graph 模块检查 Office 365 用户的 MFA 状态。您需要安装图形模块。
Get-MGUser cmdlet 用于从 Office 365 租户获取单个和所有用户。
Get-MGUserAuthenticationMethod cmdlet 用于获取每个用户的 MFA 身份验证方法。
重要的
PowerShell 命令报告为每个用户注册的身份验证方法,这就是确定 MFA 状态的方式。不幸的是,微软没有提供一个命令来简单说明帐户是否启用了 MFA,必须进行计算。
当passwordAuthenticationMethod 是列出的唯一身份验证方法时,这意味着用户未启用MFA。我在下面提供的脚本将检查身份验证方法并创建 MFA 状态字段(启用或禁用)。
示例 1. 获取单个用户的 Office 365 MFA 状态
检查单个用户的 MFA 状态非常简单,您不需要为此使用臃肿的脚本。
步骤 1. 连接到 Microsoft Graph
在获取 Office 365 用户并检查 MFA 状态之前,您首先需要连接到 Microsoft Graph。
以下命令将允许您读取完整的 Azure 用户配置文件属性集。
Connect-MgGraph -Scopes "User.Read.All"
注意:一些用户提到脚本失败,请求授权失败。在这种情况下,请尝试使用 Connect-MgGraph -Scopes “UserAuthenticationMethod.Read.All”
系统将提示您使用您的帐户登录。
经过身份验证后,PowerShell 应显示“欢迎使用 Microsoft Graph!”
步骤 2. 运行 Get-MGUserAuthenticationMethod cmdlet
运行以下命令以获取单个用户的 MFA 状态。
Get-MGUserAuthenticationMethod -userid [email protected] | fl
在此示例中,我正在检查用户 [email protected] 的 MFA 状态。
microsoft.graph.passwordAuthenticationMethod 的身份验证方法是列出的唯一方法,这意味着未为此用户启用 MFA。
现在我将检查我帐户的身份验证方法。
在上面的屏幕截图中,您可以看到我的帐户返回多种身份验证方法,这意味着我的帐户启用了 MFA。
检查所有用户时,它会变得更加复杂,好消息是我已经创建了一个您可以使用的脚本。
示例 2. 所有用户 PowerShell 的 MFA 状态 Office 365 报告
您可以复制下面的脚本或下载 MFAStatusReport.ps1 PowerShell 脚本。
默认情况下,该脚本将获取所有用户的 MFA 状态。我将向您展示如何更改它以检查用户列表的状态。
注意:根据租户中的用户数量,脚本可能需要几分钟才能完成。
<#
=============================================================================================
Name: Get MFA Status Report
Description: Gets MFA status for all users and authentication methods
Version: 1.0
Website: activedirectorypro.com
Script by: activedirectorypro.com
Instructions: https://activedirectorypro.com/mfa-status-powershell
============================================================================================
#>
#Get all Azure users
$users = get-mguser -All
$results=@();
Write-Host "`nRetreived $($users.Count) users";
#loop through each user account
foreach ($user in $users) {
Write-Host "`n$($user.UserPrincipalName)";
$myObject = [PSCustomObject]@{
user = "-"
MFAstatus = "_"
email = "-"
fido2 = "-"
app = "-"
password = "-"
phone = "-"
softwareoath = "-"
tempaccess = "-"
hellobusiness = "-"
}
$MFAData=Get-MgUserAuthenticationMethod -UserId $user.UserPrincipalName #-ErrorAction SilentlyContinue
$myobject.user = $user.UserPrincipalName;
#check authentication methods for each user
ForEach ($method in $MFAData) {
Switch ($method.AdditionalProperties["@odata.type"]) {
"#microsoft.graph.emailAuthenticationMethod" {
$myObject.email = $true
$myObject.MFAstatus = "Enabled"
}
"#microsoft.graph.fido2AuthenticationMethod" {
$myObject.fido2 = $true
$myObject.MFAstatus = "Enabled"
}
"#microsoft.graph.microsoftAuthenticatorAuthenticationMethod" {
$myObject.app = $true
$myObject.MFAstatus = "Enabled"
}
"#microsoft.graph.passwordAuthenticationMethod" {
$myObject.password = $true
# When only the password is set, then MFA is disabled.
if($myObject.MFAstatus -ne "Enabled")
{
$myObject.MFAstatus = "Disabled"
}
}
"#microsoft.graph.phoneAuthenticationMethod" {
$myObject.phone = $true
$myObject.MFAstatus = "Enabled"
}
"#microsoft.graph.softwareOathAuthenticationMethod" {
$myObject.softwareoath = $true
$myObject.MFAstatus = "Enabled"
}
"#microsoft.graph.temporaryAccessPassAuthenticationMethod" {
$myObject.tempaccess = $true
$myObject.MFAstatus = "Enabled"
}
"#microsoft.graph.windowsHelloForBusinessAuthenticationMethod" {
$myObject.hellobusiness = $true
$myObject.MFAstatus = "Enabled"
}
}
}
##Collecting objects
$results+= $myObject;
}
# Display the custom objects
$results
要运行该脚本,请打开 PowerShell 并首先连接到 MS Graph。
Connect-MgGraph -Scopes "User.Read.All"
然后输入脚本的路径和名称来执行它。
该脚本将显示它找到的帐户数量并输出它正在处理的帐户。
脚本完成后,它将显示每个用户的 MFA 状态和身份验证方法。
要将 MFA 状态报告导出为 CSV,请使用导出 CSV 参数。
.\MFAStatusReport.ps1 | export-csv -path c:\it\mfastatus-csv
检查用户列表的 MFA 状态
如果您想在用户列表上运行脚本,请注释第 14 行并添加此代码。
$users = ForEach ($mguser in $(get-content -path C:\it\users.txt)) {
get-mguser -userid $mguser
}
然后创建一个包含用户列表的文本文件。您可以将列表保存在任何您想要的位置,只需确保更新脚本中的路径即可。
现在运行该脚本,它将仅处理文本文件中列出的帐户。
使用 Azure GUI 工具包的 MFA 状态报告
我正在开发一个图形工具,其中包括多个报告和用于管理 Azure 和 Office 365 的工具。您只需单击一个按钮即可生成 MFA 报告。
如果您想成为该工具的 Beta 测试人员,请参阅联系页面。
MFA 身份验证方法列表
以下是 PowerShell 脚本检查的身份验证方法的列表。
- emailAuthenticationMethod - 表示用户注册的电子邮件地址
- fido2AuthenticationMethod - 注册到用户(USB 设备)的 FIDO2 安全密钥
- microsoftAuthenticatorAuthenticationMethod - 这是 Microsoft 身份验证器应用程序。
- passwordAuthenticationMethod - 用户的密码。
- phoneAuthenticationMethod - 这意味着用户已使用短信或语音呼叫注册其电话。
- softwareOathAuthenticationMethod - 注册给用户的软件 OATH 令牌。
- 临时访问密码验证方法 - 临时限时密码。
- windowsHelloForBusinessAuthenticationMethod - 向用户注册的 Windows hello for Business。
在脚本中,它们的名称中将包含 #microsoft.graph。
要了解有关身份验证方法的更多信息,请参阅 Microsoft 文章authenticationMethods 资源类型。
我希望这篇文章对您有用,如果您有意见或问题请在下面发表。
相关文章:
- 如何将 Active Directory 用户导出到 CSV
- PowerShell 获取组成员
- 获取 Azure AD 用户 PowerShell
猜你还喜欢
- 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 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][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
[电视剧] [突围] [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