适用于现有设备的 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) 。

  1. 打开Microsoft Intune管理中心

  2. 转到 “设备 > 注册设备” > “Windows 注册 > 状态”页“设置注册状态”页

    Intune中的注册状态页策略页。

  3. 转到 Microsoft Entra ID > 移动性 (MDM 和 MAM) > Microsoft Intune启用 Windows 自动注册。 为部分或所有用户配置 MDM 用户范围。

    在 Azure 中配置 MDM 注册。

安装所需的模块

注意

本部分中的 PowerShell 代码片段已于 2023 年 7 月更新为使用 Microsoft Graph PowerShell 模块,而不是已弃用的 AzureAD Graph PowerShell 模块。 首次使用 Microsoft Graph PowerShell 模块时,可能需要在 Microsoft Entra ID 中批准其他权限。 它还更新为使用 WindowsAutoPilot 模块的更新版本强制使用。 有关详细信息,请参阅 AzureAD重要提示:Azure AD Graph 停用和 PowerShell 模块弃用

  1. 在连接 Internet 的 Windows 电脑或服务器上,打开提升的Windows PowerShell命令窗口。

  2. 输入以下命令以安装和导入所需的模块:

    Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
    Install-Module WindowsAutopilotIntune -MinimumVersion 5.4.0 -Force
    Install-Module Microsoft.Graph.Groups -Force
    Install-Module Microsoft.Graph.Authentication -Force
    Install-Module Microsoft.Graph.Identity.DirectoryManagement -Force
    
    Import-Module WindowsAutopilotIntune -MinimumVersion 5.4
    Import-Module Microsoft.Graph.Groups
    Import-Module Microsoft.Graph.Authentication
    Import-Module Microsoft.Graph.Identity.DirectoryManagement
    
  3. 输入以下命令并提供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窗体请求帐户的用户名和密码。 键入用户名和密码,然后选择“ 登录”。

    用于登录到 Microsoft Entra 帐户的 Windows 窗体。

    第一次在设备上使用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 设置。

  • 1:SkipCortanaOptIn
  • 2:OobeUserNotLocalAdmin
  • 4:SkipExpressSettings
  • 8:SkipOemRegistration
  • 16:SkipEula
CloudAssignedDomainJoinMethod 数字 必需 此属性指定设备是应加入Microsoft Entra ID还是 Active Directory (Microsoft Entra 混合联接) 。

  • 0:已加入Microsoft Entra
  • 1:Microsoft Entra混合联接
CloudAssignedForcedEnrollment 数字 必需 指定设备需要Microsoft Entra联接和 MDM 注册。

  • 0:不需要
  • 1:必需
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 文件夹下的子文件夹中。 默认情况下,变量 $targetDirectoryC:\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 ”作为 “编码”。

在记事本中另存为 ANSI 编码。

保存文件后,将其移动到Microsoft Configuration Manager包源的位置。

重要

配置文件只能包含一个配置文件。 可以使用多个 JSON 配置文件,但每个配置文件都必须命名为 AutopilotConfigurationFile.json。 此要求是 OOBE 遵循 Autopilot 体验。 若要使用多个 Autopilot 配置文件,请创建单独的Configuration Manager包。

如果文件是使用以下条件之一保存的:

  • Unicode 编码
  • UTF-8 编码
  • 文件名,而不是 AutopilotConfigurationFile.json

则 Windows OOBE 不遵循 Autopilot 体验。

创建包含 JSON 文件的包

  1. 在Configuration Manager控制台中,转到“软件库”工作区,展开“应用程序管理”,然后选择“包”节点。

  2. 在功能区上,选择“ 创建包”。

  3. 在“创建包和程序向导”中,输入包的以下详细信息:

    • 名称现有设备的 Autopilot 配置
    • 选择“此包包含源文件
    • 源文件夹:指定包含文件的 AutopilotConfigurationFile.json UNC 网络路径

    有关详细信息,请参阅 Configuration Manager 中的包和程序

  4. 对于程序,请选择“程序类型不创建程序

  5. 完成该向导。

注意

如果以后Intune中用户驱动的 Autopilot 配置文件设置已更改,请确保重新创建并更新 JSON 文件。 更新 JSON 文件后,重新分发关联的Configuration Manager包。

创建目标集合

  1. 在Configuration Manager控制台中,转到“资产和符合性”工作区,然后选择“设备集合”节点。

  2. 在功能区上,选择“ 创建”,然后选择“ 创建设备集合”。 也可以使用现有集合。 如果使用现有集合,请转到 创建任务序列 部分。

  3. 在“创建设备集合向导”中,输入以下 常规 详细信息:

    • 名称现有设备集合的 Autopilot
    • 注释:添加可选注释以进一步描述集合
    • 限制集合所有系统 或备用集合(如果需要)。
  4. “成员身份规则 ”页上,选择“ 添加规则”。 指定直接或基于查询的集合规则,将目标 Windows 设备添加到新集合。

    例如,如果要擦除和重新加载的计算机的主机名为 PC-01,并且 Name 用作 属性:

    1. 选择 “添加规则”,选择“ 直接规则 ”以打开“创建直接成员身份规则向导”,然后在“欢迎”页上选择“ 下一步 ”。

    2. 在“资源搜索”页上,输入“PC-01”作为“值”。

    3. 选择“下一步”,然后在“资源”中选择“PC-01”。

  5. 使用默认设置完成向导。

有关详细信息,请参阅如何在 Configuration Manager 中创建集合

创建任务序列

  1. 在Configuration Manager控制台中,转到“软件库”工作区,展开“操作系统”,然后选择“任务序列”节点。

  2. “主页 ”功能区上,选择“ 创建任务序列”。

  3. “创建新任务序列”页上,选择“部署面向现有设备的 Windows Autopilot” 选项。

  4. “任务序列信息 ”页上,指定以下信息:

    • 任务序列的名称。 例如, 现有设备的 Autopilot
    • (可选)添加说明以更好地描述任务序列。
    • 选择启动映像。 有关支持的启动映像版本的详细信息,请参阅支持 Configuration Manager 中的 Windows ADK
  5. “安装 Windows ”页上,选择“Windows 映像”包。 然后配置以下设置:

    • 图像索引:根据组织的要求,选择“企业”、“教育”或“专业”。

    • 安装操作系统之前,启用“分区和格式化目标计算机”选项。

    • 配置用于 Bitlocker 的任务序列:如果启用此选项,任务序列将包括启用 BitLocker 所需的步骤。

    • 产品密钥:如果需要为 Windows 激活指定产品密钥,请在此处输入它。

    • 选择以下选项之一,在 Windows 中配置本地管理员帐户:

      • 随机生成本地管理员密码,并在所有支持平台上禁用帐户, (建议)
      • 启用帐户并指定本地管理员密码
  6. “配置网络 ”页上,选择 “加入工作组”选项。

    重要

    现有设备的 Autopilot 任务序列运行 准备 Windows 以便捕获 步骤,该步骤使用 Windows 系统准备工具 (Sysprep) 。 如果设备已加入域,此操作将失败。

    Sysprep 使用 /Generalize 参数运行,该参数在当前支持的 Windows 版本上会删除 Autopilot 配置文件。 然后,设备启动到 OOBE 阶段,而不是 Autopilot。 若要解决此问题,请参阅 Windows Autopilot - 已知问题:面向现有设备的 Windows Autopilot不适用于Windows 10版本 1903 或 1909

  7. “安装配置管理器 ”页上,为环境添加任何必要的安装属性。

  8. 包括更新 ”页默认选择“ 不安装任何软件更新”选项。

  9. “安装应用程序 ”页上,可以选择在任务序列期间安装的应用程序。 但是,Microsoft 建议在此方案中镜像签名映像方法。 使用 Autopilot 预配设备后,应用Microsoft Intune或Configuration Manager共同管理的所有应用程序和配置。 此过程在接收新设备的用户与使用面向现有设备的 Windows Autopilot的用户之间提供一致的体验。

  10. 在“ 系统准备 ”页上,选择包含 Autopilot 配置文件的包。 默认情况下,任务序列在运行 Windows Sysprep 后重启计算机。 还可以选择 “在此任务序列完成后关闭计算机 ”选项。 此选项允许准备设备,然后交付给用户,以获取一致的 Autopilot 体验。

  11. 完成该向导。

面向现有设备的 Windows Autopilot任务序列会导致设备加入到Microsoft Entra ID。

有关创建任务序列的详细信息(包括有关其他向导选项的信息),请参阅 创建任务序列以安装 OS

如果查看了任务序列,则类似于应用现有 OS 映像的默认任务序列。 此任务序列包括以下额外步骤:

  • 应用 Windows Autopilot 配置:此步骤应用指定包中的 Autopilot 配置文件。 这不是一种新的步骤类型,它是 复制文件的“运行命令行 ”步骤。

  • 准备用于捕获的 Windows:此步骤运行 Windows Sysprep,并具有 在运行此操作后关闭计算机的设置。 有关详细信息,请参阅 准备用于捕获的 Windows

有关编辑任务序列的详细信息,请参阅 使用任务序列编辑器任务序列步骤

注意

“准备 Windows 进行捕获”步骤会AutopilotConfigurationFile.json删除文件。 有关详细信息和解决方法,请参阅 Windows Autopilot - 已知问题:面向现有设备的 Windows Autopilot不适用于Windows 10版本 1903 或 1909

若要确保在 Windows 升级之前备份用户的数据,请使用 OneDrive 移动工作或学校 已知文件夹

将内容分发到分发点

接下来,将任务序列所需的所有内容分发到分发点。

  1. 选择 “现有设备的 Autopilot ”任务序列,并在功能区中选择“ 分发内容”。

  2. “指定内容目标 ”页上,选择“ 添加 ”以指定 分发点分发点组

  3. 指定允许设备获取内容的内容目标。

  4. 指定内容分发后,完成向导。

有关详细信息,请参阅 管理任务序列以自动执行任务

部署 Autopilot 任务序列

  1. 选择 “现有设备的 Autopilot ”任务序列,并在功能区中选择“ 部署”。

  2. 在“部署软件向导”中,指定以下详细信息:

    • 常规

      • 任务序列现有设备的 Autopilot

      • 集合现有设备的 Autopilot 集合

    • 部署设置

      • 操作安装

      • 目的可用

      • 对以下项可用仅Configuration Manager客户端

        注意

        在此处选择与测试上下文相关的选项。 如果目标客户端未安装 Configuration Manager 代理或 Windows,则需要通过 PXE 或启动媒体启动任务序列。

    • 计划

      • 设置此部署可用的时间
    • 用户体验

      • 选择“显示任务序列进度
    • 分发点

      • 部署选项运行中的任务序列需要时在本地下载内容
  3. 完成该向导。

完成部署过程

  1. 在目标 Windows 设备上,转到“ 开始 ”菜单,键入 Software Center并打开它。

  2. 在“软件库”的“ 操作系统”下, 为现有设备选择“Autopilot”,然后选择“ 安装”。

任务序列运行并执行以下操作:

  1. 下载内容。

  2. 将设备重新启动到 WinPE 中。

  3. 格式化驱动器。

  4. 从指定的 OS 映像安装 Windows。

  5. 准备 Autopilot。

  6. 任务序列完成后,设备启动到 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 配置文件才适用。

如何加快部署过程

若要加快部署过程,请参阅 Autopilot 教程的 Windows Autopilot 部署:加快部署过程部分。

教程

有关配置面向现有设备的 Windows Autopilot的详细教程,请参阅以下文章:

Intune 和 Configuration Manager 中现有设备的 Windows Autopilot 部署分步教程