面向现有设备的 Windows Autopilot 部署
使用 Windows Autopilot 的新式桌面部署有助于轻松地将最新版本的 Windows 部署到现有设备。 可以自动安装组织使用的应用。 如果 Windows 用户数据是使用 OneDrive 进行工作或学校管理的,则数据会同步,以便用户可以立即恢复工作。
面向现有设备的 Windows Autopilot允许使用单个本机Configuration Manager任务序列为 Autopilot 用户驱动模式重置映像和预配 Windows 设备。 现有设备可以加入本地域。 最终结果是将 Windows 设备加入到 Microsoft Entra ID 或 Active Directory (Microsoft Entra 混合联接) 。
注意
面向现有设备的 Windows Autopilot 的 JSON 文件仅支持用户驱动的Microsoft Entra ID和用户驱动的混合Microsoft Entra Autopilot 配置文件。 JSON 文件不支持自部署和预预配 Autopilot 配置文件,因为这些方案需要 TPM 证明。
但是,在面向现有设备的 Windows Autopilot部署期间,如果满足以下条件:
- 在部署开始之前,设备已是 Windows Autopilot 设备
- 设备分配有 Autopilot 配置文件
则分配的 Autopilot 配置文件优先于任务序列安装的 JSON 文件。 在此方案中,如果分配的 Autopilot 配置文件是自部署或预预配 Autopilot 配置文件,则支持自部署和预预配方案。
提示
对现有设备使用 Autopilot 可用作将现有混合Microsoft Entra设备转换为Microsoft Entra设备的方法。 使用 Autopilot 配置文件中的所有目标设备转换为 Autopilot 设置不会自动将分配组中的现有混合Microsoft Entra设备转换为Microsoft Entra设备。 设置仅为 Autopilot 服务在分配的组中注册设备。
要求
当前支持的 Microsoft Configuration Manager 当前分支版本。
已分配Microsoft Intune许可证。
Microsoft Entra ID P1 或 P2。
作为 OS 映像导入Configuration Manager支持的 Windows 版本。
运行安装所需模块的 PowerShell 命令和脚本时,Windows Server 2012/2012 R2 需要Windows Management Framework。
注册限制未配置为阻止个人设备。 有关详细信息,请参阅 什么是注册限制?:阻止个人 Windows 设备。
配置“注册状态”页 (可选)
如果需要,可以使用 Intune 设置注册状态页 (适用于 Autopilot 的 ESP) 。
转到“设备>”“ | 设备载入注册”。 请确保在顶部选择了 “Windows ”,然后在“ Windows Autopilot”下,选择“ 注册状态页 ”和“ 设置注册状态页”。
转到Microsoft Entra ID>管理 | 移动性 (MDM 和 WIP) >Microsoft Intune并启用 Windows 自动注册。 为部分或所有用户配置 MDM 用户范围。
安装所需的模块
注意
本部分中的 PowerShell 代码片段已于 2023 年 7 月更新为使用 Microsoft Graph PowerShell 模块,而不是已弃用的 AzureAD Graph PowerShell 模块。 首次使用 Microsoft Graph PowerShell 模块时,可能需要在 Microsoft Entra ID 中批准其他权限。 它还更新为使用 WindowsAutoPilot 模块的更新版本强制使用。 有关详细信息,请参阅 AzureAD 和 重要提示:Azure AD Graph 停用和 PowerShell 模块弃用。
在连接 Internet 的 Windows 电脑或服务器上,打开提升的Windows PowerShell命令窗口。
输入以下命令以安装和导入所需的模块:
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force Install-Module -Name WindowsAutopilotIntune -MinimumVersion 5.4.0 -Force Install-Module -Name Microsoft.Graph.Groups -Force Install-Module -Name Microsoft.Graph.Authentication -Force Install-Module -Name Microsoft.Graph.Identity.DirectoryManagement -Force Import-Module -Name WindowsAutopilotIntune -MinimumVersion 5.4 Import-Module -Name Microsoft.Graph.Groups Import-Module -Name Microsoft.Graph.Authentication Import-Module -Name Microsoft.Graph.Identity.DirectoryManagement
输入以下命令并提供Intune管理凭据:
确保指定的用户帐户具有足够的管理权限。
Connect-MgGraph -Scopes "Device.ReadWrite.All", "DeviceManagementManagedDevices.ReadWrite.All", "DeviceManagementServiceConfig.ReadWrite.All", "Domain.ReadWrite.All", "Group.ReadWrite.All", "GroupMember.ReadWrite.All", "User.Read"
Windows 使用标准Microsoft Entra ID窗体请求帐户的用户名和密码。 键入用户名和密码,然后选择“ 登录”。
第一次在设备上使用Intune Graph API 时,系统会提示启用Microsoft Intune PowerShell 读取和写入权限。 若要启用这些权限,请选择“ 代表或组织同意” ,然后选择“ 接受”。
获取现有设备的 Autopilot 配置文件
获取 Intune 租户中可用的所有 Autopilot 配置文件,并将它们以 JSON 格式显示:
Get-AutopilotProfile | ConvertTo-AutopilotConfigurationJSON
请参阅以下示例输出:
PS C:\> Get-AutopilotProfile | ConvertTo-AutopilotConfigurationJSON
{
"CloudAssignedTenantId": "1537de22-988c-4e93-b8a5-83890f34a69b",
"CloudAssignedForcedEnrollment": 1,
"Version": 2049,
"Comment_File": "Profile Autopilot Profile",
"CloudAssignedAadServerData": "{\"ZeroTouchConfig\":{\"CloudAssignedTenantUpn\":\"\",\"ForcedEnrollment\":1,\"CloudAssignedTenantDomain\":\"M365x373186.onmicrosoft.com\"}}",
"CloudAssignedTenantDomain": "M365x373186.onmicrosoft.com",
"CloudAssignedDomainJoinMethod": 0,
"CloudAssignedOobeConfig": 28,
"ZtdCorrelationId": "7F9E6025-1E13-45F3-BF82-A3E8C5B59EAC"
}
每个配置文件封装在大括号 ({ }
) 内。 上一个示例显示单个配置文件。
JSON 文件属性
属性 | 类型 | 必需 | 说明 |
---|---|---|---|
版本 | 数字 | 可选 | 标识 JSON 文件格式的版本号。 |
CloudAssignedTenantId | GUID | 必需 | 应使用的Microsoft Entra租户 ID。 此属性是租户的 GUID,可在租户的属性中找到。 该值不应包含大括号。 |
CloudAssignedTenantDomain | String | 必需 | 应使用的Microsoft Entra租户名称。 例如:tenant.onmicrosoft.com 。 |
CloudAssignedOobeConfig | 数字 | 必需 | 此属性是一个位图,显示配置了哪些 Autopilot 设置。
|
CloudAssignedDomainJoinMethod | 数字 | 必需 | 此属性指定设备是应加入Microsoft Entra ID还是 Active Directory (Microsoft Entra 混合联接) 。
|
CloudAssignedForcedEnrollment | 数字 | 必需 | 指定设备需要Microsoft Entra联接和 MDM 注册。
|
ZtdCorrelationId | GUID | 必需 | 在注册过程中向Intune提供不带大括号的唯一 GUID () 。 此 ID 作为 包含在注册消息中 OfflineAutopilotEnrollmentCorrelator 。 仅当通过脱机注册使用零接触预配注册的设备上进行注册时,此属性才存在。 |
CloudAssignedAadServerData | 编码的 JSON 字符串 | 必需 | 用于品牌打造的嵌入式 JSON 字符串。 它需要启用Microsoft Entra组织品牌。 例如:"CloudAssignedAadServerData": "{\"ZeroTouchConfig\":{\"CloudAssignedTenantUpn\":\"\",\"CloudAssignedTenantDomain\":\"tenant.onmicrosoft.com\"}} |
CloudAssignedDeviceName | String | 可选 | 自动分配给计算机的名称。 此名称遵循Intune Autopilot 配置文件中配置的命名模式约定。 还可以指定显式名称。 |
创建 JSON 文件
将 Autopilot 配置文件保存为 ASCII 或 ANSI 格式的 JSON 文件。 Windows PowerShell默认为 Unicode 格式。 如果将命令的输出重定向到文件,还要指定文件格式。 以下 PowerShell 示例以 ASCII 格式保存文件。 Autopilot 配置文件显示在变量指定的 $targetDirectory
文件夹下的子文件夹中。 默认情况下,变量 $targetDirectory
为 C:\AutoPilot
,但如果需要,可以将其更改为其他位置。 子文件夹具有 Intune 中的 Autopilot 配置文件的名称。 如果有多个 Autopilot 配置文件,则每个配置文件都有自己的子文件夹。 每个文件夹中都有一个名为 的 JSON 文件 AutopilotConfigurationFile.json
Connect-MgGraph -Scopes "Device.ReadWrite.All", "DeviceManagementManagedDevices.ReadWrite.All", "DeviceManagementServiceConfig.ReadWrite.All", "Domain.ReadWrite.All", "Group.ReadWrite.All", "GroupMember.ReadWrite.All", "User.Read"
$AutopilotProfile = Get-AutopilotProfile
$targetDirectory = "C:\Autopilot"
$AutopilotProfile | ForEach-Object {
New-Item -ItemType Directory -Path "$targetDirectory\$($_.displayName)"
$_ | ConvertTo-AutopilotConfigurationJSON | Set-Content -Encoding Ascii "$targetDirectory\$($_.displayName)\AutopilotConfigurationFile.json"
}
提示
当 PowerShell cmdlet Out-File 用于将 JSON 输出重定向到文件时,它默认使用 Unicode 编码。 此 cmdlet 还可能会截断长行。 将 Set-Content cmdlet 与 参数一起使用 -Encoding ASCII
可设置正确的文本编码。
重要
文件名必须 AutopilotConfigurationFile.json
编码为 ASCII 或 ANSI。
配置文件也可以保存到文本文件并在记事本中编辑。 在记事本中,选择“ 另存为”时,选择“保存类型: 所有文件”,然后选择“ ANSI ”作为 “编码”。
保存文件后,将其移动到Microsoft Configuration Manager包源的位置。
重要
配置文件只能包含一个配置文件。 可以使用多个 JSON 配置文件,但每个配置文件都必须命名为 AutopilotConfigurationFile.json
。 此要求是 OOBE 遵循 Autopilot 体验。 若要使用多个 Autopilot 配置文件,请创建单独的Configuration Manager包。
如果文件是使用以下条件之一保存的,则 Windows OOBE 不会遵循 Autopilot 体验:
- Unicode 编码。
- UTF-8 编码。
- 除 以外的
AutopilotConfigurationFile.json
文件名。
创建包含 JSON 文件的包
在Configuration Manager控制台中,转到“软件库”工作区,展开“应用程序管理”,然后选择“包”节点。
在功能区上,选择“ 创建包”。
在“创建包和程序向导”中,输入包的以下详细信息:
- 名称: 现有设备的 Autopilot 配置
- 选择“此包包含源文件”
-
源文件夹:指定包含文件的
AutopilotConfigurationFile.json
UNC 网络路径
有关详细信息,请参阅 Configuration Manager 中的包和程序。
对于程序,请选择“程序类型:不创建程序”
完成该向导。
注意
如果以后Intune中用户驱动的 Autopilot 配置文件设置已更改,请确保重新创建并更新 JSON 文件。 更新 JSON 文件后,重新分发关联的Configuration Manager包。
创建目标集合
在Configuration Manager控制台中,转到“资产和符合性”工作区,然后选择“设备集合”节点。
在功能区上,选择“ 创建”,然后选择“ 创建设备集合”。 也可以使用现有集合。 如果使用现有集合,请转到 创建任务序列 部分。
在“创建设备集合向导”中,输入以下 常规 详细信息:
- 名称: 现有设备集合的 Autopilot
- 注释:添加可选注释以进一步描述集合
- 限制集合: 所有系统 或备用集合(如果需要)。
在 “成员身份规则 ”页上,选择“ 添加规则”。 指定直接或基于查询的集合规则,将目标 Windows 设备添加到新集合。
例如,如果要擦除和重新加载的计算机的主机名为
PC-01
,并且 Name 用作 属性:选择 “添加规则”,选择“ 直接规则 ”以打开“创建直接成员身份规则向导”,然后在“欢迎”页上选择“ 下一步 ”。
在 “搜索资源 ”页上,输入 “PC-01 ”作为 “值”。
选择“下一步”,然后在“资源”中选择“PC-01”。
使用默认设置完成向导。
有关详细信息,请参阅如何在 Configuration Manager 中创建集合。
创建任务序列
在Configuration Manager控制台中,转到“软件库”工作区,展开“操作系统”,然后选择“任务序列”节点。
在 “主页 ”功能区中,选择“ 创建任务序列”。
在“创建新任务序列”页中,选择“部署面向现有设备的 Windows Autopilot” 选项。
在 “任务序列信息 ”页中,指定以下信息:
- 任务序列的名称。 例如, 现有设备的 Autopilot。
- (可选)添加说明以更好地描述任务序列。
- 选择启动映像。 有关支持的启动映像版本的详细信息,请参阅支持 Configuration Manager 中的 Windows ADK。
在 “安装 Windows ”页中,选择“Windows 映像”包。 然后配置以下设置:
图像索引:根据组织的要求,选择“企业”、“教育”或“专业”。
在 安装操作系统之前,启用“分区和格式化目标计算机”选项。
配置用于 Bitlocker 的任务序列:如果启用此选项,任务序列将包括启用 BitLocker 所需的步骤。
产品密钥:如果需要为 Windows 激活指定产品密钥,请在此处输入它。
选择以下选项之一,在 Windows 中配置本地管理员帐户:
- 随机生成本地管理员密码,并在所有支持平台上禁用帐户, (建议)
- 启用帐户并指定本地管理员密码
在“安装Configuration Manager客户端”页中,为环境添加任何必需的Configuration Manager客户端安装属性。 例如,由于设备是工作组设备,并且未在面向现有设备的 Windows Autopilot任务序列期间加入域,因此可能需要 SMSMP 或 SMSMPLIST 参数来运行某些任务,例如安装应用程序或安装软件汇报任务。
“ 包括更新 ”页默认选择“ 不安装任何软件更新”选项。
在 “安装应用程序 ”页中,可以选择在任务序列期间安装的应用程序。 但是,Microsoft建议使用此方案镜像签名映像方法。 使用 Autopilot 预配设备后,应用Microsoft Intune或Configuration Manager共同管理的所有应用程序和配置。 此过程在接收新设备的用户与使用面向现有设备的 Windows Autopilot的用户之间提供一致的体验。
在 “系统准备 ”页中,选择包含 Autopilot 配置文件的包。 默认情况下,任务序列在运行 Windows Sysprep 后重启计算机。 还可以选择 “在此任务序列完成后关闭计算机 ”选项。 此选项允许准备设备,然后交付给用户,以获取一致的 Autopilot 体验。
完成该向导。
面向现有设备的 Windows Autopilot任务序列会导致设备加入到Microsoft Entra ID。
注意
对于面向现有设备的 Windows Autopilot任务序列,“创建任务序列向导”特意跳过配置和添加“应用网络设置”任务。 如果未在任务序列中指定 “应用网络设置” 任务,它将使用 Windows 默认行为,即加入工作组。
面向现有设备的 Windows Autopilot任务序列运行“为捕获准备 Windows”步骤,该步骤使用 Windows 系统准备工具 (Sysprep) 。 如果设备已加入域,Sysprep 将失败,因此面向现有设备的 Windows Autopilot任务序列将加入工作组。 因此,无需将“应用网络设置”任务添加到面向现有设备的 Windows Autopilot任务序列。
有关创建任务序列的详细信息(包括有关其他向导选项的信息),请参阅 创建任务序列以安装 OS。
如果查看了任务序列,则类似于应用现有 OS 映像的默认任务序列。 此任务序列包括以下额外步骤:
应用 Windows Autopilot 配置:此步骤应用指定包中的 Autopilot 配置文件。 这不是一种新的步骤类型,它是 复制文件的“运行命令行 ”步骤。
准备用于捕获的 Windows:此步骤运行 Windows Sysprep,并具有 在运行此操作后关闭计算机的设置。 有关详细信息,请参阅 准备用于捕获的 Windows。
有关编辑任务序列的详细信息,请参阅 使用任务序列编辑器 和 任务序列步骤。
注意
“准备 Windows 进行捕获”步骤会AutopilotConfigurationFile.json
删除文件。 有关详细信息和解决方法,请参阅修改任务序列以考虑 Sysprep 命令行配置和 Windows Autopilot - 已知问题:面向现有设备的 Windows Autopilot不起作用。
若要确保在 Windows 升级之前备份用户的数据,请使用 OneDrive 移动工作或学校 已知文件夹。
将内容分发到分发点
接下来,将任务序列所需的所有内容分发到分发点。
选择 “现有设备的 Autopilot ”任务序列,并在功能区中选择“ 分发内容”。
在 “指定内容目标 ”页上,选择“ 添加 ”以指定 分发点 或 分发点组。
指定允许设备获取内容的内容目标。
指定内容分发后,完成向导。
有关详细信息,请参阅 管理任务序列以自动执行任务。
部署 Autopilot 任务序列
选择 “现有设备的 Autopilot ”任务序列,并在功能区中选择“ 部署”。
在“部署软件向导”中,指定以下详细信息:
常规
任务序列: 现有设备的 Autopilot
集合: 现有设备的 Autopilot 集合
部署设置
操作: 安装。
目的: 可用。
对以下项可用:仅Configuration Manager客户端。
注意
在此处选择与测试上下文相关的选项。 如果目标客户端未安装 Configuration Manager 代理或 Windows,则需要通过 PXE 或启动媒体启动任务序列。
计划
- 设置此部署可用的时间
用户体验
- 选择“显示任务序列进度”
分发点
- 部署选项: 运行中的任务序列需要时在本地下载内容
完成该向导。
完成部署过程
在目标 Windows 设备上,转到“ 开始 ”菜单,输入
Software Center
并打开它。在“软件库”的“ 操作系统”下, 为现有设备选择“Autopilot”,然后选择“ 安装”。
任务序列运行并执行以下操作:
下载内容。
将设备重新启动到 WinPE 中。
格式化驱动器。
从指定的 OS 映像安装 Windows。
准备 Autopilot。
任务序列完成后,设备启动到 OOBE,以获取 Autopilot 体验:
注意
如果需要将设备加入 Active Directory 作为Microsoft Entra混合联接方案的一部分,请不要通过任务序列和“应用网络设置任务”执行此操作。 请改为创建 域加入 设备配置文件。 由于计算机没有Microsoft Entra设备对象来执行基于组的目标,因此将配置文件定位到“所有设备”。 有关详细信息,请参阅Microsoft Entra混合联接的用户驱动模式。
为 Windows Autopilot 注册设备
使用 Autopilot 预配的设备仅在首次启动时接收引导式 OOBE Autopilot 体验。
在现有设备上更新 Windows 后,请确保注册设备,以便在电脑重置时具有 Autopilot 体验。 通过使用 Autopilot 配置文件中分配给设备所属组的 Autopilot 配置文件中的“ 将所有目标设备转换为 Autopilot ”设置,可以为设备启用自动注册。 有关详细信息,请参阅创建 Autopilot 部署配置文件。
另请参阅 将设备添加到 Windows Autopilot。
注意
- 通常,目标设备不会注册到 Windows Autopilot 服务。 如果设备已注册,则分配的配置文件优先。 仅当联机配置文件超时时,现有设备的 Autopilot 配置文件才适用。
应用分配的配置文件后,Microsoft Intune 和 Microsoft Entra ID设备对象的 enrollmentProfileName 属性与 Windows Autopilot 配置文件名称匹配。
应用面向现有设备的 Windows Autopilot配置文件时,Microsoft Intune 和 Microsoft Entra ID 中设备对象的 enrollmentProfileName 属性为 OffilineAutoPilotProfile-ZtdCorrelationId<>。
如何加快部署过程
若要加快部署过程,请参阅 Autopilot 教程的 Windows Autopilot 部署:加快部署过程部分。
教程
有关配置面向现有设备的 Windows Autopilot的详细教程,请参阅以下文章:
Intune 和 Configuration Manager 中现有设备的 Windows Autopilot 部署分步教程