使用 Configuration Manager 准备零接触安装 Windows 10

适用于:

  • Windows 10

本文将引导你完成零接触安装 (ZTI) 过程,即使用与 Microsoft Deployment Toolkit (MDT) 集成的Microsoft Configuration Manager Windows 10 OS 部署。

必备条件

在本文中,你将使用现有 Configuration Manager 基础结构的组件为 Windows 10 OSD 做好准备。 除了基本设置,还应在配置管理器环境中进行以下配置:

  • 配置管理器当前分支 + 已安装所有安全和关键更新。

    注意

    本指南中的过程使用 Configuration Manager 版本 1910。 有关Configuration Manager支持的Windows 10版本的详细信息,请参阅支持Windows 10

  • Active Directory 已扩展 和 System Management 容器。

  • 启用了Active Directory林发现和Active Directory系统发现。

  • 已针对 和网站分配 IP 范围边界和边界组关系。

  • 配置管理器 报告服务 点角色已添加和配置。

  • 创建了包的文件系统文件夹结构和 Configuration Manager 控制台文件夹结构。 下方提供了验证或创建此文件夹 的步骤

  • 安装的 Configuration Manager 版本支持的Windows ADK 版本,包括 Windows PE 加载项。 USMT 应作为 Windows ADK 安装的一部分进行安装。

  • MDT 版本 8456

  • 已安装 DaRT 10 (MDOP 2015) 的一部分。

  • 上安装 (cmtrace.exe) 的 cmtrace 工具。

    注意

    CMTrace 自动安装,Configuration Manager 的当前分支位于 Program Files\Microsoft Configuration Manager\tools\cmtrace.exe

在本指南中,我们将使用三台服务器计算机:DC01、CM01 和 HV01。

  • DC01 是该域的域控制器和 DNS contoso.com服务器。 DCCP 服务也可用,也可选择性地安装在 DC01 或其他服务器上。
  • CM01 是域成员服务器和 Configuration Manager 软件分发点。 本指南中的 CM01 是独立的主网站服务器。
  • HV01 是一台 Hyper-V 主机,用于生成 Windows 10 参考图像。 此计算机不必是域成员。

所有服务器均运行 Windows Server 2019。 但是,也可以使用 Windows Server 的早期版本。

本指南中引用的所有服务器和客户端计算机都位于同一子网上。 此配置不是必需的,但每个服务器和客户端计算机都必须能够相互连接以共享文件,并解析 contoso.com 域的所有 DNS 名称和 Active Directory 信息。 下载 OS 和应用程序更新时还需要 Internet 连接。

域凭据

本指南中具有以下通用凭据。 应用凭据替换每个过程中出现的这些凭据。

  • Active Directory 域名contoso.com
  • 域管理员用户名administrator
  • 域管理员密码pass@word1

创建 OU 结构

注意

如果已创建 OU 结构 MDT 的 OSD 指南中,则在此处使用相同的结构,可跳过此部分。

DC01

若要创建 OU 结构,可以使用 Active Directory 用户和计算机控制台 (dsa.msc),或者可以使用 Windows PowerShell。 以下过程使用 Windows PowerShell。

若要使用Windows PowerShell,请将以下命令复制到文本文件中,并将其C:\Setup\Scripts\ou.ps1另存为 。 确保查看文件扩展名,并使用 扩展名保存文件 .ps1

$oulist = Import-csv -Path c:\oulist.txt
ForEach($entry in $oulist){
    $ouname = $entry.ouname
    $oupath = $entry.oupath
    New-ADOrganizationalUnit -Name $ouname -Path $oupath -WhatIf
    Write-Host -ForegroundColor Green "OU $ouname is created in the location $oupath"
}

接下来,将以下 OU 名称和路径列表复制到文本文件,并将其另存为 C:\Setup\Scripts\oulist.txt

OUName,OUPath
Contoso,"DC=CONTOSO,DC=COM"
Accounts,"OU=Contoso,DC=CONTOSO,DC=COM"
Computers,"OU=Contoso,DC=CONTOSO,DC=COM"
Groups,"OU=Contoso,DC=CONTOSO,DC=COM"
Admins,"OU=Accounts,OU=Contoso,DC=CONTOSO,DC=COM"
Service Accounts,"OU=Accounts,OU=Contoso,DC=CONTOSO,DC=COM"
Users,"OU=Accounts,OU=Contoso,DC=CONTOSO,DC=COM"
Servers,"OU=Computers,OU=Contoso,DC=CONTOSO,DC=COM"
Workstations,"OU=Computers,OU=Contoso,DC=CONTOSO,DC=COM"
Security Groups,"OU=Groups,OU=Contoso,DC=CONTOSO,DC=COM"

最后,在 DC01 上打开提升的 Windows PowerShell 提示并运行 ou.ps1 脚本:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force
Set-Location C:\Setup\Scripts
.\ou.ps1

创建配置管理器服务帐户

基于角色的模型用于配置配置 Configuration Manager 中操作系统部署所需的服务帐户的权限。 执行以下步骤来创建新的 Configuration Manager 加入域网络访问这些帐户:

DC01

  1. 在Active Directory 用户和计算机控制台中,浏览到 contoso.com>Contoso>服务帐户

  2. 选择“服务帐户 OU”,并使用以下设置创建CM_JD帐户:

    • 名称:CM_JD
    • 用户登录名称:CM_JD
    • 密码: pass@word1
    • 用户下次登录时须更改密码:清空
    • 用户无法更改密码:选中
    • 密码永不过期:选中
  3. 对 CM_NAA 帐户重复此步骤。

  4. 创建帐户后,分配以下描述:

    • CM_JD:Configuration Manager加入域帐户
    • CM_NAA:Configuration Manager网络访问帐户

配置 Active Directory 权限

为了使Configuration Manager加入域帐户 (CM_JD) 将计算机加入 contoso.com 域,需要在 Active Directory 中配置权限。 这些步骤假定你已下载示例 Set-OUPermissions.ps1 脚本 并将其复制到 C:\Setup\Scripts DC01 上。

DC01

  1. 以 contoso\管理员角色登录,在提升的 Windows PowerShell 提示中输入以下命令:

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force
    Set-Location C:\Setup\Scripts
    .\Set-OUPermissions.ps1 -Account CM_JD -TargetOU "OU=Workstations,OU=Computers,OU=Contoso"
    
  2. Set-OUPermissions.ps1 脚本允许CM_JD用户帐户权限管理 Contoso/计算机/工作站 OU 中的计算机帐户。 以下列表列出了所授予的权限:

    • 作用域:此对象及其所有后代对象
    • 创建计算机对象
    • 删除计算机对象
    • 作用域:后代计算机对象
    • 读取所有属性
    • 写入所有属性
    • 读取权限
    • 修改权限
    • 更改密码
    • 重置密码
    • 经过验证的对 DNS 主机名的写入权限
    • 经过验证的对服务主体名称的写入权限

查看源文件夹结构

CM01 中

为了支持本文中创建的包,应在 Configuration Manager 主站点服务器 (CM01) 上创建以下文件夹结构:

  • D:\Sources
  • D:\Sources\OSD
  • D:\Sources\OSD\Boot
  • D:\Sources\OSD\DriverPackages
  • D:\Sources\OSD\DriverSources
  • D:\Sources\OSD\MDT
  • D:\Sources\OSD\OS
  • D:\Sources\OSD\Settings
  • D:\Sources\OSD\Branding
  • D:\Sources\Software
  • D:\Sources\Software\Adobe
  • D:\Sources\Software\Microsoft
  • D:\Logs

注意

在大多数生产环境中,程序包存储在分布式文件系统 (DFS) 共享或“常规”服务器共享中,但在实验室环境中,你可以将其存储在站点服务器上。

可以从提升的 Windows PowerShell 提示运行以下命令以创建此文件夹结构:

New-Item -ItemType Directory -Path "D:\Sources"
New-Item -ItemType Directory -Path "D:\Sources\OSD"
New-Item -ItemType Directory -Path "D:\Sources\OSD\Boot"
New-Item -ItemType Directory -Path "D:\Sources\OSD\DriverPackages"
New-Item -ItemType Directory -Path "D:\Sources\OSD\DriverSources"
New-Item -ItemType Directory -Path "D:\Sources\OSD\OS"
New-Item -ItemType Directory -Path "D:\Sources\OSD\Settings"
New-Item -ItemType Directory -Path "D:\Sources\OSD\Branding"
New-Item -ItemType Directory -Path "D:\Sources\OSD\MDT"
New-Item -ItemType Directory -Path "D:\Sources\Software"
New-Item -ItemType Directory -Path "D:\Sources\Software\Adobe"
New-Item -ItemType Directory -Path "D:\Sources\Software\Microsoft"
New-SmbShare -Name Sources$ -Path D:\Sources -FullAccess "NT AUTHORITY\INTERACTIVE", "BUILTIN\Administrators"
New-Item -ItemType Directory -Path "D:\Logs"
New-SmbShare -Name Logs$ -Path D:\Logs -ChangeAccess EVERYONE

将配置管理器与 MDT 集成

若要使用 MDT 向导和模板扩展 Configuration Manager 控制台,请安装具有默认设置的 MDT 并运行 Configure ConfigManager Integration 桌面应用程序。 在这些步骤中,假定你已经下载 MDT 并安装了默认设置。

CM01 中

  1. 以 contoso\administrator 登录。

  2. 在继续之前,确保配置管理器控制台已关闭。

  3. 选择“开始”,键入 “配置 ConfigManager 集成”,并使用以下设置运行应用程序:

    • 站点服务器名称:CM01.contoso.com
    • 站点代码: PS1

图 8.

MDT 与 Configuration Manager 集成。

配置客户端设置

大多数组织都希望在部署过程中显示其名称。 在此部分中,使用 Contoso 组织名称配置默认的配置管理器客户端设置。

CM01 中

  1. 打开Configuration Manager控制台,选择“管理”工作区,然后选择“客户端设置”。

  2. 在右窗格中,右键单击“默认客户端设置”,然后选择“属性”。

  3. “计算机代理” 节点的“ 软件中心”中显示的“组织名称 ”文本框中,输入 “Contoso ”,然后选择“ 确定”。

图 9.

在客户端设置中配置组织名称。

图 10.

在部署过程中显示的 Contoso 组织名称。

配置网络访问帐户

配置管理器在 Windows 10 部署过程中使用网络访问帐户访问分发点上的内容。 在此部分中,配置网络访问帐户。

CM01 中

  1. 使用 Configuration Manager 控制台,在“管理”工作区中展开“站点配置”,然后选择“站点”。

  2. 右键单击 PS1 - 主站点 1,指向 配置网站组件,然后选择 软件分发

  3. 在“ 网络访问帐户 ”选项卡上,选择“ 指定访问网络位置的帐户 ”,并将帐户 CONTOSO\CM_NAA 添加为“网络访问帐户” (密码: pass@word1) 。 使用新的 “验证” 选项验证帐户是否可以连接到 \\DC01\sysvol 网络共享。

图 11.

测试网络访问帐户的连接。

在 CM01 分发点上启用 PXE

Configuration Manager 具有许多启动部署的选项,但在大环境中通过 PXE 启动通常最为灵活。 在此部分中,在 CM01 分发点上启用 PXE。

CM01 中

  1. 在Configuration Manager控制台的“管理”工作区中,选择“分发点”。

  2. 右键单击 \\CM01.CONTOSO.COM 分发点 ,然后选择 “属性”。

  3. 在" PXE 选项卡上,使用以下设置:

    • 启用对客户端的 PXE 支持
    • 允许此分发点响应传入 PXE 请求
    • 启用未知计算机
    • 计算机使用 PXE 时需要密码
    • 密码和确认密码: pass@word1

    图 12.

    为 PXE 配置 CM01 分发点。

    注意

    如果选择“在不使用 Windows 部署服务的情况下启用 PXE 响应程序”,则不会安装 WDS,或者如果已安装 WDS,则会挂起,并且将使用 ConfigMgr PXE 响应程序服务 (SccmPxe) 而不是 WDS。 ConfigMgr PXE 响应程序不支持多播。 有关详细信息,请参阅 有关安装和 分发点

  4. 使用 CMTrace 工具查看 C:\Program Files\Microsoft Configuration Manager\Logs\distmgr.log 文件。 查找 ConfigurePXECcmInstallPXE 行。

    图 13.

    distmgr.log 分发点上显示 PXE 的成功配置。

  5. 验证每个文件夹 D:\RemoteInstall\SMSBoot\x86D:\RemoteInstall\SMSBoot\x64中是否都有七个文件。

    图 14.

    启用 PXE 后 D:\RemoteInstall\SMSBoot\x64 文件夹的内容。

    注意

    这些文件由 WDS 使用。 ConfigMgr PXE 响应程序不使用它们。 本文不使用 ConfigMgr PXE 响应程序。

接下来,请参阅 Configuration Manager创建自定义 Windows PE 引导。

配置管理器操作系统部署组件

借助 Configuration Manager 的操作系统部署是正常软件分发基础结构的一部分,但还存在更多组件。 例如,使用 Configuration Manager 部署操作系统时可能会使用状态迁移点角色,而使用 Configuration Manager 进行正常应用程序部署时不会使用它。 本部分介绍 Windows 10 等操作系统的部署所涉及的 Configuration Manager 组件。

  • 状态迁移点 (SMP)。 状态迁移点用于在计算机替换方案期间存储用户状态迁移数据。

  • 分发点 (DP)。 分发点用于存储 Configuration Manager 中的所有程序包,包括与操作系统部署相关的程序包。

  • 软件更新点 (SUP)。 软件更新点通常用于将更新部署到现有计算机,还可以用于在部署过程中更新操作系统。 你还可以使用脱机服务在 Configuration Manager 服务器上直接更新映像。

  • 报告服务点。 报告服务点可用于监视操作系统部署过程。

  • 启动映像。 启动映像是 Configuration Manager 用于启动部署的 Windows 预安装环境 (Windows PE) 映像。

  • 操作系统映像。 操作系统映像程序包仅包含一个文件:自定义 .wim 映像。 此映像通常是生产部署映像。

  • 操作系统安装程序。 最初添加操作系统安装程序的目的是使用 Configuration Manager 创建引用映像。 但是,我们建议你使用 MDT Lite Touch 创建引用映像。 有关如何创建引用映像的详细信息,请参阅创建 Windows 10 引用映像

  • 驱动程序。 与 MDT Lite Touch 相似,Configuration Manager 也提供包含托管的设备驱动程序的存储库(目录)。

  • 任务序列。 Configuration Manager 中任务序列的外观非常类似于 MDT Lite Touch 中的序列,它们的用途也相同。 但是,在 Configuration Manager 中,任务序列将通过管理点 (MP) 作为策略交付到客户端。 MDT 为 Configuration Manager 提供更多任务序列模板。

    注意

    此外,还需要适用于 Windows 10 的 Windows 评估和部署工具包 (ADK) 来支持 Windows 10 的管理和部署。

为什么要将 MDT 与 Configuration Manager 集成

如上所述,MDT 可将多项增强功能添加到 Configuration Manager。 尽管这些增强功能称为零接触,但其名称并不能反映部署的执行方式。 以下部分提供了 MDT 添加到 Configuration Manager 中的 280 项增强功能的一些示例。

注意

MDT 安装需要以下内容:

  • Windows ADK for Windows 10(在上一过程中安装)
  • Windows PowerShell(版本 5.1 推荐;键入 $host 进行检查)
  • Microsoft .NET Framework

MDT 支持动态部署

当 MDT 与 Configuration Manager 集成时,任务序列会处理 MDT 规则中的更多指令。 这些设置以最简单的形式存储在文本文件、文件中,CustomSettings.ini但你可以将设置存储在 Microsoft SQL Server 数据库中,或者让 Microsoft Visual Basic Scripting Edition (VBScripts) 或 Web 服务提供所使用的设置。

任务序列使用的说明可允许你减少 Configuration Manager 中的任务序列数量,并改为将设置存储在任务序列之外。 以下是几个示例:

  • 以下设置指示任务序列安装 HP Hotkeys 程序包(但仅在硬件是 HP EliteBook 8570w 的情况下)。 不必将程序包添加到任务序列。

    [Settings] 
    Priority=Model
    [HP EliteBook 8570w] 
    Packages001=PS100010:Install HP Hotkeys
    
  • 以下设置指示任务序列在部署期间将笔记本电脑和台式机放入不同的组织单位 (OU)、分配不同的计算机名,最终使任务序列安装 Cisco VPN 客户端(但仅在计算机是笔记本电脑的情况下)。

    [Settings]
    Priority= ByLaptopType, ByDesktopType
    [ByLaptopType]
    Subsection=Laptop-%IsLaptop%
    [ByDesktopType]
    Subsection=Desktop-%IsDesktop%
    [Laptop-True]
    Packages001=PS100012:Install Cisco VPN Client
    OSDComputerName=LT-%SerialNumber%
    MachineObjectOU=ou=laptops,ou=Contoso,dc=contoso,dc=com
    [Desktop-True]
    OSDComputerName=DT-%SerialNumber%
    MachineObjectOU=ou=desktops,ou=Contoso,dc=contoso,dc=com
    

图 2.

任务序列中的收集操作正在阅读规则。

MDT 将添加操作系统部署模拟环境

测试部署时,必须能够快速测试对部署所做的任何更改,而无需运行完整个部署。 MDT 规则可快速进行测试,从而在部署项目中节省大量测试时间。 有关详细信息,请参阅配置 MDT 设置

图 3.

包含规则、一些 MDT 脚本和自定义脚本 (Gather.ps1) 的文件夹。

MDT 将添加实时监视

借助 MDT 集成,可实时跟踪部署进展,如果你有对 Microsoft 诊断和恢复工具包 (DaRT) 的访问权限,甚至还可以在部署期间远程访问 Windows 预安装环境 (Windows PE)。 实时监视数据可在 MDT 部署工作台中通过 Web 浏览器、Windows PowerShell、事件查看器或 Microsoft Excel 2013 进行查看。 事实上,任何可以阅读开放式数据 (OData) 源的脚本或应用均可阅读此信息。

图 4.

使用 PowerShell 查看实时监视数据。

MDT 将添加可选的部署向导

对于某些部署方案,可能需要在部署期间提示用户输入相关信息,例如计算机名称、计算机的正确组织单位 (OU),或任务序列应该安装的应用程序。 借助 MDT 集成,可使用户驱动的安装 (UDI) 向导收集所需信息,并使用 UDI 向导设计器自定义向导。

图 5.

可选 UDI 向导在 UDI 向导设计器中打开。

MDT 零接触仅使用多个有用的内置操作系统部署组件扩展 Configuration Manager 。 通过提供完善的受支持解决方案,MDT 可降低 Configuration Manager 部署的复杂性。

为什么使用 MDT Lite Touch 创建引用映像

可以在 Configuration Manager 中为Configuration Manager创建引用映像,但一般情况下,出于以下原因,建议在 MDT Lite Touch 中创建引用映像:

  • 可针对每种类型的操作系统部署使用相同的映像 - Microsoft Virtual Desktop Infrastructure (VDI)、Microsoft System Center Virtual Machine Manager (VMM)、MDT、Configuration Manager、Windows Deployment Services (WDS) 等。

  • Configuration Manager 在 LocalSystem 上下文中执行部署,这意味着无法使用要包含在映像中的所有设置来配置管理员帐户。 MDT 在本地管理员的上下文中运行,这意味着可配置该配置的外观,然后在部署期间使用 CopyProfile 功能将这些更改复制到默认用户。

  • Configuration Manager任务序列取消用户界面交互。

  • MDT Lite Touch 支持允许重新启动的暂停操作,在需要执行手动安装或在自动捕获引用映像前对其检查时,此操作会很有用。

  • MDT Lite Touch 不需要任何基础结构,并且易于委派。

使用配置管理器创建自定义 Windows PE 启动映像
使用 Configuration Manager 添加 Windows 10 操作系统映像
使用 Configuration Manager 创建与 Windows 10 一起部署的应用程序
使用 Configuration Manager 将驱动程序添加到带有 Windows PE 的 Windows 10 部署
使用 Configuration Manager 和 MDT 创建任务序列
使用 PXE 和配置管理器部署 Windows 10
使用 Configuration Manager 将 Windows 7 SP1 客户端刷新至 Windows 10
使用 Configuration Manager 将 Windows 7 SP1 客户端替换为 Windows 10