ARTICLE DETAIL

资讯详情

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

SCCM安装实操:从前置条件检查到站点初始化全流程指南

SCCM安装实操:从前置条件检查到站点初始化全流程指南 终于走到安装这一步了。前两篇把AD域、SQL Server、WSUS这些底座都铺垫完毕剩下的就是把这个叫SCCM的庞然大物请进来。网上SCCM安装教程挺多但大多数停留在“下一步下一步”的程度真正在生产环境里踩过坑的人都知道SCCM安装最难的从来不是点鼠标而是安装前那一堆看着不起眼、漏掉一个就能让你折腾一整天的前置条件。这篇基于我自己的SCCM部署实操记录从安装前检查、先决条件核查、正式安装到安装后初始化一条线完整走下来。全程用到的环境是Windows Server 2019SQL Server 2019WSUS跑在同一台服务器上站点代码定的P01中央站点和主站点合并部署也就是单站点结构。如果你手头是CAS主站点的多层架构流程主体一样只需要额外注意角色分配和通信端口上的差异。这篇重点放在“为什么这么做”而不是单纯“怎么点”优先保证你搞清楚每一步在干什么。每个阶段我会把踩过的坑、需要注意的细节同步标注出来这些都是常规教程里不会跟你说的。1. 安装前确认这几项没有搞定后面全是坑1.1 服务账户与权限核对的细节SCCM安装需要至少两个服务账户一个负责站点服务器和SQL通信一个负责站点推送安装到客户端。在域环境里这两个账户不能是同一个而且不建议直接用域管理员。我自己常用的一套组合是这样的SCCM站点服务器账户域账户svc_sccm_server加入本地Administrators组并且需要“作为批处理作业登录”的权限。SQL Server安装过程中会用到它站点安装也要用。SCCM客户端推送账户svc_sccm_client域普通用户即可但需要在客户端安装时被加入目标机器的本地管理员组。这个权限你在SCCM控制台里配置“客户端推送安装”时直接指定就行不需要提前手动加。SQL Server服务账户这里我用了svc_sql不要再用什么NETWORK SERVICE之类的老做法了。在SQL配置管理器里把SQL服务的登录身份改成这个域账户同时把SQL Agent服务也换掉。还有一个关键点容易被忽略SQL Server如果决定采用Windows身份验证模式生产环境建议那么svc_sccm_server账户必须在SQL Server里拥有sysadmin角色权限至少安装期间必须有装完再降级也不迟。我用的是在SQL Server安装时直接把svc_sccm_server指定为SQL管理员这样省去后期手动授权的麻烦。1.2 SQL Server排序规则和WSUS的检查很多初次接触SCCM的人会在这里翻车。SCCM要求SQL Server实例的排序规则是SQL_Latin1_General_CP1_CI_AS如果装SQL时手滑选了别的排序规则哪怕是大写CI_AS、但前缀不同的版本SCCM的先决条件检查也会直接报错而且这个错误不会给你任何补救余地只能重建数据库实例。再说WSUS。SCCM的软件更新点角色依赖于WSUS安装SCCM之前WSUS可以不用提前装好但如果你计划在SCCM安装中配置软件更新点那么WSUS的安装包是免不了的。我的建议是提前把WSUS角色装上别拖到SCCM装完再补。原因很简单——SCCM安装过程中会尝试连接WSUS的数据库如果WSUS没就绪软件更新点配置会卡在“正在连接WSUS Server”的状态。另外注意WSUS的端口默认情况下WSUS走8530端口HTTP或8531端口HTTPSSCCM配置软件更新点时如果确认了WSUS走HTTPS那么安装时默认的8531是没问题的。但如果你的WSUS没有启用SSL那SCCM里配置软件更新点时一定记得把端口改成8530否则连接测试永远失败。1.3 AD架构扩展一个不跑位就装不了的角色SCCM站点安装前必须在AD域里扩展架构这是非做不可的一步。运行extadschema.exe可以对架构进行扩展。这个工具位置在SCCM安装介质的SMSSETUP\BIN\X64目录下。扩展AD架构的本质是在Active Directory中为SCCM添加专属属性和类比如用于客户端发现和站点边界信息存储的容器。我见过有人跳过这步直接装站点结果控制台里客户端发现和边界完全不可用而且报错非常隐蔽不会直接告诉你“架构未扩展”而是各种间歇性IO错误。操作上需要注意一点在扩展架构之前确保当前域账号隶属于Schema Admins组。整个扩展过程大概一分钟左右就能跑完不会弹任何成功提示跑完直接返回命令行。想确认是否成功打开ADSI Edit定位到CNSchema,CNConfiguration,DCxxx,DCxxx检查CNSystem Management等容器是否存在。SCCM实际在架构上新增的属性和类很多不必一一核对只要看到新容器出现就算过。1.4 安装账号与文件共享的权限规划SCCM安装过程中需要创建管理共享和分发点共享这意味着安装账号必须在站点服务器本地具有磁盘写入权限并且在远程分发点如果现在不配后续也会配上拥有管理员权限。这里分享我自己的分工经验中间的站点安装阶段直接用svc_sccm_server账号执行安装向导但在创建分发点角色时单独准备一个账号专门用于分发点访问避免一个账号权限过大。后续如果需要把客户端推送安装扩展到不同网段再单独建一个用于网络访问的账号这个账号不需要任何交互登录权限。2. 下载与准备SCCM安装介质2.1 安装源文件从哪里找、怎么选SCCM安装介质从微软评估中心或批量许可服务中心下载ISO。版本方面我建议用最新的Current Branch版本例如2211、2303等避免老版本在Windows Server 2019上出现兼容性问题。下载后把ISO文件加载到虚拟光驱或者解压到本地文件夹这里有个值得注意的点安装源路径不要太长也不要包含中文和空格。我习惯的做法是把安装文件解压到D:\Sources\SCCM_2303这类纯英文短路径下避免setup过程中出现莫名其妙的路径识别问题。2.2 安装界面里的几个关键选项运行根目录下的setup.exe弹出的界面会显示几个选项安装Configuration Manager站点、获取最新更新、安装管理控制台等。选择安装Configuration Manager主站点。这里要留意一下如果你之前没有下载最新的安全更新或功能更新界面上会提示“使用最新更新还是后续更新”。我自己的建议是生产环境选择“使用最新更新”提前把更新包放到本地路径或者从互联网下载安装过程会把更新直接集成进站点避免站点建好之后还要打补丁重启。当然如果测试环境追求快速部署选择“以后获取更新”也可以。在安装向导开始之前系统会先检查一次基础环境包括.NET版本、Windows Server版本等如果这里就报错优先处理基础环境问题不要点“忽略”。3. 正式安装过程一步一步把它跑起来3.1 先决条件检查器让它替你兜底正式进入安装向导后第一个关键节点是“先决条件检查”。SCCM的先决条件检查器非常强大它会扫描服务器角色、功能、SQL Server版本和排序规则、WSUS状态、防火墙端口、连网情况等。我的建议是不要跳过检查也不要在检查报错后直接硬装。检查器会生成一份详细日志路径通常在C:\Program Files\Microsoft Configuration Manager\Logs\ConfigMgrPrereq.log同时还能导出HTML报告。常见的检查项和对应处理我整理成了一张表检查项失败原因解决方案SQL Server版本低于2012或SP版本过旧升级SQL Server至受支持版本2016/2017/2019均可SQL排序规则不是SQL_Latin1_General_CP1_CI_AS只能重建实例无法直接修改WSUS版本缺失或版本过旧安装WSUS角色并运行Windows UpdateWindows Server版本非受支持版本使用Windows Server 2016及以上AD架构未扩展架构运行extadschema.exe管理权限当前账号权限不足提升至本地管理员Schema AdminsWMI权限当前账号无法访问WMI检查WMI健康状态重置WMI存储库防火墙端口站点通信端口被屏蔽开放TCP 1433SQL、TCP/UDP 135RPC、TCP 445SMB检查器给到的错误码例如0x80070005是拒绝访问0x80041003是WMI权限异常可以直接在网上搜到对应说明但我的经验是绝大多数生产环境失败都集中在SQL排序规则和WSUS连接权限这两块。3.2 站点代码与安装类型的选定过了先决条件检查后设置站点代码和站点名称。站点代码在SCCM体系里是用来标识站点的唯一代号由三位字母数字组成不能随便改。命名上建议用有业务含义的代码比如P01代表生产环境第一个站点。这里提醒一下一旦确认站点代码建站之后就不能修改如果需要更换站点代码只能重建站点所以命名期望值可以放高一点提前规划好区域、环境、序号的关系。安装类型选择“主站点”。如果你有跨地域的大型网络之后需要规划CAS中央管理站点那么当前是主站点的前提下后续可以通过“被动站点”等方式做扩展也可以在层级中加入CAS但这种方式比较费事不如一开始就规划好。3.3 安装组件和角色的配置进入“安装的角色和功能”界面这里可以选择需要在此站点服务器上安装的角色。默认会勾选管理点、分发点等核心角色。有一个非常容易被忽略的选项软件更新点。如果计划在SCCM里管理Windows补丁更新建议此时就勾选。软件更新点对应WSUS安装SCCM时如果配置了这个角色会自动和WSUS服务建立关联。如果不勾选后续也可以手工添加但手工添加的步骤反而复杂而且在日志排查时会多出很多无关干扰项。再说管理模式。管理点是SCCM客户端和站点服务器通信的桥梁默认会创建当前站点服务器作为管理点。如果你打算以后使用云管理网关CMG或额外管理点这里不用多做配置后续直接在控制台里加就行。3.4 数据库与站点服务器连接配置的关键坑到“数据库配置”这一步需要指定SQL Server实例名称和数据库名称。默认数据库名称就是站点代码你可以在旁边新建也可以沿用默认。一个最常见的坑在这里出现SQL Server和站点服务器不在同一台机器上。SCCM对SQL的远程访问支持很成熟但需要额外配置防火墙端口、启用TCP/IP协议以及确保站点服务器到SQL Server实例之间的端口是通的。我处理过很多远程SQL的问题几乎有一半是SQL Server的TCP/IP协议没有被启用导致的另外一半是防火墙没有放行1433端口。我的建议是无论SQL是本地还是远程都提前手动测试一下端口连通性。在站点服务器上用PowerShell运行以下命令来测试Test-NetConnection -ComputerName SQLServer01 -Port 1433如果端口测试正常再进行下一步。如果是本地SQL这个问题基本不存在但SQL的命名实例还需要确认SQL Browser服务UDP 1434是否启动否则SCCM可能无法解析实例名。3.5 客户端通信设置与边界配置SCCM安装过程中会询问客户端的通信方式HTTP或HTTPS。这里涉及一个概念——站点系统是否需要启用HTTPS模式。如果企业内部有Active Directory证书服务而且计划给所有客户端颁发证书那么可以考虑HTTPS模式。但现实中很多企业的SCCM站点一直用HTTP模式然后在IIS上配置了增强型HTTPEnhanced HTTP这样既避免了每台客户端都要申请证书的麻烦又保证了通信安全。我给大多数客户的建议是先用HTTP安装跑通整体流程后续再平滑升级到HTTPS。因为排错阶段HTTPS模式带来的证书信任链问题会掩盖掉很多其他配置问题让排查难度直线上升。SCCM在OOB面向互联网场景下必须使用HTTPS那就另说。边界配置在安装过程中可以暂时跳过等控制台初始化之后在“管理”节点下配置。但有一个点要提前明确边界决定了哪些客户端可以在这个站点被管理如果没有边界SCCM会认为客户端存在于未知网络管理行为会受限。安装向导走到最后会让确认所有设置。确认无误后点击“安装”站点安装过程就此开始。这段过程根据服务器性能和网络状况通常需要45到90分钟。3.6 安装日志与实时状态查看安装过程中不要傻等打开配置文件管理器安装日志所在目录实时观察进度。默认路径是C:\Program Files\Microsoft Configuration Manager\Logs\关键日志文件是ConfigMgrSetup.log它会详细记录当前安装到了什么组件、有没有报错。另外还有ConfigMgrPrereq.log、ConfigMgrADSchema.log等如果某个环节卡住对应日志会给出明确的错误线索。安装进度到大概70%时控制台文件开始部署这时距离完成就不远了。我实测下来在VMware虚拟机环境4核8G、本地SSD的配置下完整安装大约50分钟如果用的是机械硬盘大概率会超过90分钟而且中途容易因为IO性能导致超时报错。安装完成后的界面会提示“Configuration Manager控制台”启动这说明站点服务器角色已经就绪可以开始后续配置了。4. 安装后的初始化配置与验证4.1 控制台首次登录与站点状态验证安装完成后桌面或开始菜单会出现“Microsoft Endpoint Configuration Manager”控制台入口从该入口登录。登录账号建议是安装时指定的站点管理员账号或者域管理员。控制台首页会显示站点信息包括站点代码、版本、站点状态。这个界面常被忽视但实际上非常重要因为它直接反映了SCCM站点自身健康度。如果显示“不可用”或“错误”说明某个组件未能安装成功需要查看站点状态节点下的详细日志。具体看“监视”下的“站点层次结构”和“站点状态”。正常情况下站点服务器角色的状态为“正常”。如果状态异常右键点击站点选择“显示消息”能看到具体的错误ID和描述。这段排查过程中的关键词搜索很有用把错误ID复制到微软官方文档或者社区里查很快能定位到问题。4.2 发现配置让SCCM看到你的服务器和电脑站点装完控制台里默认是空的。要让AD域里的计算机出现在SCCM管理范围里需要先配置发现方法。“管理”导航到“云服务”下的“发现方法”里面有域林发现、Active Directory用户发现、Active Directory系统发现等。我的建议Active Directory林发现立即启用并设置计划。它负责发现AD站点、子网和域是边界自动配置的基础。Active Directory系统发现用于发现域内计算机。建议配置为每天运行一次避免控制台里迟迟看不到新设备。Active Directory用户发现按需启用。如果后续要按用户集合推软件这个发现是基础。检测信号发现建议启用默认每7天一次它能让客户端定期来报道避免系统过期被清理。网络发现非必要不启用。它通过SNMP扫描网络耗时很长准确率还不高现代SCCM环境基本弃用。发现并不是瞬时完成的第一次跑完探查通常需要15到30分钟运行日志请关注站点服务器上的ADSysDis.log。4.3 边界和边界组的设定边界定义了哪些客户端属于这个站点。没有边界的SCCM站点就像没有地图的城市客户端来了也不知道该找谁。在“管理”导航到“层次结构配置”下的“边界”新建边界。边界类型包括AD站点、IP子网、IPv6前缀、IP范围。我的推荐做法是直接基于IP子网或AD站点来配置大多数企业网段不复杂用IP子网划分简单又直观。之后把边界添加到边界组边界组的作用是为客户端分配管理点和分发点等站点系统。配置边界组时还要指定“站点分配”勾选“使用此边界组进行站点分配”这样客户端才能成功识别并指定到这个站点。分发点关联也在这里配置把分发点角色加入边界组后被此边界组管理的客户端才能从分发点下载内容。4.4 客户端推送安装与首个客户端验证让SCCM真正运行起来最直观的标志是能看到客户端状态变为“在线”。在“管理”导航到“站点配置”下的“站点”选择当前站点右键“属性”在“客户端推送安装”选项卡里勾选“启用客户端推送安装”。指定客户端推送安装账号就是之前准备的svc_sccm_client也可以点击“允许将配置管理器客户端推送到域控制器”的选项——但在域控上安装客户端要慎重不建议直接把域控变成管理客户端的大本营除非用于测试。做完这些配置后手动推送一台测试机的客户端。方法是在“资产和符合性”工作区里找到目标计算机右键选择“安装客户端”。你会看到客户端安装任务开始日志路径在目标机器上是C:\Windows\CCM\Logs\CCMSetup.log就绪后则能看到“Client installed successfully”字样。在客户端机器上打开“配置管理器”控制面板项查看“站点代码”和“分配的站点”如果显示P01说明分配给站点成功。等几分钟后回到SCCM控制台的“资产和符合性”里这台机器的状态会变成绿色显示“客户端已管理”。4.5 站点角色健康检查清单再分享一份安装后立即执行的检查清单这是我部署每个SCCM站点后必过的一套流程确认管理和分发点角色均正常站点状态显示正常。在控制台“监视”节点下查看“系统状态”没有异常组件。确认发现数据开始回流能看到AD域内的计算机。测试端到端管理通道——从推客户端到客户端上报硬件清单再到控制台显示状态在线。确认SCCM站点服务器和SQL Server之间的连接稳定没有频繁断连日志。查看站点服务器的事件日志关注级别为“错误”或“警告”的SCCM相关事件。验证WSUS与软件更新点的同步是否正常这决定后续补丁管理能否顺利展开。这一套下来基本可以判定SCCM站点已经可用。5. 安装中常见的坑与必留备用方案5.1 SQL排序规则不一致导致先决条件失败SQL排序规则的问题前面提过这里再讲透一点。SCCM的先决条件检查器只会告诉你排序规则不符合要求但不会帮你改。如果不想重装SQL有一个曲线救国的办法新建一个与SCCM兼容排序规则的实例或者在同一实例下单独创建一个兼容排序规则的数据库。但这种方式的可维护性很差同一个实例下混合排序规则会让后续升级和备份恢复变得很痛苦。我的个人结论是生产环境直接重装SQL一了百了毕竟这条规则是SCCM架构层面的硬性要求不要拿生产环境去试探底线。5.2 安装账号权限不足或双重跳转失败很多情况下安装账号是域管理员理论上权限足够。但安装SCCM分发点组件时如果分发点角色需要访问远程服务器上的文件共享可能会遇到双跳认证问题——也就是凭据无法从站点服务器传递到第三台服务器上。处理方案有两个方向一是为分发点服务单独配置台账户并且目标机器加入本地管理员组二是在目标服务器上提前配置好文件共享并授权给站点服务器账户。这里提醒我为关注的是第二种方式因为安全边界更清晰后续排障也更方便不会因为台账户权限过大带来额外安全风险。5.3 防火墙端口未放行导致客户端无法注册客户端安装成功但始终无法分配给站点大多数原因是防火墙拦截了客户端与管理点之间的通信。SCCM默认管理点监听443或80端口如果是自签名证书HTTPS模式则监听443纯HTTP模式下监听80。排查办法在客户端机器上测试管理点端口连通性。Test-NetConnection -ComputerName MP01 -Port 80如果端口不通检查服务器所在网段防火墙以及客户端本地的Windows防火墙是否放行。SCCM客户端安装时不会自动添加这些入站例外如果你内部有统一的防火墙策略一定记得提前把客户端到管理点、分发点的端口放行策略做进去。5.4 站点备份与恢复策略等出问题再想就晚了SCCM站点安装完成后我强烈建议立即配置站点备份任务。在这个节点上做备份成本最低效果最好因为它打的是一个干净站点的基线。在“管理”导航到“站点配置”下的“站点”右键“属性”切到“备份”选项卡勾选“为此站点配置备份设置”指定备份存储位置并提供一个带写权限的备份账户。SCCM本身的备份是备份整个站点配置和数据库通过SQL的备份组件来完成比较值得一提。除此之外我还会建议在安装完成后给虚拟机或物理机打一个快照/系统镜像。毕竟SCCM这东西越往后配置越复杂一旦后续操作失误回滚到安装完成时点的状态会很省心这个在测试环境尤其好用。5.5 安装失败后的排查日志路径速查如果你运气不好在安装中段就遇到失败去这些日志里找原因比在界面上瞎猜靠谱得多C:\Program Files\Microsoft Configuration Manager\Logs\ConfigMgrSetup.log安装主日志从启动到结束全流程记录。C:\Program Files\Microsoft Configuration Manager\Logs\ConfigMgrPrereq.log先决条件检查的日志所有未通过项都能在这里看到详细原因。C:\Program Files\Microsoft Configuration Manager\Logs\ConfigMgrADSchema.logAD架构扩展日志如果扩展失败这里会有线索。%TEMP%\ConfigMgrSetupAdmin.log安装向导的界面日志界面交互上的异常会记录在这里。SQL Server的ERRORLOG默认在SQL安装目录下的\MSSQL15.MSSQLSERVER\MSSQL\Log目录如果安装过程卡在数据库构建或连接环节这个日志价值极高。一个非常实用的排错习惯是每次SCCM安装失败先看ConfigMgrSetup.log的最后300行绝大多数问题就藏在最后几十行里你甚至不需要看完整日志。6. 安装阶段的经验心得再补充一点自己在反复安装SCCM后形成的一些个人习惯和判断标准。安装SCCM这个操作本质上是在给整个企业终端管理体系打地基。地基做得好不好后期所有软件分发、补丁更新、系统镜像部署、资产管理功能全都受它影响。我见过很多团队在安装阶段赶进度先决条件里的警告直接忽略结果站点看起来装完了但软件更新点连不上WSUS、客户端始终无法分配、边界混乱导致内容拉取失败——这些问题的根源都指向安装阶段偷掉的懒。我个人在执行安装时一定会拉一张excel清单每完成一项勾一项从AD架构扩展到SQL排序规则确认从服务账户权限到防火墙端口放行逐项打钩。整个过程下来安装失败率基本可以控制得很低。这里把这张清单的核心项分享出来你可以直接照抄来用AD架构已扩展Schema Admins权限确认。SQL服务使用域账户运行排序规则为SQL_Latin1_General_CP1_CI_AS。WSUS角色已安装或者已确认端口能连通。服务账户已创建权限字段逐个核对。站点代码规划好不与现有环境重复。安装源文件已解压至纯英文短路径。先决条件检查结果中无错误项仅有可接受的警告。安装过程日志监控到80%以上无明显报错。控制台能正常打开站点状态显示正常。首次发现数据已回流客户端推送安装成功一台测试机。站点备份任务已配置备份目录权限正常。按这份清单走一遍整个安装项目的成功率会高很多。SCCM安装只是这个系列的第三篇站点跑起来之后更繁琐的是后续的配置项软件更新点同步、集合建立、应用程序打包分发、操作系统镜像部署、合规性设置等等。每一步都有各自的坑要趟。安装阶段把习惯养好日志路径记牢、排错思路理顺后面的工作会顺很多。希望这篇实操记录能帮你少走几趟弯路把SCCM稳稳当当地装起来。
返回列表