玩转SCVMM中的更新基线,实现虚拟平台基础服务器补丁自动更新

简介:

需要重启还需要可以在指定的时间窗重启,最好还能监控重启状态,还有如果是Hyper-v宿主机,最好能先保存虚拟机,或者最好能确保把Hyper-v群集中的高可用虚拟机在线迁移到其他机器上再重启,因为一般服务器有SCOM监控,因此在更新补丁之前最好能置于维护状态,更新成功后再取消维护状态,显然这样的要求只是用WSUS本身没有办法完成这个目标。

 

我测试了windows server 2012 下的群集感知更新(cluster aware update),也还算好用吧,但是这个只是针对群集的,而且只能是windows server 2012 系统或者以后OS上的群集,另外这个只能把群集节点置于维护状态,不能在SCOM中置于维护状态。

 

我后面通过这些链接

http://blogs.technet.com/b/scvmm/archive/2011/10/28/vmm-2012-update-management-getting-started-with-sample-baselines.aspx

http://blogs.technet.com/b/scvmm/archive/2011/11/01/automating-update-server-synchronization-in-vmm-2012-part-2-of-5.aspx

http://gallery.technet.microsoft.com/scriptcenter/Automating-UpdatePatch-136388b1

也了解到SCVMM可以对基础架构中的物理服务器进行补丁更新,但是SCVMM中的更新基线示例默认是空的,必须往更新基线中手动添加所需要的更新,这一点有点麻烦,我一般在WSUS中自动审批一些安全更新和重要补丁,然后手动审批一部分必须更新,SCVMM中应当同步审批的补丁到更新基线就好了,可以复用之前WSUS中的工作成果。

因此我需要找寻一个方法能够自动更新已经审批的补丁到更新基线中,我搜索了下互联网,找到这篇blog

http://blogs.technet.com/b/phillipgibson/archive/2013/08/05/automating-the-update-of-baselines-in-system-center-virtual-machine-manager.aspx

 

他的脚本给我提供了一个想法和思路,因此我开始以此为起点,来写个适合我自己的脚本。

 

  1. 首先我需要找到一个方法来过滤出我需要的补丁更新(已经审批过的、适合windows server 2008及R2 到windows server 2012 及R2的新的前200?个补丁)
  2. 使用compare-object 来对比是否基线中已包含了第一步中过滤出的补丁列表。原作者使用if then ,代码不够简洁。
  3. 增加其他还没有想好的内容。 

OK,我看到之前脚本作者使用Get-SCUpdate来获取和过滤更新,我需要知道get-scupdate 可以使用哪些参数

 

image

仅有上面参数是否无法满足我的过滤需求,我得看看get-scupdate 返回的对象含有哪些属性,这样我们使用where 进行过滤。我看到很多IS开头的属性,以及products,UpdateType,updateClassification等参数可以使用。

 

image

下面的过滤是我需要的结果。

 

image

 

下面是我自己的脚本:

 
Import-Module virtualmachinemanager
 
$jobGuid=[System.guid]::newGuid().tostring()
 
$myBaselineName="New_Approved_Updates_For_Server_08_And_12"
 
$newupdates=Get-SCUpdate|?{$_.products -match 'Windows server 20(08|12)' -and $_.isapproved}|sort -Property ArrivalDate -desc|select -first 500
                                                                                                                                                               
$Mybaseline=get-SCBaseline|?{$_.Name -eq $myBaselineName}
 
if(!$myBaseLine){
 
	$mybaseline=new-scbaseline -name $myBaselineName
}
 
if($myBaseLine){
	$currentUpdates=(get-SCBaseline -Name $myBaselineName).updates
	$UpdatesNeedToAdd=Compare-Object $newupdates $currentUpdates|?{$_.sideindicator -eq "<="}|%{$_.inputobject}
	Set-SCBaseline -Baseline $mybaseline  -RunAsynchronously -AddUpdates $UpdatesNeedToAdd -JobGroup $jobGuid -StartNow
 
}

 

Ok ,使用了以上SCVMM的更新基线,更新基线符合性扫描,更新基线符合性修复之后,发现此种更新方式也存在一定的局限性,SCVMM 中只能配置一个WSUS服务器,如果你的SCVMM管理了多个网络,而且使用了不止一台WSUS,这个时候SCVMM无法使用更新基线来扫描和修复位于其他网络(但存在下游或者其他WSUS)上Hyper-v基础结构主机。


本文转自 yoke88 51CTO博客,原文链接:http://blog.51cto.com/yoke88/1324432


相关文章
|
7月前
|
存储 弹性计算 安全
阿里云服务器官网:打造稳定可靠的云端平台
随着数字化时代的到来,云计算成为了企业转型升级的必然选择。作为中国云计算服务提供商,阿里巴巴旗下的阿里云服务器官网以其强大的技术实力和卓越的产品品质,成为众多企业和个人用户的首选。
|
1月前
|
弹性计算 安全 定位技术
幻兽帕鲁服务器搭建攻略:【阿里云平台快速上手指南】
2024年,火爆畅销的《幻兽帕鲁》游戏让无数玩家着迷不已!那么,您是否急切想要拥有一个能与伙伴们一起畅快玩耍的游戏服务器呢?现在就跟随若城的脚步,一起动手搭建一个属于自己的《幻兽帕鲁》服务器吧!让这个新年有心意
|
2月前
|
弹性计算 Linux 数据安全/隐私保护
幻兽帕鲁服务器搭建攻略:阿里云平台快速上手指南
2024年,火爆畅销的《幻兽帕鲁》游戏让无数玩家着迷不已!那么,您是否急切想要拥有一个能与伙伴们一起畅快玩耍的游戏服务器呢?现在就跟随若城的脚步,一起动手搭建一个属于自己的《幻兽帕鲁》服务器吧!让这个新年有心意, 让这个寒假更有趣
75102 10
|
2月前
|
SQL 弹性计算 安全
一文教你如何从零构建机密计算平台解决方案-ECS安全季
本文整理自【弹性计算技术公开课——ECS安全季】中,阿里云弹性计算产品专家唐湘华和阿里云弹性计算高级技术专家聂百川带来的收官课程《从零构建机密计算平台的解决方案》一节。
|
3月前
|
弹性计算 关系型数据库 MySQL
带你读《弹性计算技术指导及场景应用》——2. 免费试用ECS,轻松搭建WordPress博客平台使用
带你读《弹性计算技术指导及场景应用》——2. 免费试用ECS,轻松搭建WordPress博客平台使用
182 0
|
7月前
|
数据采集 开发工具 Android开发
Android平台如何实现屏幕数据采集并推送至RTMP服务器
随着无纸化、智慧教室等场景的普及,好多企业或者开发者开始寻求更高效稳定低延迟的RTMP同屏方案,本文以大牛直播SDK(Github)的同屏demo(对应工程:SmartServicePublisherV2)为例,介绍下如何采集编码推送RTMP数据到流媒体服务器。
129 0
|
3月前
|
数据采集 编解码 图形学
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
102 0
|
4月前
|
小程序 Linux Shell
SVN配置服务器自动更新
使用svn做版本控制服务器,其实还是比较方便的,不管是从搭建还是配置上,相对于git,都要简单很多。 Linux如何搭建SVN服务器,请移步《Centos7安装SVN》
51 0
|
4月前
|
应用服务中间件 开发工具 Android开发
Tomcat配置虚拟路径,使上传文件与服务器分离
Tomcat配置虚拟路径,使上传文件与服务器分离
56 0
|
7月前
|
算法 API 开发工具
Android平台Camera2数据如何对接RTMP推流到服务器
在Google 推出Android 5.0的时候, Android Camera API 版本升级到了API2(android.hardware.camera2), 之前使用的API1(android.hardware.camera)就被标为 Deprecated 了。
232 0