使用 Windows Autopilot 进行新式桌面部署可帮助轻松地将最新版本的 Windows 部署到现有设备。 可自动安装组织使用的应用。 如果使用 OneDrive 工作或学校管理 Windows 用户数据,则数据将同步,因此用户可以立即恢复工作。
面向现有设备的 Windows Autopilot 允许使用单个本机 Configuration Manager 任务序列为 Windows Autopilot 用户驱动模式重新映像和预配 Windows 设备。 现有设备可以加入本地域。 最终结果是 Windows 设备 (Microsoft Entra 混合联接) 加入 Microsoft Entra ID 或 Active Directory。
注意
面向现有设备的 Windows Autopilot 的 JSON 文件仅支持用户驱动的 Microsoft Entra ID 和用户驱动的混合 Microsoft Entra Windows Autopilot 配置文件。 由于这些场景需要 TPM 证明,JSON 文件不支持自部署和预预配 Windows Autopilot 配置文件。
但是,在面向现有设备的 Windows Autopilot 部署期间,如果满足以下条件:
- 在部署开始之前,设备已是 Windows Autopilot 设备
- 设备分配有 Windows Autopilot 配置文件
然后,分配的 Windows Autopilot 配置文件优先于任务序列安装的 JSON 文件。 在这种情况下,如果分配的 Windows Autopilot 配置文件是自部署或预预配 Windows Autopilot 配置文件,则支持自部署和预预配方案。
提示
面向现有设备的 Windows Autopilot 可用作将现有混合 Microsoft Entra 设备转换为 Microsoft Entra 设备的一种方法。 使用 Windows Autopilot 配置文件中的“将所有目标设备转换为 Autopilot”设置不会自动将分配的组中的现有混合 Microsoft Entra 设备转换为 Microsoft Entra 设备。 此设置仅在为 Windows Autopilot 服务分配的组中注册设备。
要求
当前支持的 Microsoft Configuration Manager 当前分支版本。
已分配的 Microsoft Intune 许可证。
Microsoft Entra ID P1 或 P2。
作为操作系统映像导入到 Configuration Manager 中的受支持的 Windows 版本。
注册限制未配置为阻止个人设备。 有关详细信息,请参阅 什么是注册限制?:阻止个人 Windows 设备。
重要
在混合加入方案中使用 .json 文件注册的任何设备通常都注册为企业设备。
配置注册状态页 (可选)
如果需要,可以使用 Intune 设置 Windows 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 读取和写入权限。 若要启用这些权限,请选择“ 代表或组织 同意”,然后选择 “接受”。
获取现有设备的 Windows Autopilot 配置文件
获取 Intune 租户中可用的所有 Windows 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 | 数字 | 必需 | 此属性是一个位图,显示配置了哪些 Windows 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 Windows Autopilot 配置文件中配置的命名模式约定。 也可以指定显式名称。 |
创建 JSON 文件
将 Windows Autopilot 配置文件另存为 ASCII 或 ANSI 格式的 JSON 文件。 Windows PowerShell 默认为 Unicode 格式。 如果将命令的输出重定向到文件,还请指定文件格式。 以下 PowerShell 示例以 ASCII 格式保存该文件。 Windows Autopilot 配置文件显示在变量指定的 $targetDirectory 文件夹下的子文件夹中。 默认情况下,变量为 $targetDirectoryC:\AutoPilot,但如果需要,可以将其更改为其他位置。 子文件夹具有来自 Intune 的 Windows Autopilot 配置文件的名称。 如果有多个 Windows Autopilot 配置文件,则每个配置文件都有其自己的子文件夹。 在每个文件夹中,都有一个名为 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,并且编码为 ASCII。
配置文件也可以保存到文本文件并在记事本中进行编辑。 在记事本中选择“另存为”时,选择“另存为类型:”All Files“,然后选择”ANSI“作为编码。
保存文件后,将其移动到 Microsoft Configuration Manager 包源的位置。
重要
配置文件只能包含一个配置文件。 可以使用多个 JSON 配置文件,但每个文件都必须命名 AutopilotConfigurationFile.json为。 此要求是 OOBE 遵循 Windows Autopilot 体验。 若要使用多个 Windows Autopilot 配置文件,请创建单独的 Configuration Manager 包。
如果文件是按照以下条件之一保存的,则 Windows OOBE 不会遵循 Windows Autopilot 体验:
- Unicode 编码。
- UTF-8 编码。
-
AutopilotConfigurationFile.json除 .
创建包含 JSON 文件的包
在 Configuration Manager 控制台中,转到“软件库”工作区,展开“应用程序管理”,然后选择“程序包”节点。
在功能区上,选择 “创建包”。
在“创建包和程序向导”中,输入包的以下详细信息:
- 名称: 面向现有设备的 Windows Autopilot 配置
- 选择 此包包含源文件
-
源文件夹:指定包含
AutopilotConfigurationFile.json文件的 UNC 网络路径
有关详细信息,请参阅 Configuration Manager 中的程序包和程序。
对于程序,请选择 程序类型: 不创建程序
完成该向导。
注意
如果以后更改了 Intune 中用户驱动的 Windows Autopilot 配置文件设置,请确保重新创建并更新 JSON 文件。 更新 JSON 文件后,重新分发关联的 Configuration Manager 包。
创建目标集合
在 Configuration Manager 控制台中,转到“资产和合规性”工作区,然后选择“设备集合”节点。
在功能区上,选择 “创建”,然后选择“ 创建设备集合”。 也可以使用现有集合。 如果使用现有集合,请转到创建 任务序列 部分。
在创建设备集合向导中,输入以下 常规 详细信息:
- 名称:面向现有设备的 Windows Autopilot 集合
- 注释:添加可选注释以进一步描述集合
- 限制集合: 所有系统 或如果需要,备用集合。
在 成员身份规则 页面上,选择 添加规则。 指定直接或基于查询的集合规则,以将目标 Windows 设备添加到新集合。
例如,如果要擦除和重新加载的计算机的主机名为
PC-01,并且 Name 被用作属性:选择 “添加规则”,选择“ 直接规则 ”以打开创建直接成员身份规则向导,并在“欢迎”页面上选择 “下一步 ”。
在“ 搜索资源 ”页上,输入 PC-01 作为 值。
选择“下一步”,然后在“资源”中选择 PC-01。
使用默认设置完成向导。
有关详细信息,请参阅如何在 Configuration Manager 中创建集合。
创建任务序列
在 Configuration Manager 控制台中,转到“软件库”工作区,展开“操作系统”,然后选择“任务序列”节点。
在 “主页 ”功能区中,选择“ 创建任务序列”。
在“创建新的任务序列”页中,选择“面向现有设备的 Windows Autopilot”部署 Windows Autopilot 选项。
在 “任务序列信息 ”页中,指定以下信息:
- 任务序列的名称。 例如,面向现有设备的 Windows Autopilot。
- (可选)添加说明以更好地描述任务序列。
- 选择启动映像。 有关受支持的启动映像版本的详细信息,请参阅 Configuration Manager 中对 Windows ADK 的支持。
在 “安装 Windows” 页中,选择 Windows 映像包。 然后配置以下设置:
图像索引:根据组织的要求,选择企业版、教育版或专业版。
在 安装操作系统之前启用“分区”选项并对目标计算机进行格式化。
配置任务序列以与 Bitlocker 一起使用:如果启用此选项,则任务序列将包括启用 BitLocker 所需的步骤。
产品密钥:如果需要为 Windows 激活指定产品密钥,请在此处输入它。
选择以下选项之一,在 Windows 中配置本地管理员帐户:
- 随机生成本地管理员密码,并在所有支持平台上禁用该帐户 (建议)
- 启用帐户并指定本地管理员密码
在“安装 Configuration Manager 客户端”页中,为环境添加任何必要的 Configuration Manager 客户端安装属性。 例如,由于设备是工作组设备,并且在面向现有设备的 Windows Autopilot 任务序列期间未加入域,因此可能需要 SMSMP 或 SMSMPLIST 参数来运行某些任务,例如安装应用程序或安装软件汇报任务。
默认情况下, “包括更新” 页面选择“ 不安装任何软件更新”选项。
在 “安装应用程序” 页中,可以选择要在任务序列期间安装的应用程序。 但是,Microsoft 建议在此方案中镜像签名图像方法。 使用 Windows Autopilot 预配设备后,应用 Microsoft Intune 或 Configuration Manager 共同管理中的所有应用程序和配置。 此过程在接收新设备的用户和使用适用于现有设备的 面向现有设备的 Windows Autopilot 的用户之间提供了一致的体验。
在 “系统准备 ”页面中,选择包含 Windows Autopilot 配置文件的程序包。 默认情况下,任务序列在运行 Windows Sysprep 后重启计算机。 还可以选择 在此任务序列完成后关闭计算机的 选项。 此选项允许准备设备,然后交付给用户以获得一致的 Windows Autopilot 体验。
完成该向导。
面向现有设备的 Windows Autopilot 任务序列导致设备加入 Microsoft Entra ID。
注意
对于面向现有设备的 Windows Autopilot 任务序列,创建任务序列向导会故意跳过配置和添加“应用网络设置”任务。 如果未在任务序列中指定“ 应用网络设置 ”任务,它将使用 Windows 默认行为,即加入工作组。
面向现有设备的 Windows Autopilot任务序列运行准备 Windows 以进行捕获步骤,该步骤使用 Windows 系统准备工具 (Sysprep) 。 如果设备加入域,Sysprep 将失败,因此面向现有设备的 Windows Autopilot 任务序列将加入工作组。 因此,无需将“应用网络设置”任务添加到现有设备的 面向现有设备的 Windows Autopilot 任务序列。
有关创建任务序列的详细信息,包括有关其他向导选项的信息,请参阅 创建任务序列以安装操作系统。
如果查看任务序列,则它类似于应用现有 OS 映像的默认任务序列。 此任务序列包括以下额外步骤:
应用 Windows Autopilot 配置:此步骤应用指定包中的 Windows Autopilot 配置文件。 这不是一种新的步骤类型,而是一个用于复制文件的 运行命令行 步骤。
准备 Windows 以进行记录:此步骤运行 Windows Sysprep,并设置在运行此操作后关闭计算机。 有关详细信息,请参阅准备 Windows 以记录。
有关编辑任务序列的详细信息,请参阅 使用任务序列编辑器 和 任务序列步骤。
注意
“准备 Windows 以进行记录”步骤会删除该AutopilotConfigurationFile.json文件。 有关详细信息和解决方法,请参阅修改任务序列以考虑 Sysprep 命令行配置和 Windows Autopilot - 已知问题:面向现有设备的 Windows Autopilot 无法正常工作。
若要确保在 Windows 升级前备份用户的数据,请使用工作或学校 OneDrive 已知文件夹移动。
将内容分发到分发点
接下来,将任务序列所需的所有内容分发到分发点。
选择面向现有设备的 Windows Autopilot 任务序列,然后在功能区中选择“分发内容”。
在 “指定内容目标” 页上,选择“ 添加 ”以指定 分发点 或 分发点组。
指定允许设备获取内容的内容目标。
指定内容分发后,完成向导。
有关详细信息,请参阅 管理任务序列以自动执行任务。
部署 Windows Autopilot 任务序列
选择面向现有设备的 Windows Autopilot 任务序列,然后在功能区中选择“部署”。
在“部署软件向导”中,指定以下详细信息:
常规
任务序列:面向现有设备的 Windows Autopilot
集合:面向现有设备的 Windows Autopilot 集合
部署设置
操作: 安装。
用途: 可用。
可用于以下内容:仅限 Configuration Manager 客户端。
注意
选择此处与测试上下文相关的选项。 如果目标客户端未安装 Configuration Manager 代理或 Windows,则需要通过 PXE 或启动介质启动任务序列。
计划
- 设置此部署可用的时间
用户体验
- 选择“显示任务序列进度”
分发点
- 部署选项: 在运行任务序列需要时本地下载内容
完成该向导。
完成部署过程
在目标 Windows 设备上,转到 “开始” 菜单,输入
Software Center,然后将其打开。在软件库的“操作系统”下,选择面向现有设备的 Windows Autopilot,然后选择“安装”。
任务序列运行并执行以下操作:
下载内容。
将设备重新启动到 WinPE。
格式化驱动器。
从指定的操作系统映像安装 Windows。
为 Windows Autopilot 做好准备。
任务序列完成后,设备将启动到 OOBE 以获得 Windows Autopilot 体验:
注意
如果需要将设备作为 Microsoft Entra 混合加入方案的一部分加入 Active Directory,请不要通过任务序列和“应用网络设置”任务执行此操作。 请改为创建 加入域设备 配置文件。 由于计算机没有 Microsoft Entra 设备对象来执行基于组的定向,因此请将配置文件定向到“所有设备”。 有关详细信息,请参阅 Microsoft Entra 混合加入的用户驱动模式。
为 Windows Autopilot 注册设备
预配了 Windows Autopilot 的设备仅在首次启动时接收引导式 OOBE Windows Autopilot 体验。
在现有设备上更新 Windows 后,请确保注册设备,以便在电脑重置时具有 Windows Autopilot 体验。 可使用分配给设备所属组的 Windows Autopilot 配置文件中的“将 所有目标设备转换为 Autopilot ”设置,为设备启用自动注册。 有关详细信息,请参阅 创建 Windows Autopilot 部署配置文件。
注意
- 通常情况下,目标设备不会注册到 Windows Autopilot 服务。 如果设备已注册,则优先分配的配置文件。 面向现有设备的 Windows Autopilot 配置文件仅在联机配置文件超时时适用。
应用分配的配置文件时,Microsoft Intune 和 Microsoft Entra ID 中设备对象的 enrollmentProfileName 属性与 Windows Autopilot 配置文件名称匹配。
应用面向现有设备的 Windows Autopilot 配置文件时,Microsoft Intune 和 Microsoft Entra ID 中设备对象的 enrollmentProfileName 属性为 OffilineAutoPilotProfile-ZtdCorrelationId<>。
如何加快部署过程
若要加快部署过程,请参阅现有设备的 Windows Autopilot 部署:Windows Autopilot 教程中的“加速部署过程”部分。
教程
有关面向现有设备的 Windows Autopilot 配置的详细教程,请参阅以下文章:
Intune 和 Configuration Manager 中现有设备的 Windows Autopilot 部署分步教程