ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Windows Server 2016部署SCCM 2019实战:从环境搭建到核心功能验证

Windows Server 2016部署SCCM 2019实战:从环境搭建到核心功能验证

1. 项目缘起:为什么要在Windows Server 2016上部署SCCM 2019?

如果你正在管理一个规模不小的Windows环境,无论是几十台还是上千台终端,手动给每台电脑装系统、打补丁、部署软件的日子,迟早会让你崩溃。Configuration Manager,也就是我们常说的SCCM,就是微软用来解决这个问题的“大杀器”。它能帮你自动化完成操作系统部署、软件分发、补丁管理、硬件资产收集等一系列繁琐的IT运维工作,堪称企业IT管理的“中枢神经系统”。

那么,为什么是Windows Server 2016搭配SCCM 2019这个组合?这背后有几个很实际的考量。首先,Windows Server 2016是一个长期稳定且功能完备的平台。它拥有成熟的Hyper-V虚拟化支持,稳定的网络和存储子系统,并且对SCCM所需的核心服务(如IIS、WSUS)提供了良好的兼容性。虽然现在有更新的Server 2019或2022,但2016版本在大量生产环境中已经过充分验证,部署风险更低。其次,SCCM 2019(版本1910)是当前主流支持版本中的一个重要里程碑。它引入了对Windows 10 1903及以后版本、Server 2019的完整支持,改进了云集成功能,并且修复了大量早期版本的已知问题。选择这个版本,意味着你能在获得较新功能的同时,又不必立刻追赶最新的Current Branch版本,避免成为“小白鼠”。

我自己在多个客户环境中部署过这个组合,一个很深的体会是:看似简单的“安装”,实际上是一场对前置条件、依赖关系和网络环境的全面考验。很多人卡在第一步,不是因为SCCM本身多复杂,而是SQL Server没装对、IIS角色少勾了某个选项,或者WSUS的数据库连接出了问题。这篇文章,我就以一个老司机的视角,带你完整走一遍在Windows Server 2016上部署SCCM 2019的实战流程,重点不是照本宣科,而是告诉你每一步“为什么要这么做”,以及那些官方文档里不会写的“坑”和“技巧”。

2. 战前准备:构建坚实的地基

在启动SCCM安装向导之前,大部分的工作其实已经开始了。如果把SCCM比作一栋大楼,那么服务器操作系统、活动目录、SQL Server、IIS和WSUS就是它的地基和承重墙。这一步没做好,后面楼盖得再漂亮也随时会塌。

2.1 核心服务器环境搭建

首先,你需要一台(或一组)服务器。对于测试或中小型环境,可以将所有角色(域控制器、SQL Server、SCCM主站点服务器)安装在一台物理机或虚拟机上。对于生产环境,强烈建议将SQL Server数据库分离到独立的服务器上,以提升性能和便于管理。

  1. 安装Windows Server 2016:使用标准版或数据中心版均可。安装时,建议选择“带桌面体验的服务器安装”,这样后续操作图形界面会更方便。安装完成后,务必执行Windows Update,安装所有重要更新,并设置一个固定的IP地址。一个小技巧:在虚拟机环境下,先安装好VMware Tools或Hyper-V集成服务,再打系统补丁,可以避免一些驱动冲突。

  2. 提升为域控制器:SCCM严重依赖Active Directory(AD)进行计算机发现、策略发布和身份验证。你需要将这台服务器(或另一台服务器)提升为域控制器,创建一个新的林和域,例如contoso.com。使用服务器管理器中的“添加角色和功能”向导,添加“Active Directory 域服务”角色,然后将其提升为域控制器。关键点:记牢你的域管理员密码,并确保DNS服务在此服务器上正常运行。SCCM站点服务器的计算机名一旦加入域,就不要再更改,否则会导致严重问题。

  3. 扩展Active Directory架构:这是SCCM将自身信息发布到AD,让客户端能够自动找到管理点所必需的步骤。你需要从SCCM 2019安装媒体的\SMSSETUP\BIN\X64目录下,找到extadsch.exe工具。以管理员身份运行它,它会向AD架构中添加SCCM所需的类和属性。运行后,查看同目录下生成的extadsch.log文件,确认出现“Successfully extended the Active Directory schema”字样。经验之谈:即使日志显示成功,也最好在AD架构主机上打开“Active Directory 架构”管理单元(需先注册schmmgmt.dll),确认System Management容器及其下的类已存在,这是排除后续客户端自动发现故障的第一步。

2.2 SQL Server的选型与精细化安装

SCCM的所有配置、资产、状态信息都存放在SQL Server数据库中,它的重要性不言而喻。对于SCCM 2019,官方支持SQL Server 2012 SP4及更高版本,但我强烈推荐使用SQL Server 2017或2019,它们在性能和稳定性上更有优势。

  1. 安装版本选择:开发版(Developer)可用于测试,生产环境必须使用标准版(Standard)或企业版(Enterprise)。运行安装中心,选择“全新SQL Server独立安装”。

  2. 功能选择:这是第一个容易出错的地方。对于SCCM,必须勾选以下功能:

    • 数据库引擎服务:核心,必选。
    • Reporting Services:用于SCCM的报表功能。如果你需要生成丰富的资产、合规性、部署状态报表,就必须安装它。注意:在安装向导中,建议选择“仅安装”Reporting Services,其配置留待安装完成后通过“Reporting Services配置管理器”进行。
    • 管理工具-基本管理工具-完整:包含SQL Server Management Studio (SSMS),管理数据库必备。
  3. 实例配置:通常选择“默认实例”即可。如果一台服务器上需要运行多个SQL Server实例,才需命名实例。

  4. 服务器配置:将“SQL Server数据库引擎”和“SQL Server Reporting Services”的启动类型设置为“自动”。在“排序规则”选项卡,必须将排序规则设置为SQL_Latin1_General_CP1_CI_AS。SCCM对此有严格要求,不按此设置会导致安装失败。

  5. 数据库引擎配置

    • 身份验证模式:选择“混合模式(SQL Server身份验证和Windows身份验证)”。你必须为内置的sa账户设置一个强密码并妥善保存。
    • 在“指定SQL Server管理员”中,添加当前登录的域管理员账户或域组(如DOMAIN\Domain Admins)。
    • 数据目录:建议将数据和日志文件存放在非系统盘(如D盘)的独立分区上,以提高IO性能并便于管理。
  6. Reporting Services配置:选择“安装和配置”模式,配置报表服务器数据库连接到刚才安装的数据库引擎实例。

安装完成后,立即启动SQL Server Management Studio (SSMS),使用Windows身份验证连接,确认可以正常访问。然后,为SCCM做一些优化设置:

  • 右键点击实例名 -> 属性 -> 内存,根据服务器物理内存大小,为SQL Server设置最大服务器内存(例如,在16GB内存的服务器上,留给SQL Server 10-12GB,其余给操作系统和SCCM服务)。
  • 确保SQL Server的“TCP/IP”协议已启用(通过SQL Server配置管理器)。

2.3 IIS与WSUS:SCCM的通信与更新桥梁

SCCM通过IIS向客户端提供策略、内容下载等服务,通过WSUS(Windows Server Update Services)来同步和管理微软更新。

  1. 安装IIS角色:在服务器管理器中,添加“Web服务器(IIS)”角色。SCCM对IIS有非常具体的要求,以下功能必须勾选:

    • 常见HTTP功能:静态内容、默认文档、目录浏览、HTTP错误、HTTP重定向。
    • 应用程序开发.NET Extensibility 3.5, .NET Extensibility 4.7, ASP.NET 3.5, ASP.NET 4.7, ISAPI扩展, ISAPI筛选器。这里最容易漏掉.NET Extensibility。
    • 运行状况和诊断:HTTP日志记录、请求监视器。
    • 安全性基本身份验证、Windows身份验证、请求筛选
    • 性能:静态内容压缩、动态内容压缩。
    • 管理工具:IIS管理控制台、IIS 6管理兼容性(包括IIS 6元数据库兼容性和IIS 6 WMI兼容性)。

    安装完成后,建议在IIS管理器中,为默认网站绑定一个SSL证书(可以是自签名证书,用于测试),因为SCCM的很多客户端通信需要HTTPS。

  2. 安装WSUS角色:继续添加“Windows Server Update Services”角色。在角色服务中,选择“WID连接”和“WSUS服务”。数据库可以选择Windows Internal Database (WID) 或 SQL Server。对于中小型部署(客户端数少于15万),使用WID更简单;如果希望集中管理或规模较大,可以指向之前安装的SQL Server实例。关键步骤:角色安装完成后,不要立即运行WSUS配置向导。SCCM安装程序会接管WSUS的配置。如果提前配置了WSUS,反而可能导致SCCM安装失败。你只需要确保WSUS服务已安装,其对应的应用程序池(默认为WsusPool)在IIS中存在即可。

3. 安装实战:分步拆解SCCM 2019部署

当所有先决条件绿灯全亮,我们就可以开始真正的SCCM安装了。请从微软VLSC或订阅门户下载SCCM 2019(版本1910)的安装ISO文件,并挂载或解压到服务器本地,例如D:\SCCM2019

3.1 运行先决条件检查与必备组件安装

在安装目录下,找到\SMSSETUP\BIN\X64里的setup.exe,右键“以管理员身份运行”。

  1. 启动安装向导:初始界面选择“安装”。

  2. 选择安装选项:由于我们是全新安装,选择“安装Configuration Manager主站点”。如果未来需要扩展,可以再添加辅助站点或管理中心站点。

  3. 输入产品密钥:如果有VL密钥就输入,否则可以选择“安装评估版”,有180天试用期。

  4. 接受许可条款

  5. 选择安装文件位置:浏览到之前下载的SCCM安装源文件路径。

  6. 先决条件下载:这一步非常重要。选择“下载所需文件”,并指定一个本地目录(如D:\SCCMPreReq)。向导会从微软下载所有必需的更新包、组件和语言包。务必保持网络通畅。下载完成后,在后续步骤中选择“使用以前下载的文件”。

  7. 选择要安装的语言:根据管理需要,选择客户端语言包。至少选择英语和中文(简体)。

  8. 站点和安装设置

    • 站点代码:输入三个字母数字,如P01。一旦设定,终身无法更改。
    • 站点名称:输入一个描述性名称,如Primary Site Shanghai
    • 安装文件夹:建议安装到非系统盘,如D:\Program Files\Microsoft Configuration Manager
  9. 运行先决条件检查:这是安装前最后一次全面体检。点击“开始”按钮,安装程序会检查几十项内容,包括AD架构扩展、权限、系统角色、端口等。

    • 预期结果:所有检查项应为“警告”或“成功”。“失败”项必须解决。
    • 常见“失败”项处理
      • “必须安装WSUS”:确认WSUS角色已安装,且IIS中的WsusPool应用程序池存在并启动。
      • “SQL Server Native Client版本过低”:从微软官网下载并安装最新版的SQL Server Native Client。
      • “用户不是本地管理员组成员”:确保当前登录的域账户在SCCM服务器本地管理员组中。
      • “必须安装ADK”:需要单独下载并安装Windows Assessment and Deployment Kit (ADK) for Windows 10。SCCM 2019需要ADK 1903版本。下载后安装,只需选择“部署工具”和“Windows预安装环境(Windows PE)”两个组件即可。
    • 常见“警告”项:如“未配置站点系统启动账户”,可以暂时忽略,安装完成后配置。

    当所有检查通过(无“失败”项)后,勾选“忽略任何未满足的先决条件要求警告”并继续。但务必阅读警告内容,有些警告(如磁盘空间不足)可能影响后续运行。

3.2 数据库与管理点配置

  1. 数据库配置

    • SQL Server名称:如果SQL Server安装在本机,就输入本机计算机名(如SCCM-SRV)。如果在远程,则输入远程SQL服务器的FQDN(如sql.contoso.com)。
    • 实例名:如果使用默认实例,此处留空;如果使用命名实例,则格式为服务器名\实例名
    • 数据库名称:默认会生成CM_站点代码,如CM_P01,保持默认即可。
    • 安装程序会自动创建这个数据库。
  2. SMS提供程序设置:SMS提供程序是SCCM控制台与数据库之间的桥梁。输入一个用于存放提供程序文件的路径,通常与站点服务器在同一台机器上,保持默认即可。

  3. 客户端代理设置:这里配置的是SCCM管理控制台的通信设置,不是最终客户端的设置。可以暂时保持默认端口号。

  4. 服务连接点设置:选择“在线”模式,这样站点可以自动向微软发送匿名使用情况数据并获取更新。如果服务器无法访问互联网,则选择“离线”。

  5. 更新设置:选择是否立即加入Microsoft Update的“Current Branch”更新计划。建议选择“是”,以便自动获取SCCM自身的功能更新和修补程序。

  6. 开始安装:确认所有设置无误后,点击“下一步”开始安装。这个过程会持续较长时间(30分钟到数小时,取决于硬件性能),期间会配置数据库、安装站点系统角色、启动各项服务。务必保持服务器网络连接稳定,不要中断安装过程

安装完成后,你可以在开始菜单中找到“Configuration Manager控制台”。首次打开时,它会连接到本地站点服务器。至此,SCCM主站点服务器安装完毕。

4. 初始配置与核心功能验证

安装成功只是万里长征第一步。一个“裸奔”的SCCM站点什么也做不了。接下来需要进行一系列基础配置,让它真正运转起来。

4.1 配置边界与边界组

边界定义了SCCM管理的网络位置,边界组则将边界与特定的站点系统角色(如分发点、状态迁移点)关联起来。

  1. 创建边界:在控制台中,进入“管理”工作区 -> “层次结构配置” -> “边界”。右键创建新边界。类型通常选择“IP子网”或“Active Directory站点”。例如,如果你的客户端都在192.168.1.0/24网段,就创建一个基于该IP子网的边界。
  2. 创建边界组:在“边界组”节点右键创建。将上一步创建的边界添加进来。然后,在“引用”选项卡中,指定此边界组中的客户端使用哪个站点服务器(通常是你的主站点服务器)作为“分配站点”,并使用哪些服务器作为“内容查找”源(即分发点)。

4.2 发现方法与客户端推送安装

SCCM需要知道网络里有哪些计算机需要管理,这就是发现方法的作用。

  1. 启用发现方法:在“管理”工作区 -> “层次结构配置” -> “发现方法”下,启用“Active Directory林发现”和“Active Directory系统发现”。配置林发现,指定你的AD域,并勾选“自动在Active Directory中发布站点”。配置系统发现,指定要搜索的AD容器(如整个域contoso.com),并设置一个计划(如每天运行一次)。
  2. 配置客户端推送安装:这是大规模部署客户端最有效的方式。在“管理”工作区 -> “客户端设置” -> “客户端推送安装”属性中:
    • 在“帐户”选项卡,添加一个具有目标计算机本地管理员权限的域账户。
    • 在“安装属性”选项卡,可以添加额外的客户端安装参数,例如指定管理点SMSSITECODE=P01
    • 在“系统类型”选项卡,勾选服务器和工作站。
    • 最后,在“资产和符合性”工作区的“设备”节点下,右键点击被发现的计算机,选择“安装客户端”,即可尝试推送安装。

4.3 配置软件更新点(SUP)与WSUS同步

这是实现自动化补丁管理的关键。

  1. 添加软件更新点角色:在“管理”工作区 -> “站点配置” -> “服务器和站点系统角色”下,找到你的站点服务器,右键“添加站点系统角色”。在向导中,选择“软件更新点”。后续步骤中,它会自动检测并绑定到本机已安装的WSUS实例。
  2. 配置软件更新点组件:添加角色后,在“软件库”工作区 -> “软件更新” -> “所有软件更新”上右键,选择“同步软件更新”。首次同步会花费非常长的时间(数小时甚至更久),因为它需要从微软更新服务器下载所有产品的元数据。技巧:可以在“管理” -> “站点配置” -> “站点” -> 点击你的站点 -> “配置站点组件” -> “软件更新点”中,先取消勾选一些不需要的产品分类(如旧版本的Office、Windows 7等),以大幅减少首次同步的数据量。
  3. 创建自动部署规则(ADR):同步完成后,可以创建自动部署规则。例如,创建一个每月“第二个周二后一天”自动下载并部署Windows 10/11“安全更新”、“严重”级别更新的规则。这是实现“补丁星期二”自动化响应的核心。

4.4 验证核心功能:分发一个测试软件

让我们用一个最简单的任务来验证整个SCCM链条是否通畅:分发一个软件(比如7-Zip)到一台测试机。

  1. 创建应用程序:在“软件库”工作区 -> “应用程序管理” -> “应用程序”中,右键“创建应用程序”。选择“手动指定应用程序信息”,填写名称、发布者等。在“部署类型”中,添加一个“脚本安装程序”类型,指定7-Zip安装包(.msi或.exe)的源路径,并填写静默安装命令行(如对于7-Zip MSI包,命令是/qn)。
  2. 分发内容:右键刚创建的应用程序,选择“分发内容”。将内容分发到包含你测试机边界的分发点(即你的主站点服务器)。
  3. 部署应用程序:再次右键该应用程序,选择“部署”。选择你的测试设备集合,部署目的选择“可用”(用户可以从软件中心自行安装)或“必需”(强制安装)。设置一个安排时间。
  4. 客户端验证:在测试计算机上,等待策略刷新(或手动运行Machine Policy Retrieval & Evaluation Cycle),然后打开“软件中心”,你应该能看到可用的7-Zip应用程序。点击安装,观察是否成功。

如果以上步骤全部成功,恭喜你,一个具备基本管理功能的SCCM 2019环境已经在Windows Server 2016上成功搭建起来了。从操作系统部署、驱动管理到复杂的应用程序生命周期管理,你都有了一个强大的平台可以深入探索。记住,SCCM的学问很深,每次部署都是一次学习过程,遇到问题多查日志(特别是站点服务器上的cmtrace.log和客户端上的ClientIDManagerStartup.log,CAS.log,ContentTransferManager.log等),善用微软官方文档和社区,你的运维效率将会得到质的飞跃。

返回列表