SMS2003之企业补丁管理
一、实验拓扑
注:为便于实验,安装AD的计算机名是DC,安装SMS2003 的计算机名叫SMS2003,SMS客户端名称为Member1
二、部署ITMU
服务器需求:安装目录至少具有10M可用硬盘空间,安装目录为NTFS磁盘格式、必须在本地驱动器上、并且必须没有加密
部署条件:仅能部署在SMS 站点服务器上,SMS SP1安装ITMU时需要安装3个补丁,KB901034、KB900257、KB900401,SMS SP2直接安装ITMU即可,但现在ITMU已更新到第三版,所以用SMS SP2自带的ITMU是无法使用的,需要到微软网站下载ITMU v3,网址是:
[url]http://download.microsoft.com/download/0/1/1/011353a6-65d6-4579-97a1-1be7ae04340a/SMS2003ITMU_CHS.exe[/url]
下载下来的ITMU需要重新提取文件,然后点击安装程序SMSITMU.msi进行安装,弹出如下界面
同意软件许可,点击下一步
选择安装文件夹,默认设置即可
获取Windows Update 目录,指定一台同步主机,同步主机负责连接到Internet下载Windows Update目录。注意:该同步主机必须为一个SMS安装高级客户端。如果同步主机不能连接到Internet下载补丁更新目录,则可以将补丁更新目录手动放置到指定位置供ITMU使用,即选择“我将下载目录,同步主机将从文件夹复制该目录”,本次实验中我们使用SMS2003作为同步主机,连接到Internet自动下载补丁目录,实际环境中不建议这样,会增加安全风险,点击下一步
INSIDE OUT:
下载的Microsoft Update 目录文件名为wsusscn2.cab,默认位于C:\Program Files\Microsoft Updates Inventory Tool\PkgSource 目录下面,安装好ITMU后可以在该目录看见;同步主机安装好
后会运行一个程序,该程序从 Internet 或者本地目录位置更新 PkgSource 文件夹。同步主机将 Windows Update 目录的哈希值与 PkgSource 目录中的哈希值进行比较。如果哈希值不匹配,则 PkgSource 文件夹中的版本会被替代。如果更新了 Windows Update 目录版本,同步主机负责将新版本复制到所有分发点;可以使用站点服务器做同步主机,但是建议用高级客户端做同步主机,该同步主机可以使用Internet或者本地目录更新Windows Updata 目录,如果使用本地目录的话,需要在分发客户端之前手动下载最新更新目录,无法下载最新目录将不能保证客户端接受最新安全更新
要求输入SMS对象的名称,ITMU会根据这个名称自动生成数据包、程序、播发、集合等对象,我们选择默认的“Microsoft Updata工具”名称,测试计算机我们选择Member1,ITMU会自动创建一个集合,用以测试补丁分发及反馈问题,以便于更好运用到实际环境中,在分发选项中我们选择将ITMU数据包复制到所有分发点,将ITMU相应数据包播发到包含测试计算机的集合,点击下一步
Windows Updata 代理的分发设置,客户端必须安装Windows Updata 代理才能更新补丁,将分发选项中的两项都选中,这样ITMU会在会在数据包中创建一个程序,用以在客户机上安装Windows Updata 代理,“Windows Updata 代理SMS对象的名称”使用系统默认即可,之后会以该名称创建数据包和程序等SMS对象
开始ITMU的安装,其中最重要一点是安装过程中会从微软网站下载补丁更新列表,即上面提到的wsusscn2.cab文件,这一过程耗时较长,请耐心等待
完成ITMU的安装,整个过程大概需要一个小时左右
下面我们来看看,ITMU安装过程中创建了哪些对象,四个数据包、十个程序、两个播发、五个集合
下面再来看看安装文件夹里面的东西都有哪些,可以在PkgSource文件夹里看到Microsoft Updata 目录文件wsusscn2.cab以及一个Download.ini文件,这个文件里面内容后面再来讲解
INSIDE OUT:
四个数据包:其中一个数据包用于清单工具(称为Microsoft Updata 工具),其余的三个数据包用于Windows Updata Agent的三个平台(IA64、x64、x86),我们通常的平台是x86
十个程序:其中七个程序在清单工具数据包内,“Microsoft Updatas 工具 sync”程序只由同步主机运行,以获得最新的Windows Updata 目录,位于清单工具数据包内的其余6个程序,(Microsoft Updates Tool、Microsoft Updates Tool(加急)、Microsoft Updates Tool IA64、Microsoft Updates Tool IA64(加急)、Microsoft Updates Tool x64 以及 Microsoft Updates Tool x64(加急))在客户端上运行该清单工具。加急的程序会在运行清单工具后立即导致硬件清单循环,这会引起客户端上处理器的额外利用率以及额外的网络通讯,因此在默认情况下不使用该程序,最后 3 个程序(Windows Update Agent IA64、Windows Update Agent x64 以及 Windows Update Agent x86)在关联的 Windows Update Agent 数据包内,该数据包在运行清单工具前将客户端上的 Windows Update Agent 作为独立的程序进行安装。
两个播发:Microsoft Updates Tool 同步播发可将同步程序发送到同步集合,Microsoft Updates Tool 播发可将清单工具的非加急版本发送到非试制集合。Windows Update Agent 程序没有任何播发,因为它会在将清单工具程序作为从属程序运行前运行。关于这个问题我在下面再来讨论
五个集合:Microsoft Updates Tool 同步集合仅包含同步主机。Microsoft Updates Tool(预生产)集合仅包含在安装过程中指定的测试计算机。Microsoft Updates Tool 集合包含试制集合(指定的测试计算机)的成员身份。当您删除该集合限制选项时,该集合将包含可以运行该清单工具的所有 SMS 客户端。Microsoft Updates Tool IA64 集合包含操作系统名称中带有“Itanium”的所有客户端,Microsoft Tool x64 集合包含操作系统名称中带有“x64”的所有客户端。
关于Download.ini文件的说明:
上述安装中,将 Windows Update 目录的来源指定为从本地目录复制或自动从Internet下载该目录,所作的选择会保存到Download.ini文件中,如果要在安装后更改该来源,必须修改 Download.ini 文件以指向新的位置,打开该文件,在“[Download1]”部分,修改 Source= 参数以指向期望位置。例如,如果之前指定 Web 而现在想指向共享文件夹,应键入 \\server\share。如果之前指定共享文件夹而现在想指向 Web,应键入 http://go.microsoft.com/fwlink/?LinkID=74689。
三、分发Windows Updatas 代理到客户端
注:这一步是为了在实验环境中尽快看到效果,实际环境中这一步不是必须的,等下一个时间段SMS客户端检索到策略了便会进行安装
想在客户端进行补丁更新,我们必须先把Windows Update代理分发到客户端,但是我们看到ITMU工具安装完后并没有创建Windows Updata Agent播发,这里我们先来看看“Microsoft Updatas 工具”播发属性,默认启动程序“Microsoft Updatas 工具”分发到“Microsoft Updatas 工具”集合
这个集合成员都是谁呢?是Members1,Member1是我们在安装时填写的测试计算机,我们可以先利用Member1
测试一下补丁分发的效果然后再进行推广
再来看看“Microsoft Updatas 工具”程序的属性,切换到高级选项卡,默认会勾选“首先运行另一个程序”,Windows Updatas 代理 x86程序,到这里这里我们应该可以明白,为什么安装完ITMU工具后,没有创建“Windows Updatas 代理 x86”播发,这两个程序是从属关系
现在我们再来分发Windows Updates代理到客户端就简单了,打开“Microsoft Updatas 工具”播发属性,程序中选择“Windows Updates 工具(加急)”,加急的程序会在运行清单工具后立即导致硬件清单循环,并将客户端扫描的安全补丁信息立即返回服务器,这会引起客户端上处理器的额外利用率以及额外的网络通讯,因此在默认情况下不使用该程序
切换到“计划”选项卡,点击×××星号,弹出来的对话框中选择“在此时间之后立即分配”,确定,这一步是为了在实验环境合纵能够尽快看到效果
确认SMS客户端计算机已成功运行“Windows Updates 工具(加急)”程序,步骤如下
1、在控制台树中,依次展开“站点数据库”、“系统状态”和“播发状态”。
2、单击“播发状态”,然后在“操作”菜单上单击“刷新”。
3、在控制台树中,单击 “Microsoft Updates 工具”
4、在右边详细窗格中,右击本地站点,然后指向“显示消息”,选择“全部”,弹出SMS状态消息查看器界面,如下图
注意:该界面应该看到消息 ID 为 10002、10005 和 10008 的状态消息。这些状态消息分别表示客户端首次接收到 Inventory Tool for Microsoft Updates 程序、首次启动 Inventory Tool for Microsoft Updates 以及首次成功运行 Inventory Tool for Microsoft Updates。再次运行该清单工具时,消息 ID 10008 将替代为消息 ID 10009。您也可能会注意到状态消息 10035,该消息指示程序尚未启动,因为已启动下载内容的请求。因为我之前已经安装过一次,所以可以看到消息ID变为1009.
现在我们还可以用另外一种方法验证Member1客户端已经安装好,集合中找到“Member1”客户端,然后右键,启用资源管理器,下图中标记的3项是客户端安装完清单工具后多出来的,其中“扩展的软件更新”就是Member1客户端可用的补丁列表,这是通过刚才分发的清单工具收集上来的
INSIDE OUT:
1、关于Microsoft Updates Tool”和“Microsoft Updates Tool(加急)”程序的说明:
“Microsoft Updates Tool”。该程序运行以下命令行: ScanWrapper.exe /Extended /cache,在客户端扫描安全补丁信息,但不立刻发给服务器直到下一次硬件信息收集
“Microsoft Updates Tool(加急)”该程序运行以下命令行: ScanWrapper.exe/Extended/cache/kick,/kick 开关导致在运行扫描工具之后立即收集硬件清单。这将更加及时地报告哪些软件更新得到了应用,哪些软件更新没有得到应用。在生产环境中运行 /kick 时需要小心。第一次运行加急程序时,可能导致大量的网络通讯,即使客户端仅在生成 delta 硬件清单。如果定期运行加急程序,对网络的影响将会减小。
注:这两个程序共享一下程序属性设置:运行时隐藏、运行时不需要重启计算机、仅可以在 Windows XP、Windows Server 2003、Windows 2000 Service Pack 3 和 Windows 2000 Service Pack 4 上运行、可以在有或无用户登录的情况下运行、使用管理权限运行、取消程序通知、首先运行 Windows Update Agent 程序和数据包
2、关于“Microsoft Updates Tool(预生产)”、“Microsoft Updates Tool”集合的说明
“Microsoft Updates Tool(预生产)”集合中只包括测试计算机,用于测试补丁的分发情况以便更好的部署到生产环境中
“Microsoft Updates Tool”集合具有一个基于查询的成员身份规则,默认的查询规则属性将“Microsoft Updates Tool”集合限制为“Microsoft Updates Tool(预生产)”集合,所以安装完成后的有效成员仅包括单一测试计算机。这样确保 SMS 2003 Inventory Tool for Microsoft Updates 开始仅在已知的测试计算机上运行。完成测试之后,可以删除“集合限制”选项。SMS 2003 Inventory Tool for Microsoft Updates 将被自动分发到所有能够运行清单工具的计算机上。
3、删除“限制到集合”选项的步骤具体如下
1. 在 SMS 管理员控制台中,依次展开“系统管理服务器”、站点数据库节点、“集合”,再右键单击 Microsoft Updates Tool 集合,然后单击“属性”。出现“Microsoft Updates Tool 集合属性”对话框。
2. 在“成员资格规则”选项卡上,右键单击“集合查询”成员资格规则,然后单击“属性”。出现“查询规则属性”对话框。
3. 将 “集合限制”选项设置为 “非集合限制”。
4. 在“查询规则属性”对话框中,单击“确定”。
5. 在“Microsoft Updates Tool 集合属性”对话框中,单击“确定”。
6. 在 SMS 管理员控制台的左窗格中单击 Microsoft Updates Tool 集合。验证您希望管理的所有计算机是否都已在右窗格中列出
四、分发补丁到客户机
客户端在安装了Windows Update代理后,我们就可以向客户机分发补丁了,下面准备向Member1客户机分发补丁,先在测试机上做测试,方法如下:在Microsoft Updates 工具(预生产)集合上右键-----所有任务-----分发软件更新,如图所示:
出现软件更新向导,直接点击下一步,出现下图,更新类型默认即可
创建一个包含补丁的数据包,如果以前有新建的数据包,这里可以选择,之后的步骤中可以对数据包中添加或删除更新,或修改更新,点击下一步
给创建的数据包命名为“MS09-044”,一个好的命名可以为管理员减轻不少负担,一目了然,点击下一步
设置组织名称为“新疆九州通医药”,我们还可以导入一个文档,这样客户端在执行安装的时候会看到该文档中的提示,但如果稍后的设置中选择执行无人参与安装是不会看到该信息的
这一步默认即可,不用修改
下图出现了站点可接受更新的补丁列表,分产品、名称、语言、Q号码、已请求、可用性这几列,“产品”是指微软的软件,如vista、server 2008、SQL Server、office等,“名称”是相应补丁的描述,“Q号码”指该补丁的微软知识库编号,“已请求”表示可接受更新的客户端数量。我们可以在每列的列名称下面空格中输入相应信息,最后会从所有补丁列表中进行筛选并返回更新列表,如下图,我在产品列下面输入“Windows xp”,已请求输入“1”,因为前面的数据包名称为MS09-044,所以这里我选择该补丁包kb956744
选择“自动为我下载可用的更新源文件”,让ITMU自动从Internet下载补丁,ITMU的一个新功能就是可从Internet下载中文补丁,而不必像以前那样必须手工下载然后放到指定目录,因为以前的工具不支持中文补丁的自动下载
INSIDE OUT:
如果要使用本地源,则单击“我将自己下载源文件”并单击“下一步”;如果正在手动下载更新,则请注意在“准备就绪”下已列出了“否”。这表示尚未指定更新文件位置,单击“属性”。“二进制路径”显示软件更新出现在目录中的完整路径和名称。复制并将其粘贴到一个文本文件(可从连接到 Internet 的计算机上访问的文本文件),以便将其粘贴到浏览器中并手动下载文件。将文件保存到向导可访问的位置。另外,可在资源浏览器中找到相同的二进制路径。您将看到它具有很长的文件名,而不是在与之相关的安全公告中列出的短文件名 - 例如,文件名是 windowsxp-kb871250-x86-enu_8a66a505679eadfbf9fe49c713fe68d3d8451a4c.exe,而不是 windowsxp-kb871250-x86-enu.exe;单击“导入,在“打开”对话框中,浏览到手动下载的软件更新,然后单击“打开”,此时,向导会根据目录中列出的长文件名验证导入的软件更新。如果下载短文件名的软件更新,则检查会失败。向导将向您发出无法验证所导入的软件更新的警告。如果确定其为正确的软件更新,则单击“是”以继续执行。如果希望向导能验证其为正确的软件更新,则单击“否”,然后使用“二进制路径”中显示的 URL导入具有长文件名的更新;单击“确定”,将看到状态为“准备就绪”的软件更新。单击“下一步
连接到微软网站自动下载指定的补丁
补丁的状态为“是”,表示该补丁可以分发,还可以看到该补丁包的大小为2.25MB
选择SMS2003作为分发点
选择“立即收集客户端库存清单”,这样客户端会在最短的时间内像服务器报告状态,推迟重新启动选项中保持默认,否则有些补丁安装完后会要求客户端马上重启生效
下图设置中,我们可以选择安装补丁时采用无人值守安装,也可以选择补丁运行的时间等参数,如果这里保持默认的执行无人参与软件更新安装,那么前面导入的.rtf文档客户端就不会看到
下图仍然是补丁分发的设置,因为测试,为了尽快看到效果,选择“只要播发就立即安装更新”
选择将数据包播发到“Microsoft Updatas 工具(预生产)”集合,完成分发向导
打开“Microsoft Update - MS09-044”的播发属性,设置播发开始时间,如下图设置
五、验证客户端补丁安装
下面到Member1客户端进行验证
点击上图中提示,弹出下图界面,点击现在安装
软件更新已成功安装
总结:利用SMS的软件分发功能可以很容易地将补丁分发到客户端,监控功能也较完善,总体来说是管理员实施补丁管理的一个较好选择,但在实际环境中发现一个问题:SMS的补丁更新目录与360安全卫士扫描出来的补丁有差异,有些360可以打上,但是补丁列表里面没有该补丁,估计问题出在ITMU上。从现在看,ITMU并非是一个很好的更新管理解决方案,现在SMS的下一个版本SCCM 2007已经不再使用ITMU了。
转载于:https://blog.51cto.com/winlinux/251121