以下文档将指导你安装和配置已注册设备的本地条件访问。
基础结构先决条件
需要满足以下先决条件。
要求 | DESCRIPTION |
---|---|
具有 Microsoft Entra ID P1 或 P2 的 Microsoft Entra 订阅 | 若要为本地条件访问启用设备写回功能 - 免费试用就可以 |
Intune 订阅 | 仅在设备合规方案中需要 MDM 集成时 - 免费试用就可以 |
Microsoft Entra Connect Sync | 在此处获取最新版本。 |
Windows Server 2016 | AD FS 版本号 10586 或更高版本 |
Windows Server 2016 Active Directory 架构 | 架构级别 85 或更高级别是必需的。 |
Windows Server 2016 域控制器 | 仅适用于 Hello For Business 密钥信任部署。 有关详细信息,请参阅此文。 |
Windows 10 客户端 | 仅 Windows 10 域加入和 Windows Hello 企业版方案需要加入上述域的版本 10586 或更高版本 |
已分配有 Microsoft Entra ID P1 或 P2 许可证的 Microsoft Entra 用户帐户 | 用于注册设备 |
升级 Active Directory 架构
若要对已注册的设备使用本地条件访问,必须先升级 AD 架构。 必须满足以下条件:
- 架构应为版本 85 或更高版本
- 只有 AD FS 加入到的林才需要
注释
如果在升级到 Windows Server 2016 中的架构版本(级别 85 或更高版本)之前安装了 Microsoft Entra Connect Sync,则需要重新运行 Microsoft Entra Connect Sync 安装并刷新本地 AD 架构,以确保配置 msDS-KeyCredentialLink 的同步规则。
验证架构级别
若要验证架构级别,请执行以下操作:
- 使用 ADSIEdit.exe 或 LDP.exe 并连接到架构命名上下文。
- 在 ADSIEdit 中,右键单击“CN=Schema,CN=Configuration,DC=<___domain>,DC=<com>”并选择属性。 将域和 com 部分替换为你的林信息。
- 在“属性编辑器”下找到 objectVersion 属性,并告诉你你的版本。
你还可以使用以下 PowerShell cmdlet(将对象替换为架构命名上下文信息):
Get-ADObject "cn=schema,cn=configuration,dc=___domain,dc=local" -Property objectVersion
有关升级的详细信息,请参阅 将域控制器升级到 Windows Server 2016。
启用Microsoft Entra 设备注册
若要配置此方案,必须在 Microsoft Entra ID 中配置设备注册功能。
为此,请按照在组织中设置 Microsoft Entra 联接下的步骤操作。
设置 AD FS
- 创建新的 AD FS 2016 场。
- 或者将场从 AD FS 2012 R2 迁移到 AD FS 2016
- 使用自定义路径将 AD FS 连接到 Microsoft Entra ID,部署 Microsoft Entra Connect Sync 。
配置设备写回和设备身份验证
注释
如果使用快速设置运行Microsoft Entra Connect Sync,则已为你创建正确的 AD 对象。 但是,在大多数 AD FS 方案中,Microsoft使用自定义设置运行 Entra Connect Sync 来配置 AD FS,因此需要执行以下步骤。
为 AD FS 设备身份验证创建 AD 对象
如果尚未为设备身份验证配置 AD FS 场(可能会在服务 -> 设备注册下的 AD FS 管理控制台中看到这种情况),请使用以下步骤创建正确的 AD DS 对象和配置。
注释
以下命令需要 Active Directory 管理工具,因此,如果联合服务器不是域控制器,请先使用下面的步骤 1 安装这些工具。 否则,可以跳过步骤 1。
- 运行“添加角色和功能”向导并选择功能“远程服务器管理工具”->“角色管理工具”->“AD DS 和 AD LDS 工具”-> 同时选择“Windows PowerShell 的 Active Directory 模块”和“AD DS 工具”。
- 在 AD FS 主服务器上,确保使用企业管理员 (EA) 权限以 AD DS 用户身份登录,并打开提升的 PowerShell 提示符。 然后,执行以下 PowerShell 命令:
Import-module activedirectory
PS C:\> Initialize-ADDeviceRegistration -ServiceAccountName "<your service account>"
3. 在弹出窗口上,点击“是”。
注释
如果 AD FS 服务配置为使用 GMSA 帐户,请以“___domain\accountname$”格式输入帐户名称
上述 PSH 创建以下对象:
- AD 域分区下的 RegisteredDevices 容器
- “配置”下的“设备注册服务”容器和对象 --> 服务 --> 设备注册配置
- “配置”-->“服务”-->“设备注册配置”下的设备注册服务 DKM 容器和对象
- 完成此作后,你将看到一条成功完成消息。
在 AD 中创建服务连接点 (SCP)
如果计划按此处所述使用 Windows 10 域加入(自动注册到 Microsoft Entra ID),请执行以下命令在 AD DS 中创建服务连接点
- 打开 Windows PowerShell 并执行以下作:
PS C:>Import-Module -Name "C:\Program Files\Microsoft Azure Active Directory Connect\AdPrep\AdSyncPrep.psm1"
注释
如有必要,请从 Microsoft Entra Connect 同步服务器复制 AdSyncPrep.psm1 文件。 此文件位于 Program Files\Microsoft Entra Connect\AdPrep 中
- 提供Microsoft Entra 条件访问管理员凭据。
PS C:>$aadAdminCred = Get-Credential
- 运行以下 PowerShell 命令
PS C:>Initialize-ADSyncDomainJoinedComputerSync -AdConnectorAccount [AD connector account name] -AzureADCredentials $aadAdminCred
其中 [AD 连接器帐户名称] 是在添加本地 AD DS 目录时在 Microsoft Entra Connect Sync 中配置的帐户的名称。
上述命令使 Windows 10 客户端可以通过在 AD DS 中创建 serviceConnectionpoint 对象来查找要加入的正确Microsoft Entra 域。
为设备回写准备 AD
对于从 Microsoft Entra ID 进行的设备写回,为确保 AD DS 对象和容器处于正确的状态,请执行以下操作。
- 打开 Windows PowerShell 并执行以下作:
PS C:>Initialize-ADSyncDeviceWriteBack -DomainName <AD DS ___domain name> -AdConnectorAccount [AD connector account name]
其中 [AD 连接器帐户名称] 是在添加本地 AD DS 目录时以 ___domain\accountname 格式在 Microsoft Entra Connect Sync 中配置的帐户名称
上述命令为设备写回 AD DS 创建以下对象(如果它们尚不存在),并允许访问指定的 AD 连接器帐户名称
- AD 域分区中的 RegisteredDevices 容器
- “配置”下的“设备注册服务”容器和对象 --> 服务 --> 设备注册配置
在 Microsoft Entra Connect Sync 中启用设备写回
如果你之前没有进行过此操作,请再次运行此向导并选择自定义同步选项,然后勾选设备写回框,并选择你运行上述 cmdlet 所在的林,以在 Microsoft Entra Connect Sync 中启用设备写回。
在 AD FS 中配置设备身份验证
使用提升的 PowerShell 命令窗口,通过执行以下命令来配置 AD FS 策略
PS C:>Set-AdfsGlobalAuthenticationPolicy -DeviceAuthenticationEnabled $true -DeviceAuthenticationMethod All
检查配置
对于参考,下面是设备写回和身份验证工作所需的 AD DS 设备、容器和权限的综合列表
CN=RegisteredDevices,DC=<___domain> 上类型为 ms-DS-DeviceContainer 的对象
- AD FS 服务帐户的读取访问权限
- Microsoft Entra Connect Sync AD 连接器帐户的读/写访问权限
容器 CN=Device Registration Configuration,CN=Services,CN=Configuration,DC=<___domain>
上方容器下的容器设备注册服务 DKM
CN=<guid>, CN=Device Registration 上类型为 serviceConnectionpoint 的对象
Configuration,CN=Services,CN=Configuration,DC=<___domain>
新对象上指定的 AD 连接器帐户名称的读取/写入访问权限
CN=Device Registration Services,CN=Device Registration Configuration,CN=Services,CN=Configuration,DC=<___domain> 上类型为 msDS-DeviceRegistrationServiceContainer 的对象
上述容器中 msDS-DeviceRegistrationService 类型的对象
查看它是否正常工作
若要评估新的声明和策略,请先注册设备。 例如,Microsoft Entra 使用“系统”->“关于”下面的“设置”应用加入 Windows 10 计算机,或者按照此处的附加步骤通过自动设备注册设置 Windows 10 域加入。 有关加入 Windows 10 移动设备的信息,请参阅 此处的文档。
若要进行最简单的评估,请使用显示声明列表的测试应用程序登录到 AD FS。 你将能够看到新的声明,包括 isManaged
, isCompliant
和 trusttype
。 如果启用 Windows Hello 企业版,你还将看到 prt
声明。
配置附加场景
Windows 10 域加入计算机的自动注册
若要为已加入 Windows 10 域的计算机启用自动设备注册,请按照 此处的步骤 1 和 2 进行作。
- 确保 AD DS 中的服务连接点存在并具有适当的权限(我们已经在上面创建了此对象,但再次确认无妨)。
- 确保正确配置 AD FS
- 确保 AD FS 系统已启用正确的终结点并配置了声明规则
- 配置域加入计算机的自动设备注册所需的组策略设置
Windows Hello 企业版
有关使用 Windows Hello 企业版启用 Windows 10 的信息,请参阅 在组织中启用 Windows Hello 企业版。
自动 MDM 注册
若要启用已注册设备的自动 MDM 注册,请执行以下步骤 。
故障排除
- 如果在
Initialize-ADDeviceRegistration
上出现错误,指出某个对象已处于不正确的状态,例如“无法找到所有必需属性的 DRS 服务对象”,这可能是因为您之前已执行 Microsoft Entra Connect Sync PowerShell 命令,并且在 AD DS 中留有部分配置。 尝试手动删除 CN=Device Registration Configuration、CN=Services、CN=Configuration、DC=<___domain> 下的对象,然后再试一次。 - 对于 Windows 10 域加入客户端
- 若要验证设备身份验证是否正常工作,请以测试用户帐户身份登录到已加入域的客户端。 若要快速触发预配,请至少锁定和解锁桌面一次。
- 有关检查 AD DS 对象上的 STK 密钥凭据链接的说明(同步是否仍必须运行两次?)
- 如果在尝试注册 Windows 计算机时收到错误提示说设备已注册,但您无法或已经取消注册设备,那么注册表中可能还有设备注册配置的残留片段。 若要调查并删除此项,请使用以下步骤:
- 在 Windows 计算机上,打开 Regedit 并导航到 HKLM\Software\Microsoft\Enrollments
- 在此项下,有 GUID 形式的子项。 导航到其中包含大约 17 个值且“EnrollmentType”为“6”[联接 MDM] 或“13”(联接 Microsoft Entra)的子项
- 将 EnrollmentType 修改为 0
- 再次尝试设备注册