Welcome to TechNet Blogs Sign in | Join | Help

ConfigMgr 2007 SP2中Windows 7操作系统部署如何进行用户状态迁移

我们刚刚在Windows 7正式发布的同一天发布了System Center Configuration Manager 2007的最新版本,ConfigMgr 2007 SP2。其中Windows 7的操作系统部署是SP中一个重要的特性。伴随着Windows 7的正式发布,很多企业都计划在其内部进行Windows 7的安装和部署。但是企业部署Windows 7所遇到的一大挑战就是如何迁移用户数据,如何能够在不影响员工正常工作的前提下对员工所使用的PC客户端进行操作系统的升级部署是很多企业所面临的课题。而ConfigMgr 2007 SP2不仅提供了一套自动化,灵活的企业部署Windows 7的解决方案,而且还提供了一套完整的操作系统部署中用户状态迁移的管理方案。下面我们就来详细介绍如何利用ConfigMgr 2007 SP2进行操作系统部署中的用户状态迁移。

什么是用户状态(User State)

1.用户目录下的文件,例如My Documents,IE的收藏夹等

2.操作系统设置,例如桌面背景等

3.某些应用程序的设置,例如Microsoft Office的一些设置等

以上所有可被迁移的用户数据我们都将其称为用户状态(User State)。上述三种是默认情况下会被迁移的用户状态,当然也可以通过设置USMT的Config XML文件来进行一些更为复杂的用户状态迁移。

用户状态迁移的分类

1.跨计算机的用户状态迁移

当企业的PC进行更新换代的时候,比如说购置了新的机器,在新的机器上安装完Windows 7操作系统之后,往往需要将现有员工在旧有操作系统上的用户状态迁移到新的机器上。

2.本机的用户状态迁移

当企业管理员对员工现有的计算机进行操作系统重部署时,例如从Windows XP或者Windows Vista升级部署成Windows 7,该计算机上的用户状态也需要随之迁移

下面就来介绍两种不同的用户状态迁移如何在ConfigMgr 2007 SP2中实现。

如何进行跨计算机的状态迁移

1.首先需要在ConfigMgr2007 SP2站点里面建立一个状态迁移点,State Migration Point,简称SMP。点击站点数据库->站点管理->[Site Code]->站点设置->站点系统->[站点]->新建角色,创建一个状态迁移。

2.在状态迁移点里面可以做以下设置SMP可保存的用户状态的最大数目,SMP正常工作所需要的最低磁盘空间以及SMP的删除策略,即当用户状态被恢复后在SMP上保存的时间。

image

3.创建计算机关联,在旧有计算机和目标计算机之间创建一个计算机关联。点击站点数据库->计算机管理->操作系统部署->计算机关联,新建一个计算机关联。默认设置下,所有源计算机用户帐户的用户状态都会被迁移,管理员也可以在计算机关联的用户账户选项页中设置需要进行用户状态迁移的用户帐户。

image

4.创建USMT 4.0的软件分发包 ,在ConfigMgr 2007 SP2的界面上,点击站点数据库->计算机管理->软件分发->包,新建包,来创建USMT 4.0的软件包。USMT 4.0是Windows Automated Installation Kit中自带的一个工具,它默认的安装位置是:C:\Program Files\Windows AIK\Tools\USMT。

5.创建捕获用户状态的任务序列,用户可以创建一个自定义的任务序列来对旧有计算机的用户状态进行捕获,并将该任务序列分发给旧有计算机。捕获用户状态的任务序列执行完毕后会将所捕获的状态保存在SMP的一个文件共享路径上,SMP会设置其ACL使该用户状态仅能被目标计算机读取。

image

6.创建操作系统部署的任务序列,并在任务序列最后增加还原用户状态的步骤。将该任务序列分发给目标计算机。当目标计算机执行操作系统部署的任务序列时,会自动从SMP上找到对应的用户状态,并通过USMT将其恢复在目标计算机全新安装的操作系统上。最后目标计算机会通知SMP,用户状态已经成功恢复,SMP开始用户状态保存的倒计时计数。

image

至此,操作系统部署不仅完成了用户状态从旧有的机器到新买入机器的迁移,也完成了从旧有操作系统到新操作系统的迁移。

如何进行本机快速用户状态迁移

本机的用户状态迁移也可以采用前面提到的利用SMP进行网络状态迁移的方法,尤其当操作系统部署需要重新对磁盘进行分区,或者需要格式化硬盘的情形下,捕获的用户状态无法保存在本机上。当操作系统部署中不进行磁盘分区格式化操作的话,在ConfigMgr 2007 SP2中,我们可以利用USMT 4.0的新特性进行基于Hardlink的快速用户状态迁移。通过Hardlink进行用户状态迁移,不需要进行任何文件拷贝工作,USMT会为所有需要迁移的文件创建Hardlink,并将其保存在一个用户状态保存目录,当磁盘被清除并重新部署操作系统的时候,任务序列不会清除该目录,当操作系统部署完成后,还原用户状态步骤会从该目录恢复用户状态。

下图所示的操作系统任务序列就是一个利用USMT 4.0 Hardlink技术进行本机快速用户状态迁移的例子。在捕获用户文件和设置组中,我们不再需要请求用户状态存储步骤和发布用户状态存储步骤,只需要设置三个内置任务序列变量:

OSDStateStorePath:它用来指定保存用户状态的目录。

OSDMigrateAdditionalCaptureOptions:它用来设置额外的USMT中scanstate.exe的执行参数。

OSDMigrateAdditionalRestoreOptions:它用来设置额外的USMT中loadstate.exe的执行参数。

有了这样一个任务序列,在操作系统部署的过程中,就可以用USMT 4.0特有的Hardlink 在本机进行一个快速的用户状态迁移。如果不设置OSDMigrateAdditionalCaptureOptions和OSDMigrateAdditionalResotreOptions中关于Hardlink的设置,那么任务序列就会进行一个文件拷贝的本机用户状态迁移,其性能相比使用Hardlink略为逊色。

image

综上所述,ConfigMgr 2007 SP2不仅为企业提供Windows 7操作系统部署的解决方案,还为企业提供了一个便捷的用户状态迁移解决方案。该方案不仅能够实现快速的本机用户状态迁移,还可以通过状态迁移点实现跨计算机的用户状态迁移,为企业内部操作系统从Windows XP或者Windows Vista升级部署到Windows 7提供了便利。

——徐超豪

我们最近为SCCM 2007SP2更新了文档库,其中包括对疑难解答文档的修订。这些修订有些也适用于SCCM 2007 SP1,但我们无法在SP1的每月更新中发布它们,因为它们包含SP2的内容.我在这里公布一些有关OOB管理的内容,它们可能对一些已有的SP1用户有用,这样他们不用等到SP2发布才能看到这些信息.

SCCM OOB无法在Disjoint Namespace环境下成功provision

Disjoint Namcespace是指机器所在的域的后缀同机器的DNS后缀不一致。如一台机器的DNS是computer1.corp.fabrikam.com 而它在Active Directory域的FQDN是na.corp.fabrikam.com。SCCM OOB并不支持Disjoint Namespace环境。

解决方案

对于Disjoint Namespace环境没有一定的解决方案。

机器无法在OOB的模式下provision,因为机器在provision之前已经在SCCM中有客户端记录

如果机器在provision之前已经被SCCM发现并生成客户端记录,那么之后在OOB的模式下provision会失败。因为在这种情况下,使用导入向导导入计算机记录时,会导致Site code信息的丢失。

解决方案

这一问题已经在SCCM 2007 SP2中解决。如果您的环境不能升级到SCCM 2007 SP2,那么您需要在导入计算机记录之前先手动删除服务器中的机器记录。另外一种方法是使用in-band的provision模式。

解决方案

一种方法是在安装操作系统时,使用导入计算机时相同的机器名称。这样操作系统会将该机器名称通过DHCP自动注册到DNS中。当机器没有安装任何操作系统时,管理员需要手动创建DNS记录。注册的FQDN必须和导入到SCCM中的机器记录相符。您可以从机器的ME BIOS中获取机器当前使用的IP。如果您知道机器的MAC地址,您也可以从DHCP中获取机器的IP。

对于新的尚未provision的AMT机器,执行以下步骤:

1. 在DHCP中为该机器保留一个DHCP记录并提供相应的MAC地址。

2. 手动在DNS中注册DNS记录。所注册的FQDN必须和导入到SCCM中的机器记录相符。所注册的IP必须和机器在DHCP中的记录相符。

低权限用户使用OOB console的IDER功能失败。

当用户计算机上使用了UAC时(Windows Vista和Windows Server 2008引入了UAC),OOB console的IDER功能需要用户使用管理员权限启动OOB console。要确定这个问题,用户可以在Oobconsole.log文件中查找以IMR_IDEROpenTCPSession<number> with user =开始的记录项,此日志文件位于文件夹<ConfigMgrInstallationPath> \ AdminUI \ 中。记录项内容为:

fail with result:0x2, description:Invalid Parameter

解决方案

把启动OOB console的用户帐户添加到本地Administrators组中。

——Carol Bailey

译:邵辉

20091022日,在Windows 7公开发布的同一天, System Center Configuration Manager 2007 SP2也正式发布。这是微软在巩固Configuration management市场领导地位的过程中又一个重要里程碑。作为部署Windows 7的重要方式,Configuration Manager 2007 SP2与微软最重要的操作系统一起发布,意味着我们已经为企业大规模升级部署Windows 7铺平了道路,企业客户可以立即得到一套完整的Windows 7 部署解决方案。

 

令我们非常自豪的是,这次的SP2研发工作完全由中国研发团队负责,我们在规定的期限之前提前完成了所有的任务。我们的软件开发工程师,测试开发工程师及项目经理精诚合作,高效且高质量地完成了包括iAMT, Windows 7 部署等核心功能的开发,测试,发布工作。成功发布此产品,意味着我们中国研发团队的成熟度又上了一个台阶,也是迎接新的挑战的一个起点。

 

SP2中主要的新功能包括:

·        Windows 7 Windows Server 2008 完全支持,客户可以部署、管理他们的windows 7客户端以及服务器系统。

·         第二代的Intel AMT 集成,包括对AMT固件升级的支持,以及对无线配置管理、802.1x等重要新功能的支持。

·         BranchCache的支持,客户在分公司的时候,可以利用Windows Server 2008 R2中的新技术以大大减少网络流量。

·         更加完善的64位支持,包括远程控制,App-v以及2007 OpsMgr agent

详细信息请参考http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=3318741a-c038-4ab1-852a-e9c13f8a8140#tm

——吴芳辉

最近,我们更新了ConfigMgr  2007 SP2文档中的Out-of-Band部分,着重对最佳安全实践部分进行了修订。这其中的一些修订对SP1也适用,但必须等到SP2发行用户才能看到。为了让用户及时获取信息,这里列举了那些SP1用户同样适用的部分。

在修订最佳安全实践的同时,也更新了推荐使用的带内设置集查询。过去的查询包括了未进行设置的AMT计算机以及由于AMT远程管理账户或MEBx账户改变而不能被带外服务点 (OOBSP) 设置的AMT计算机。后面一种情况通常也表示我们需要对AMT设置和发现账户进行配置。

更新后的查询排除了不受信任的ConfigMgr客户机,这当中包括被阻塞和未被认可的计算机。这正是最佳的安全实践:只对信任的机器进行设置。在sp2中,这一安全实践被强制实施,但sp1中并无此要求,因此修订后的查询自动排除了这些机器。在带内设置时,修订后的查询如下:

Select SMS_R_System.*

from SMS_R_System inner join SMS_CM_RES_COLL_SMS00001 on SMS_CM_RES_COLL_SMS00001.ResourceId = SMS_R_System.ResourceId

where (AMTStatus = 1 or AMTStatus = 2) and SMS_CM_RES_COLL_SMS00001.IsApproved = 1 and SMS_CM_RES_COLL_SMS00001.IsBlocked = 0

ConfigMgr 2007 sp1 Out-of-Band的最佳安全实践

 

购置AMT计算机之前,请对固件进行自定义。如果一台支持Out-of-Band管理的计算机在网络上,就能够通过BIOS扩展来自定义其固件参数,以大大提高安全性。您可以向您的计算机制造商询问能对哪些BIOS扩展进行设置,然后确定参数。详细步骤请参考决定是否需要从计算机制造商获取自定义固件映像。如果您的AMT计算机没有您需要使用的固件参数,可能可以手动指定。关于如何手动配置BIOS扩展,请参考因特尔的说明书、您的计算机制造商的说明书或者Intel vPro(博锐)专家中心:微软vPro管理技术网站(http://go.microsoft.com/fwlink/?LinkId=132001)。您可以通过自定义以下选项来提高安全性:

·         将所有外部CA的指纹更换成内部CA的指纹。这将可以防止恶意服务器对您的AMT计算机进行设置,而且您也不用再向外部的CA购买证书。关于如何定位内部根CA的证书指纹,请参考如何查找用于 AMT 设置的内部根证书的证书指纹

·         不要使用默认的MEBx密码。您可以设置自己的密码,并在ConfigMgr中为其指定设置、发现账户。这将可以防止恶意服务器利用默认密码对您的AMT计算机进行设置。详细信息可参考关于 MEBx 帐户 如何添加 AMT 设置和发现帐户

·         更改默认的设置服务器的参数。恶意计算机可以将自己的名称设置为默认的服务器名,以此冒充设置服务器。对于攻击者来说,计算机名往往容易获知,因此使用IP地址来指定设置服务器要比使用其计算机名来的安全的多。然而在用不同的站点对多个AMT计算机进行设置的时候,无法使用一个IP地址来标识服务器,这时,如果您使用名字解决方案,就必须对DNS进行配置。另外,请注意保护好您的DNS记录,如果记录被篡改,带外服务点将无法正常工作。

·         为设置另设一个端口。设置时,使用自定义的端口要比默认端口更安全。如果您使用带外设置,可以在Out-of-Band属性的常规选项卡下配置您的端口。

用带内设置代替带外设置。在使用带内设置时,尤其是本机模式下,用户可以方便的使用已经建立好的客户机与配置管理系统之间的信任关系。而在导入带外设置计算机时,如果不受信的计算机支持指定SMBIOS GUID(又称UUID),则也有可能被成功设置。在这之后,计算机会在活动目录域服务中自动生成账户,并且获得一张企业CA的服务器认证证书。因此,如果恶意计算机被成功设置,将导致其权限的提升,进而这个账户将能够通过认证,获取网络上的信息。另外,攻击者也可以利用获得了认证的证书冒充有效的DNS服务器或设置服务器,将AMT计算机诱至其下。如果您不是非要使用带外设置,可以通过以下方法减少此类安全风险:

·         在服务端,为防止恶意计算机在带外被设置,您可采取以下措施:不要使用带外计算机导入向导来向ConfigMgr数据库中添加新的计算机;设置Windows防火墙,阻止与带外服务器(OOBSP)默认端口(9971)的连接;不要在DNS中注册带外服务点的别名。另外,严格限制网络的物理连接,密切监视客户机也是十分必要的。

·         在客户端,为防止恶意计算机利用默认密码设置您的AMT计算机,您可以在AMT BIOS扩展中为MEBx账户自定义密码,并且在ConfigMgr中的AMT设置和发现账户中添加这个账户。详细信息请参考:关于 MEBx 帐户如何添加 AMT 设置和发现帐户

如果您的计算机没有安装操作系统,则不能进行带内设置。这时,可以使用操作系统部署(OSD)来安装操作系统和ConfigMgr 2007 SP1客户端,之后即可进行带内设置。带内设置与带外设置的不同之处在于,前者不会在活动目录域服务中添加账户,也不需要提供企业CA颁发的服务器认证证书。关于操作系统部署的详细信息,请参考Configuration Manager 中的操作系统部署。如果您由于未安装ConfigMgr 2007 SP1AMT计算机的版本不在ConfigMgr支持的范围内而不能进行带内设置,请安装ConfigMgr 2007 SP1客户端并升级固件到其支持的版本。关于COnfigMgr所支持的AMT版本,请参考Out-of-Band概述

对于被ConfigMgr 2007 SP1站点阻止的AMT计算机,请手动撤销证书并在活动目录中删除其账户。AMT计算机在被ConfigMgr 2007 SP1站点阻止之后,仍然能够接受其Out-of-Band管理,如果一台AMT计算机因不再受信而被阻止,请手动实行如下操作:

·         CA上撤销为不受信AMT计算机所颁布的证书。

·         在活动目录域服务中,禁止或删除不受信AMT计算机的账户。

控制设置证书的请求和安装。向设置服务器请求设置证书时,需要提供计算机的安全环境,以使证书直接安装到本地计算机中。如果您一定要从另一计算机获取证书,必须导出私钥,使用其他的安全控制,才能在严格的限制之下将证书导入本地证书库。

确保在已有证书过期之前申请新的设置证书。证书过期将导致设置失败,如果您从外部CA获取设置证书,请为更新、配置Out-of-Band管理点预留时间。

*注意:ConfigMgr会在正在使用设置证书距离过期还有40天或40天以下时产生7210号状态报警信息。在您更换成新的证书之前,这一信息每天会产生一次。如果距证书过期时间仅有的不到15天,报警消息会变成7211号。当然,新证书的有效期必须足够大,否则仍然会根据其有效期产生报警信息。

如果设置证书被撤销,将其从带外服务点系统服务器的证书库和Out-of-Band组件配置属性中删除。因为AMT计算机在接受设置时不会去检查证书吊销列表,所以一旦AMT设置证书被撤销,您必须手动阻止ConfigMgr再次使用它来设置AMT计算机。您可以首先在带外服务点系统服务器中将该证书删除,然后安装新的设置证书,并在Out-of-Band属性中对其进行配置。如果暂时没有有效的AMT设置证书,那么在获得有效的证书之前,您应当删除服务器带外服务点的角色。

如果您需要撤销由内部CA颁发的设置证书,请在证书授权控制台中撤销。ConfigMgr 2007 SP1中不提供撤销设置证书的功能。

使用专门的证书模板来设置AMT计算机。如果您的企业CA使用的是Windows Server企业版,可以通过复制网络服务器证书模板的方法来新建一个证书模板。但必须保证只有CConfigMgr站点服务器具有读取、注册权限,也不要添加其他默认的服务器认证能力。使用专门的证书模板的好处是,您能更好的管理和控制用户的使用权限,不会有权限提升的情况发生。但如果您的Windows Server是标准版的,就不能创建专门的证书模板,这种情况下,您可以禁止除了ConfigMgr站点服务器之外的所有计算机的读取和注册权限。

使用Out-of-Band代替LAN唤醒。尽管这两种方案都能够启动计算机来进行更新、公告,但前者更加安全。Out-of-Band使用标准工业安全协议来提供认证、加密服务,并与现有的公钥基础设施(PKI)部署结合,能独立于产品来管理安全控制。详细信息请参考在带外管理开机命令和 LAN 唤醒的唤醒数据包之间选择

使用专门的组织单位来发布AMT计算机。其好处是,您可以更好的管理和控制设置时创建的活动目录账户,并保证他们不会被授予更多的权限。

使用组策略来限制AMT账户的用户权限。对活动目录中的AMT账户权限进行限制能阻止权限提升,在攻击者窃取这些账户后也能其减少可能的攻击面。具体方法是:为AMT账户建立一个在设置过程中能够自动创建的安全组,并将该组添加到\计算机设置\Windows 设置\安全设置\本地策略\用户权限分配下的组策略设置中,如下:

·         拒绝从网络接入本机

·         拒接 以批作业模式登录

·         拒绝以服务模式登录

·         拒绝从本地登录

·         拒绝从终端服务登录

请对所有计算机采用这些组策略设置,如果有必要,定期据检查、修改组成员,确保其包含了活动目录域服务中的所有AMT账户。

为带内设置建立专门的集合。不要使用已有的集合进行带内设置。较好的做法是建立基于查询的集合,具体步骤请参考如何针对 AMT 设置计算机。当站点在混杂模式下时,必须确保这些计算机都已被批准,关于批准的详细信息,请参考关于 Configuration Manager 中的客户端批准如何批准 Configuration Manager 客户端

限制具有媒体重定向和PT管理权限的用户。获得媒体重定向的权利几乎相当于获得了到计算机的物理访问。一般的攻击者需要物理连接才能打开计算机,使用媒体重定向的人只需要加载一个备用的操作系统,就可以对计算机硬盘上的数据进行远程攻击。另外,PT管理权限自动包含了包括媒体重定向在内的所有AMT权限,因此也必须对其进行限制。

使用IDE 重定向来从备用媒体启动时,安全地检索和存储图像文件。 IDE 重定向启动备用媒体时,尽量将图像文件存储在运行Out-of-Band控制台的计算机上。 如果必须将它们存储在网络上,请确保使用SMB签名连接来防止其在传输过程中被篡改。 在这两种情况下,保护存储的文件都是为了防止未经授权的访问(例如,使用 NTFS 权限和加密文件系统)。

AMT设置账户的数量减至最小。您可以为AMT设置和发现指定多个账户,来发现具有管理控制器的计算机,并为其作Out-of-Band设置。但是不要指定多余的账户,不再需要的账户,应尽快将其删除。只指定需要的账户的好处是可以确保您的账户没有被授予过多的权限,同时也能减少不必要的网络流量和处理工作。关于AMT设置和发现账户,请参考确定是否配置用于带外管理的 AMT 设置和发现帐户关于 AMT 设置和发现帐户

 

——Carol Bailey

译:张婧

这是AMT系列中的第二篇文章,本文主要介绍了SCCM SP2中的新功能:Audit Log,以及如何使用这项功能。

1. 什么叫Audit Log?它有什么作用?

SCCM SP2引入一个新功能--------Audit Log,这项功能建立在Intel®主动管理技术(Intel® AMT) 的4.x、5.x版本上。其目的有二:它能记录重要事件的发生,也能通过跟踪破坏性行为来制止管理员的不当操作。审计人员通过审查日志,可以发现入侵行为和破坏性的操作,也能够追踪到各种问题的根本原因。

SCCM 带外管理在SP2引入了这个功能,用户可以随时方便地为计算机启用或是禁止审计功能,指定需要审计的事件。在以往,如果发生了入侵或者管理员的误操作,我们所看到的只是它导致的后果,却很难找出其根源,这也影响了我们排除问题的速度。而启用Audit Log功能后,所有指定的事件都会被记录。根据这些记录,我们能够方便的找出问题原因,以尽快排查问题。

例如,Audit log 提供了对远程控制事件的记录,任何人远程启动或关闭了该计算机,均会在Audit log中留下一条记录,标明谁,何时,做了怎样的操作。 这样如果出现未授权的远程控制情况,Admin将能容易地定位到责任人。

又如,IDE重定向是一个实用却危险的功能,如果获得IDE重定向的权力,只需要加载一个备用的操作系统,就可以对计算机硬盘上的数据进行远程攻击。但Audit Log能够记录到IDE重定向会话的开、闭。一旦发现攻击,能够根据记录及时找到问题所在。

2. 怎样启用Audit Log?
1) 选择你想要审计的事件

clip_image002[12]

2) 选中将启用Audit Log的计算机,右键点击,选择启用Audit Log。如果管理员修改了选中的审计事件,也可以使用此菜单项来修改后信息更新到选中的计算机。

clip_image004[11]

3. 如何查看/导出SCCM中的Audit Log

打开OOB控制台,查看Audit Log。

选中一条记录后可以看到它的详细信息(事件,发起人,扩展数据)。

也可以查看Audit Log启用/禁止状态和所占用的空间。

clip_image006[11]

点击“导出”,可以将Audit Log保存成csv格式的文件,该格式文件可以用Excel打开。

clip_image008[11]

4. 如何禁止Audit Log

选中目标计算机,右键点击,选择禁止Audit Log即可。可以通过启用Audit Log选项再次启用Audit Log。

5. 如何清除Audit Log

选中目标计算机 (或选中的Collection),右键点击,选择清除日志。

对于4.0、5.0的AMT计算机,如果SCCM Audit Log已满85%,将不会再记录新的日志(AMT 5.1可以使用Rollover Audit 策略以避免这种情况),所以管理员应当及时清除日志。

——韦炜,张婧

操作系统部署(Operating System Deployment)最早是System Center Configuration Manager 2003版本时的一个插件,因为它强大的功能而被整合进2007作为产品的一部分。操作系统部署可以将操作系统映像部署到Configuration Manager 2007管理的计算机上或者制作可启动光盘,移动硬盘等。操作系统映像以Windows Image Format(WIM)文件格式存储,包含了某个指定版本的Windows操作系统,及其所需的应用如系统补丁,安全更新等。

 

任务序列(Task Sequence)是操作系统部署中的脚本工具,可以用来定制部署过程。其强大的功能几乎可以支持对任何对操作系统映像的定制需求。如支持一个内建的操作或用户自定义命令,支持自定义变量,触发条件等等。其灵活性让系统管理员有很大的发挥空间以设计巧妙的用法,本文将介绍两种用法示例,可作为用户最佳实践的参考。

 

1.“周二补丁日”,用任务序列更新操作系统映像

 

操作系统映像是操作系统部署中的重要资源,如何保持操作系统映像经常更新,及时安装最新的补丁,就是这个“周二补丁日”小技巧的要解决的问题了。管理员可以用构建和捕获操作系统映像任务序列来完成给操作系统映像升级的过程。

 

准备工作:将需要安装的安全补丁做成软件包。

 

·         首先打开新建任务序列向导,选择“构建和捕获操作系统映像任务序列”,如下图所示:

 

clip_image002

 

·         在操任务序列信息页面里,输入任务序列的名字、备注, 并选择启动映像;

 

·         在安装Windows操作系统页面,选择要更新的操作系统映像文件,并输入产品密钥、管理员密码。

 

·         在配置网络页面上,选择加入域或工作组。

 

·         在安装ConfigMgr页面上,选择将用于安装 Configuration Manager 2007 客户端的 Configuration Manager 2007 包。

 

·         在“包括映像更新”页面上,选择合适的选项指定安装分配的软件更新。

 

·         做完以上步骤,在“安装软件包”页面上,我们就可以选择事先定义的包含补丁的软件包,以将这个软件包添加到操作系统映像中。如下图所示。

 

clip_image004

 

·         在“系统准备”页面上,指定包含 Sysprep 工具的 Configuration Manager 2007 包。

 

·         在“映像属性”页面上,指定更新后操作系统映像的标识信息。

 

·         在“抓捕映像”页面上,指定一个网络路径,用于存放抓捕创建出的操作系统映像。

 

完成之后,在一台干净的机器上运行这个任务序列,就可以在指定位置生成打过最新补丁的操作系统映像,从而用于其他需求了。下一次再更新操作系统影响时,可以在任务序列编辑器里替换包含新补丁的软件包,并再次运行这个任务序列。

 

2. 巧用变量,让同一个任务序列适应多个场合

 

制作操作系统映像时,经常会遇到一些部署需求场合,大部分设置相同,只有一些个性化设置不同,如给两个业务部门的新电脑部署相同操作系统,并安装不同的应用程序。这时候就需要用到任务序列中的变量。用户可以在计算机的属性页面或者集合的修改集合设定页面里设定变量和变量的值。在执行任务序列时,这些变量的值将自动替换脚本里的变量名。

 

下面我们用一个例子来讲解变量在任务序列里的用法。通过变量来达到用同一个任务序列给人事部和研发部部署操作系统并各自安装不同应用程序的目的。

 

准备工作:创建两个集合,分别叫HR New DesktopsR&D New Desktops,配置其成员规则使其内容分别为将要分发到人事部和研发部的电脑。为各种需要安装的常用软件创建软件包。

 

·         首先打开新建任务序列向导,选择“现有操作系统映像部署任务序列”,并完成任务序列向导。

 

·         其中映像可以选择上一个例子里我们捕获出来的打好最新补丁的映像文件。

 

·         选择新建好的任务序列,打开任务序列编辑器,如下图所示,在任务序列的末尾新建一条任务步骤,选择常规步骤中的安装软件。

 

clip_image006

 

·         在安装软件的任务属性中,选择安装多个应用程序,并在基本变量名称中填入相应的变量名前缀,如SoftwarePackage

 

·         对每个集合设置对应的变量和变量值。如要在研发部门的桌面电脑上安装officevisual studioadobe reader,就在R&D New Desktops集合中添加三个变量,变量名称分别为任务序列中指定的基本变量名称+三维序数(如SoftwarePackage001),变量值分别为需要部署的软件对应的包ID和程序名称,以冒号分隔,(如R2B00007: Office 2003)。如下图所示。用同样的方法在HR  New Desktops集合中添加需要在人事部桌面电脑上安装的软件列表。

 

clip_image008

 

保存任务序列和集合设定后,在R&D New Desktops集合上运行这个任务序列时,系统就会自动在部署完操作系统后,依次安装所指定给研发部桌面电脑安装的应用程序,而在HR  New Desktops集合上运行这个任务序列时则会安装给人事部指定的应用程序,从而不需要分别为不同的部门单独创建任务序列了。

 

小结:任务序列是操作系统部署中最复杂也是功能最强大的部分,更多高级应用可以参阅操作系统部署专题博客http://blogs.technet.com/inside_osd/

 

 

 

——  杨旻

ConfigMgr  日常工作中经常碰到的一个问题就是客户端安装完成以后无法正常工作,这里我特指一些site configuration无法通过policy的形式到达客户端.

 这往往涉及到很多不同的因素. 在这篇博文里面我将会介绍几类常见的导致这种情况的原因。并且共享给大家一些简单的调试方法。 

 首先我们来看一下当客户端的安装完成但还没有正常工作的时候,我们会在客户机上看到什么 

clip_image002

 clip_image004

  再让我们看看一个能够正常工作的客户端在客户机上看起来又是怎么样的 

clip_image005

 

clip_image006

 

 我们注意到Actions 这一页里面,一个正常工作的客户端比刚装好的客户端多了许多不同的Action 项目。而在Advanced 这一页里面,Site Code这一项也由空白变为了一个三位数的字母。这些区别意味着一个正常工作的客户端需要从MP(Management Point)获取一些配置信息,也就是我们常说的policy 

 为了拿到配置信息,客户端需要完成下面几个主要步骤。

 1.  
1. 成功获取Site Code 并寻找到正确 MP

2.联系MP并完成客户端机器注册

 下面我针对这几个主要步骤做一些常见问题的分析和调试 

1.      获取Site Code并寻找到正确MP的常见问题

a.      DNS  配置错误,导致客户端无法正确解析域服务器(Domain AD).

 在这种情况下,客户机ping 不到AD server,需要正确设置DNS服务器地址来解决此问题或者求助网络管理员。

b.      MP 安装不正确.
这种情况下,往往需要域管理员 (Domain Administrator)检查AD才能确定。如下图

clip_image008

 

  如果MP安装成功,我们能够在Active Directory Users and Computers Domain \System\System Management路径下看到SMS-MP-<SiteCode>-<MP machine>这样的一条记录,如果你没找到这个记录,那就意味着MP安装过程出现了问题。这时候你需要查看ConfigMgr服务器上的MP安装记录。

c.      Site Boundary 
没有正确定义,对于自动检测Site Code的客户端来说,Boundary定义是很重要的,因为客户端会通过AD里面的Boundary定义来最终确定需要和哪个SiteMP通讯。上图显示的Domain\System\System Management 路径下的内容里不包含Boundary信息。一个正确定义了BoundaryConfigMgr 会在Directory Users and ComputersDomain\System\System Management 路径下添加若干条Boundary 信息(AD site Name boundary除外)

 这种情况下你可以通过查看客户端的LocationServices.log来确认问题的根源。这种情况下常见的错误会显示如下 

LSGetAssignedSiteFromDirectories  LocationServices  5/14/2009 10:55:33 PM

LSGetGPSiteCode  LocationServices  5/14/2009 10:55:33 PM

LSGetGPSiteCode: Failed to Get Site Code from Group Policy Reg key [Software\Microsoft\SMS\Mobile Client] LSJoinedToADDomain  LocationServices  5/14/2009 10:55:33 PM 

LSGetAssignedSiteFromAD  LocationServices  5/14/2009 10:55:33 PM 

 LSGetADSiteName     LocationServices        5/14/2009 10:55:33 PM

Current AD site of machine is MyADSite      LocationServices        5/14/2009 10:55:33 PM

LSGetAssignedSiteFromSLP        LocationServices        5/14/2009 10:55:33 PM

LSGetSLP  LocationServices        5/14/2009 10:55:33 PM

LSGetSLPFromRegistry       LocationServices        5/14/2009 10:55:33 PM

LSGetSLPFromRegistry: Failed to get SLP from Registry (80004005)       LocationServices 

LSJoinedToADDomain        LocationServices        5/14/2009 10:55:33 PM     

Attempting to retrieve SLPs from AD  LocationServices        5/14/2009 10:55:33 PM     

LSGetSLPFromAD       LocationServices        5/14/2009 10:55:33 PM     

LSWinsResolveSMSName   LocationServices        5/14/2009 10:55:33 PM

Failed to resolve 'SMS_SLP' to IP address from WINS (0x00000000)       LocationServices        5/14/2009 10:55:39 PM

LSGetSLP : Failed to resolve SLP from WINS, is it published LocationServices        5/14/2009 10:55:39 PM

LSGetAssignedSiteFromSLP : Unable to get the list of SLPs  LocationServices        5/14/2009 10:55:39 PM

 

下图是正确定义了BoundarySite

clip_image010

 

d.      除了上面所提到的部分,还有一些IIS设置的问题也会引起客户端无法与MP通讯。大家可以通过查看TechNet上的相关文章加以分析,由于这部分更多的是关于IIS的安全认证,端口设置,访问权限设置,就不在这里赘述了。

 

  
联系MP并完成客户端机器注册的常见问题

在完成了寻找site codeMP的工作后,客户端还需要完成注册的任务,从而建立起服务器端和客户端的一种信任关系,为接下来的配置做准备。

 这里分为两种不同的情况,第一种为Mixed Mode下的注册。第二种为Native Mode下的注册。 

 两种注册都需要使用客户机上的certificate作为注册的凭证,所不同的是前者的certificateself signed也就是无CA(Certificate Authority)认可的, 而后者的certificate则是需要一个服务器端和客户端所在的域所信任的CA签发(issue) 

a.       常见问题1.   系统时间不一致。 这是我们在日常工作中经常碰到的一个问题。ConfigMgr的架构要求我们将服务器和客户端放置于同一个时间之下,这里指的是将服务器和客户机时间转换为UTC时间时两者的一致性,而不是指机器本地时间的一致性。一个简单的方法就是察看客户机和服务器的系统时间,并且将两者的时区调成一致,如果这时候的系统本地时间不同,那就意味着UTC时间也不一致。

b.       常见问题2. 客户端版本高于服务器端版本。

c.       常见问题3. 客户端缺失certificate。 在这种情况下需要查看本地机器的certificate store,路径为LocalMachine/SMS/Certificates,如果没有发现任何SMS certificate,那你就需要重新申请certificate(native mode)或者重新安装你的客户端(mixed mode) 

下图为正确的certificate store

clip_image012

 

d.      常见问题4. Certificate过期。 查看Certificate store中的Certificate有效期,如果certificate过了有效期,也会引起MP拒绝客户端注册。 

 为了确认客户端注册成功,我们可以查看客户端的程序记录ClientIDManagerStartup.log 

 如下记录表示该客户端成功注册完毕。 

RegTask: Starting registration, attempt 1.       ClientIDManagerStartup     5/14/2009 11:54:13 PM

RegTask: Initial backoff interval: 1 minutes    ClientIDManagerStartup     5/14/2009 11:54:14 PM

RegTask: Reset backoff interval: 257 minutes ClientIDManagerStartup     5/14/2009 11:54:14 PM

GetSystemEnclosureChassisInfo: IsFixed=TRUE, IsLaptop=FALSE    ClientIDManagerStartup  5/14/2009 11:54:15 PM

Computed HardwareID=2:DA8694C1A87469229D391BD546E673571A3F24E1

   Win32_SystemEnclosure.SerialNumber=9797-0800-1668-5799-7798-4730-39

   Win32_SystemEnclosure.SMBIOSAssetTag=8060-7573-0552-0546-2282-9167-93

   Win32_BaseBoard.SerialNumber=9797-0800-1668-5799-7798-4730-39

   Win32_BIOS.SerialNumber=9797-0800-1668-5799-7798-4730-39

   Win32_NetworkAdapterConfiguration.MACAddress=00:1D:D8:B7:1E:9          ClientIDManagerStartup     5/14/2009 11:54:15 PM

RegTask: Client is not registered. Sending registration request...  ClientIDManagerStartup       5/14/2009 11:54:15 PM

RegTask: Client registration is pending.  ClientIDManagerStartup  5/14/2009 11:54:18 PM

RegTask: Client is pending registration. Sending confirmation request...  ClientIDManagerStartup  5/14/2009 11:54:18 PM

RegTask: Client is pending registration. Sending confirmation request...  ClientIDManagerStartup  5/14/2009 11:55:18 PM

RegTask: Client is registered.          ClientIDManagerStartup     5/14/2009 11:55:18 PM

 

 本文简单介绍了几种客户端的安装调试方法,由于篇幅的关系无法进一步深入的分析。希望这些方法对初次涉及ConfigMgr的朋友有所帮助。

-- 沈青松

前言

资产管理是企业IT管理中的必不可少的一环也是繁琐的一环。本文旨在通过介绍Asset Intelligence, 让读者基本了解微软的企业资产管理方案。本文着眼于Asset Intelligence功能和使用的简要介绍,让读者对Asset Intelligence有个整体的了解;后续还会有一系列Asset Intelligence的专题文章对此功能进行更深入介绍。

本文适用于System Center Configuration Manager 2007 SP1.

Asset Intelligence是什么?

Asset Intelligence是一个从Systems Management Server (SMS) 2003 SP3开始新增加的一个功能,主要是增强SMS的资产管理功能。而后微软在System Center Configuration Manager 2007及Service Pack 1中对这个功能进行了改进后,目前可以提供:

- 实现整个Configuration Manager架构中使用软件的资产信息(Inventory)收集及管理

- 协助管理软件许可证(software license)

具体地说,Asset Intelligence的功能可以划分为如下几部分:

- 通过扩展硬件资产信息和增加许可证管理的功能,极大地增强了资产管理功能。提高了多个WMI的类(class)对于使用中的硬件软件关键信息的收集, 如USB设备信息。具体的增加类的列表稍后会提及。

- 内置了70余个易于使用的报表。许多报表可以链接到更具体的报表,这样用户可以由浅入深地获得相关的信息,如Client Access License使用情况报表,安装有Browser Helper Object的机器报表。

- Configuration Manager 2007 SP1中,新引入了Asset Intelligence目录信息(catalog)的自定义功能。另外,Microsoft Software Assurance (SA)的客户以通过Asset Intelligence连接到System Center Online (SCO)动态地更新Asset Intelligence的目录信息;SA客户还可以通过Asset Intelligence导入Microsoft Volume Licensing Service (MVLS)软件许可证信息,将企业购买的许可证信息与实际使用情况做比较。

如何使用Asset Intelligence?

Asset Intelligence的大部分功能所需的数据来自于Configuration Manager客户端所收集的信息,这些信息通常由Hardware Inventory Agent根据定义好的类收集,以Hardware Inventory Report的形式反馈给Configuration Manager服务器,然后在服务器端实现信息的汇总、管理、展现。Hardware Inventory Agent则是通过特定的Provider,获取具体的类的信息。Provider有多种,比如:

- 通过Windows Installer获取安装软件信息的Provider

- 通过注册表获取安装软件信息的Provider

相应地,需要采取以下步骤以实现上述功能:

步骤一:开启相关硬件资产(Hardware Inventory)收集的类

以下WMI的类是Asset Intelligence所需的类。用户可以通过直接修改<ConfigMgr installation directory>\Inboxes\clifiles.src\hinv\sms_def.mof中相应的部分开启它们;或者,通过Asset Intelligence的Reporting Class Enabler – 在Configuration Manager的管理控制台(Admin Console)中,右击Asset Intelligence, 选择Edit Asset Intelligence Reporting Class Settings.你可以开启一个或多个类,没有开启的类的信息将不会被收集,相应地一些报表因此会没有数据。

· SMS_InstalledSoftware

· SMS_InstalledSoftwareMS

· SMS_SystemConsoleUsage

· SMS_SystemConsoleUser

· SMS_AutoStartSoftware

· SMS_BrowserHelperObject

· Win32_USBDevice

· SMS_Processor

· SoftwareLicensingService

· SoftwareLicensingProduct

步骤二:开启成功登录事件审核(Success Logon Event Auditing)

对于控制台使用信息(console usage)及客户访问许可(Client Access License, CAL)的报表,除了开启相应地Hardware Inventory的类外,还需要开启相应机器上的Success Logon Event的审核。用户可以在相应机器的本地安全策略或组策略中的安全策略中配置。

此外,Asset Intelligence可以从SCO下载目录信息,并且允许用户自定义目录信息。相应的,需要采取以下步骤以实现相关功能:

步骤三:安装、配置Asset Intelligence Synchronization Point

Asset Intelligence Synchronization Point作为Configuration Manager中的角色之一,用户可以像安装其他角色一样安装Asset Intelligence Synchronization Point。只是作为一个与外界同步的角色,它需要能够连接Internet(即使是通过代理服务器)。

在安装过程中,用户会被提示提供一个证书,这个证书将用于与SCO的连接身份验证。如果您是SA用户,你可以从微软免费获得这个证书。另外,该证书使用流程在SP2中将会有一定改进以满足更多用户的需求。

安装完后,用户可以在Site System中,选择相应的角色——Asset Intelligence synchronization point进行配置,包括使用的证书,代理服务器,同步周期

如果用户需要导入软件许可证信息,则需要进行以下步骤:

步骤四:导入软件资产信息

在Configuration Manager的管理控制台中,右击Asset Intelligence, 选择Import Software Licenses,用户就可以通过向导导入相应的许可证信息文件。该向导支持微软的许可证信息文件,及符合格式要求的第三方的软件许可证信息文件(需要用户自行创建)。

当然,大多数Asset Intelligence的功能要通过报表来展现,以下步骤可以查看Asset Intelligence的报表

步骤五:使用Asset Intelligence的报表

Asset Intelligence在Configuration Manager中有一个单独的报表节点:在Configuration Manager的管理控制台中的Asset Intelligence下,有一个Asset Intelligence Reports节点。用户可以通过报表名选择相应的Asset Intelligence报表。通过这些报表,用户即可全面了解企业中的各种资产信息情况。

 

--Vincent Jiang

上周在拉斯维加斯,一年一度的微软管理峰会(Microsoft Management Summit, MMS) 如期举行。MMS为全世界IT Pro提供了微软IT管理领域的最新进展和深度的技术体验。此次峰会一如既往地吸引了全世界的IT管理领域的专家,共同探讨这一领域的各种主题。本次的MMS中,共有900多场精彩的演讲及用户体验活动,集中展示了微软在此领域的各个产品及解决方案。MMS的官方站点:https://www.mms-2009.com/default.aspx,大家 可以看到所有主题的列表。

 

MMS中有多场关于System Center Configuration Manager 产品主题的演示,为用户介绍了即将发布的Configuration Manager Service Pack 2,以及下一代Configuration Manager的各种激动人心的新功能。演讲过程中,我们欣喜地看到,赞叹、掌声 及热烈的会后讨论,告诉了用户对我们设计的新功能的高度认可。

 

其中,特别值得一提的是管理和服务部总经理Brad Anderson429日所作的演讲。在这个重要的演讲中,他邀请了Jeff Wettlaufer演示了如何使用Configuration Manager 2007 Service Pack 2 配合IntelvPro技术,高效地部署Windows 7到企业中所有客户端。在这个Demo中,Jeff通过无线网络,现场远程启动了20台配备Intel vPro技术的笔记本,并通过OSD功能,在这些笔记本安装了Windows 7。附:Brad 和Jeff的演视频

 

令我们自豪的是,在这次峰会上展示的很多大受欢迎的Configuration Manager 的功能背后,都有我们中国研发团队的辛勤努力:我们承担了Service Pack 2的主要开发工作;使Service Pack 2支持对Windows 7的部署和管理; 下一代Configuration Manager的核心功能”User Centric Manager”凝结着我们团队的汗水; Brad演示的使用Intel vPro技术进行Out of Band Management,更是完全由我们中国研发团队所开发的。

 

由于名额有限,不是所有人都能有机会亲临现场观看这些精彩的演讲,为了弥补不能到场观看的遗憾,微软特地推出了”MMS 2009 Online”活动,您可以通过这个活动下载所有的PPT文件,获取包含演说及Hands-on Lab录像的DVD。如果您对MMS的内容有兴趣,请访问https://www.mms-2009.com/public/registrationoverview.aspx

我在过去一些年中常见的一个客户端部署的问题是将ccmsetup程序用作一个系统服务。绝大多数情况下,我们可以将ccmsetup程序作为系统服务正常使用。然而,也有一些情况中这么做会带来预料不到的结果,随后导致客户端部署的失败。这篇文章介绍了一些这样做带来的后果,同时介绍了这么做如何导致了客户端部署失败。

 

ccmsetup运行时,它能运行于两种模式:系统服务模式或者可执行文件模式。在许多情况下,例如客户端推送(client push)安装过程中,ccmsetup默认运行于系统服务模式。当ccmsetup作为系统服务运行时,安装被分为几个不同的阶段。在第一个阶段,ccmsetup将自身拷贝到64位系统的%windir%\ccmsetup目录和32位系统的 %windir%\system32\ccmsetup目录,并且将自己注册为windows的 系统服务。这样做的目的是在客户端部署过程中利用windows系统服务的内置重试机制。如果客户端的安装因为客户机器的重启而失败,ccmsetup会在重启完成后重试。在ccmsetup.log文件中,这个阶段的记录如下:

 

==========[ ccmsetup started in process 2348 ]==========      ccmsetup       3/4/2009 11:16:10 AM
Version: 4.0.6221.1000   ccmsetup       3/4/2009 11:16:10 AM

 

 

Downloading c:\myinstalldir\ccmsetup.exe to C:\Windows\ccmsetup\ccmsetup.exe
File download 43% complete (262144 of 602112 bytes).   ccmsetup       3/4/2009 11:16:11 AM
File download 87% complete (524288 of 602112 bytes).   ccmsetup       3/4/2009 11:16:11 AM
File download 100% complete (602112 of 602112 bytes). ccmsetup       3/4/2009 11:16:11 AM
Download complete.     ccmsetup       3/4/2009 11:16:11 AM
Successfully created the ccmsetup service  ccmsetup       3/4/2009 11:16:11 AM

 

log文件中可见ccmsetup把自身拷贝到windows目录并且创建了对应的windows系统程序。随后ccmsetup退出了当前进程,作为一个windows系统服务重新开始运行。可以从ccmsetup.log中找到对应的线程重起的事实。例如,ccmsetup.log的下一行类似下面的内容:

 

Download complete.     ccmsetup       3/4/2009 11:16:11
Successfully created the ccmsetup service  ccmsetup       3/4/2009 11:16:11 AM
==========[ ccmsetup started in process 2608 ]==========      ccmsetup       3/4/2009 11:16:11 AM
Version: 4.0.6221.1000   ccmsetup       3/4/2009 11:16:11 AM

 

需要注意的是,从当前进程改变为系统服务后:ccmsetup重新启动以后以本地系统帐户(local system)运行,而不是最初运行安装程序的帐户。这些信息同样也可以从ccmsetup.log文件中找到,看上去例如:

 

Running as user "SYSTEM"    ccmsetup       3/4/2009 11:16:32 AM

 

 

当本地系统帐户对于客户端安装所需数据不具有访问权限时,这就会带来问题。例如,你从网络共享目录运行ccmsetup,这个网络共享目录包含了所有客户安装所需文件。有可能的情况是:你的当前帐户具有对其访问权限,而本地系统帐户却没有。所以当你运行ccmsetup时,第一阶段可以顺利完成,ccmsetup文件被拷贝到本地文件夹,因为这些工作通过当前帐户执行。然而当ccmsetup作为系统服务重新启动时,本地系统帐号则可能因为权限不足无法访问网络共享目录,导致ccmsetup无法下载所需的安装文件。当这个问题发生时,通常可以看到类似的消息出现:

 

Failed to access source file (…). Waiting for retry...

 

对于这个问题有几个解决方法,其中最简单的方法是将ccmsetup作为一个独立进程运行,而非系统服务。当ccmsetup作为一个独立进程运行时,整个客户端部署过程都运行于一个账户。所以,如果你的帐户具有对网络共享资源的访问权限,ccmsetup也就会具有对该资源的访问权限。

 

你可以通过几个不同的命令行选项来明确指定ccmsetup如何运行。如果你加上 /service 选项,ccmsetup则总是作为一个服务运行。相反地,如果你加上 /noservice选项, ccmsetup则总是作为一个独立线程运行。对于已经熟悉SMS 2003的用户来说,/noservice选项和2003中的/useronly选项具有完全相同的功能。我们在Configuration Manager中将/useronly选项重命名为/noservice,这是因为/useronly选项让人感觉客户端安装会通过低权限帐户运行,而事实却从来不是这样。

原文链接:http://blogs.technet.com/configmgrteam/archive/2009/03/13/troubleshooting-client-deployment-issues-running-ccmsetup-as-a-service.aspx

-- Configuration Manager 研发团队 Ben Yim

陈晓铮 译

        当一个产品发布以后,由于种种的原因,可能会存在这样或者那样的问题需要后续的修正。同样,在System Center Configuration Manager 2007发布后,如果用户发现了问题需要修正,Sustained Engineering团队(简称:SE团队)将负责具体问题的分析、修正、测试和发布工作。

当补丁发布以后,用户可以联系微软客户支持团队下载,并且根据相应的KB文章进行安装。下面,我们就简单地介绍一下System Center Configuration Manager 2007中的补丁。

 注意:本文只适用于SCCM2007RTM SCCM2007SP1的补丁安装。

 

服务器端补丁

服务器补丁命名规则

服务器补丁文件命名格式如下:

SCCM-2007<REL>-KB<KBnumber>-<platform>-<language>.exe

REL – 代表产品的release, 可能为RTM或者是SP1

Platform – x86 或者是x64

Language –SCCM产品的语言版本

每一个语言的补丁都有两个文件,分别适合于x86或者是x64平台,用户需要自己判断选择对应的文件,如果选择错误的平台,安装会提示如下错误信息:

clip_image002

 

服务器补丁 安装位置

     服务器端的补丁根据实际情况可以安装在如下的位置: 

  •   主站点(Primary Site)服务器
  •   辅助站点(Secondary Site)服务器 
  •   远程Provider
  •   远程控制终端(Remote Admin Console) 计算机

  服务器补丁的种类及详细介绍

  -- 主站点(Primary Site)/辅助站点(Secondary Site)/远程控制终端补丁(Remote Admin Console)

 在安装补丁的时候确保关闭SCCM控制终端应用程序,而且会可能影响某些服务,安装程序会自动侦测到需要停止的服务,并通知用户(如下图) 

clip_image004


 -- 数据库补丁

 数据库的补丁只能安装在主站点(Primary Site)服务器上,用户可以选择在安装的时候更新数据库, 也可以不立即更新(如下图),SQL脚本安装在<SMS_ROOT>\logs\KBxxxxxx\update.sqlxxxxxx – 代表KB号), 用户可以自己执行SQL脚本来更新数据库,

clip_image006

  注意:

在安装数据库补丁之前,建议用户备份数据库。

 补丁程序能够得到数据库服务器及数据库名称,即使是远程数据库,也可以自动连接并更新相应的数据库,用户不用担心数据库服务器的实际位置,只需在主站点上安装就可以了。 

 -- 站点角色(Site Role) 补丁

 SCCM产品里,有很多站点角色,比如Management Point等,这些角色可以有多个,或者可以安装在不同的计算机上,对于这些补丁,我们也只需要安装在主站点服务器上,在安装的时候会提示用户是否需要重置(reset)这些站点角色(见下图),主站点服务器的应用程序会帮助我们更新所有受影响的站点角色,用户不用关心这些站点在哪儿。 

clip_image008

 

--  远程Provider补丁

 通常情况下Provider是和主站点在通一台计算机上,但有时候可能会安装在远程的计算机上,这种情况下,用户需要自己找到安装Provider的服务器,并安装补丁程序来更新远程的Provider

--  客户端补丁

 客户端的补丁首先也是只能在主站点安装,然后再播发的相应的客户端,在下面的章节会有详细介绍 

补丁卸载

  所有非数据库更新的补丁都是可以卸载的,用户可以在“添加/删除程序”中可以看到如下的补丁列表并卸载补丁 

clip_image010

  注意: 

  数据库更新的补丁是不提供卸载的。

     卸载的时候需要考虑安装的顺序,必须是最后安装的补丁最先卸载,不然会可能对产品有不可预见的错误,在实际操作中,卸载程序会有如下类似警告提示: 

clip_image012

 

 客户端补丁

System Center Configuration Manager 2007 客户端是通过Client.msi安装的,客户端的补丁是以MSP文件的形式更新客户端的。在System Center Configuration Manager 2007中,MSP文件的命名规则如下(KBxxxxxx是该补丁对应的KB编号)

·         SCCM2007AC-RTM-KBxxxxxx-x86.msp (Configuration Manager 2007 RTM)

·         SCCM2007AC-SP1-KBxxxxxx-x86.msp (Configuration Manager 2007 SP1)

客户端补丁安装

 客户端的补丁是在服务器端安装的。安装过程中,补丁程序会提示用户是否创建数据包(Packages)和程序(Programs),缺省情况同意创建。如图所示: 

clip_image014

 

 然后,会显示创建的数据包和程序的名称,用户可以自定义数据包和程序的名称。如图所示: 

clip_image016

 

 安装完成后,会在服务器上创建一个数据包和程序。 

 缺省情况下,数据包的名称是: 

KBxxxxxx - Advanced Client Hotfix - <site>  

 程序的名称是:

KBxxxxxx – Advanced Client Patch Install  

 如图所示:

clip_image018

  对应的MSP文件保存在:

..\Microsoft Configuration Manager\Client\i386\hotfix\KBxxxxxx

 对应的安装说明文件(ACReadme.txt)保存在:

 ..\Microsoft Configuration Manager\Logs\KBxxxxxx

 如果用户在安装补丁的时候没有创建数据包和程序,可以根据ACReadme.txt自己手工在各个客户端安装MSP文件。

 然后,为该补丁创建的数据包和程序创建一个播发(Advertisements),发布到客户端。客户端安装以后,会在注册表里面记录该MSP的信息。以System Center Configuration Manager 2007 SP1为例。如果SCCM2007AC-SP1-KBxxxxxx-x86.msp在客户端安装以后,注册表中将创建一个新的键:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Configuration Manager Client\4.00.6221.1000\SCCM2007AC-SP1-KBxxxxxx-x86.msp,该键下面有两个键值:

·         Description :对该MSP文件的描述

·         PatchID: 该补丁的ID

 Troubleshooting

        MSP 运行时候会在%TEMP%目录下创建日志文件(SCCM2007AC-KBxxxxxx-x86.msp.log)。用户可以从这个文件中获取安装的具体情况和结果。

         用户也可以通过客户端的execmgr.log获取该补丁创建的数据包和程序的安装情况。

        MSP 在客户端安装后,用户可以到客户端安装目录(..\SMS_CCM)检查相应的文件版本是否更新。例如,如果本次补丁更新了AA.DLL文件,用户可以检查AA.DLL文件的版本和日期是否跟KB文章中描述的一致。

         另外,用户也可以到控制面板打开“Configuration Manager”项,在“Components”页检查对应组件的版本是否正确。

客户端补丁卸载

         客户端的补丁信息在控制面板里面是看不到的,所以,客户端补丁的卸载需要通过命令行实现。具体的命令如下:

        Msiexec /package <productcode> /uninstall <PatchGUID> REINSTALL=All REINSTALLMODE=maus

        <productcode>System Center Configuration Manager 2007 RTM或者System Center Configuration Manager  2007 SP1发布时候的Client.msiproductCode,例如:{CE6A85D8-D6B9-479A-9FE9-A06E56881E61}。用户可以用ORCA工具打开Client.msi查询,也可以在客户端的注册表里面查询,即在注册表HKEY_LOCAL_MACHINE\Software\Microsoft\SMS\Mobile Client下面查询ProductCode键值。而<PatchGUID>可以在上文提到的注册表键:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Configuration Manager Client\4.00.6221.1000\SCCM2007AC-SP1-KBxxxxxx-x86.msp 下面查询PatchID 

 例如,如果用户在System Center Configuration Manager 2007 SP1英文环境里面安装了KB955842对应的补丁SCCM2007-SP1-KB955842-X86-ENU.exe,如果用户想卸载这个客户端的补丁,可以在客户端的命令行窗口里面,输入如下命令: 

msiexec /package {CE6A85D8-D6B9-479A-9FE9-A06E56881E61} /uninstall {6844897A-3EF6-4FBB-9A14-A5C67379D7C0} REINSTALL=All REINSTALLMODE=maus

 值得注意的是,补丁卸载以后必须重新启动客户端的电脑才能生效。

--倪黔东(QianDong Ni),汪伟涛(Weitao Wang)

Configuration Manager 2007 Service Pack 2 (SP2) Beta 将于2009年五月底在Microsoft Connect上发布。 我们希望在这里和大家分享一下SP2给我们带来的新内容。

 

SP2中我们主要致力于Out of band management 的开发及增加对Windows® 7, Windows Server 2008® R2 的支持。

具体来说,SP2中将包含:

l  支持在Windows 7 上部署Client从而将Windows 7 的机器纳入管理范围

l  支持部署Windows 7的操作系统

l  支持Windows Server 2008 R2

l  增强了out of band management 功能并整合了最新的Intel vPro技术

l  增强了可支持性及合并了SP1之后发布的所有Hotfix

 

我们诚挚地期望您试用我们即将发布的Beta版本并将您的反馈通过Microsoft Connect站点发送给我们,您的意见是我们开发更好产品的灵感和动力源泉。

 

TAP(Technology Adoption Program) 现已开放注册,如果您想了解什么是TAP或者有兴趣加入Configuration Manager 2007 Service Pack 2 TAP,请访问 Microsoft Connect,您可以在此站点上了解TAP的详细情况及加入的方法。

 

请继续关注我们的博客,我们会在第一时间发布关于SP2更为详尽的信息。

 

--Michael Cureton

 

 

 

在前一篇整合SQL Reporting Services 和 Configuration Manager 2007 R2中,我们介绍了报表服务点可以提供的功能及与传统报表方案的不同之处。这一篇中,我们着重介绍如何安装和使用这一Configuration Manager 2007 R2 中提供的新功能。

 

 

 

 

安装SQL 报表服务点

 

 

1. 安装SQL Server 报表服务和数据库服务;

image

 

 

2. 配置SQL Server 报表服务, 用报表服务配置向导一步一步配置报表服务,注意只有配置了邮件选项,SCCM 2007 R2UI里才能建立邮件类型的订阅;

image

 

 

打开浏览器,输入http://ReportServerName/reports 来验证报表服务配置正确(请将ReportServerName 替换成实际服务器名称)

image

 

 

3. 安装SCCM 2007 SP1,所有以前版本的报表会一起被安装;

image

 

 

4. 安装SCCM 2007 R2包,安装完R2后,在Reporting节点下会多出一个节点:报表服务;

image

 

 

5. 用“站点角色向导”安装SCCM 2007 R2新的报表点(原来的报表点可以与新的报表点共存)

image

 

 

6. 用“复制报表向导”把原来的报表转换到新的报表,并把它保存到报表服务器上

image

 

 

输入SCCM站点的数据库机器名和数据库名:

image

 

 

选择一种数据源认证方法:

image

 

 

选择需要转换的报表:

image

 

 

选择报表权限:

image

 

 

开始转换:

image

 

 

转换完成, 报表点可以使用了:

image

 

 

可以看到,所有被转换的报表:

image

 

 

 

 

使用SQL 报表服务点:

 

 

1.     查看报表

 

       image

 

 

 

报表的内容会显示在报表查看器里:

image

 

 

2.     建立报表订阅

 

 

 

 

image

只有在报表服务中配置了邮件选项,才有邮件订阅, 同时,邮件订阅需要SQL Server Agent服务运行:

image

 

 

 

 

可以在报表的属性里看到订阅:

image

 

 

3.     使用报表编写工具创建用户自己的报表

 

 

 

 

image

基于Model的报表是使用SRS 报表编辑器来生成报表,然后保存在报表服务器上:

 

 

创建报表:

image

 

 

选择基于Model的报表:

image

 

 

选择一个Model

image

完成向导:

image

 

 

Report Builder编辑器将会启动, 编辑新报表,然后保存在报表服务器上:

image

 

 

SQL基础的报表需要自己写SQL语句来完成新报表:

image

 

 

新建的报表可以在报表服务器上找到:

image

 

 

启动新报表,我们会看到新报表的内容:

image

 

-- 李忠刚

背景资料:李敏,2005年开始在微软实习,半年后研究生毕业成为正式员工,先后经历了System Center Configuration Manager 2007以及SP1R2的发布,测试的领域涉及UI测试、AMT feature和安全测试等。这篇博客,是她想分享给大家的一些体会和故事,一来给不熟悉测试工作的读者描绘一下在微软当软件测试开发工程师是怎么回事情,二来“揭秘”一下微软的职业发展体制 ---

 

2005年的秋天,李敏还在上海交通大学念研究生,还有半年就要毕业了。一天,同学发了个链接给她,是微软在上海招聘实习生的消息,职位的名称叫做软件测试开发工程师(Software Development Engineer in Test,简称SDET),这个职位对学生来说还是个新鲜玩意儿,没几个人清楚具体情况,在好奇心的驱动和微软的吸引力之下,她投出了简历。接着她经历了传说中的微软“五轮面试”,走出美罗大厦的时候已是下午一点,时至今日她对这个时刻的印象只有两个:饥肠辘辘,大脑高速运转。经过一周的焦急等待之后,她同时收到了SDET实习生和正式员工的offer,所在的组是System Management Server(也就是System Center Configuration Manager 2007的上一个版本)。

 

就这样,李敏开始了在微软当软件测试开发工程师的旅程。

 

几个月过去了,当同学好奇地问起在微软工作的感受和SDET的情况时,她说了自己的“微软测试初体验”:

 

测试初体验一、软件测试开发工程师,很“奢侈”很“酷”

 

问起对软件测试开发工程师的第一印象是什么,她的回答是:挺“奢侈”挺“酷”的。

 

说到“奢侈”,先看看一个软件测试开发工程师的典型“测试财产清单” —— 一到两台配置先进的工作机;两个21寸的液晶显示器,一个屏幕用来显示产品的界面,另一个屏幕用来发bug或者编程序;再加上实验室里面十几台测试机器或是一个16G内存的“巨无霸”。如果你需要测试Windows Mobile,那恭喜你了,各式各样的smart phonepocket PC可以装满一抽屉。经过一段时间的了解后,她也知道了这样“奢侈”的配置一方面可以提高工作效率,更重要的是让测试工程师能够考虑到各种复杂的配置以及模拟客户环境。

 

说到“酷”,印象中,软件测试开发工程师总是有机会走在尝试各种微软新技术、新产品的前端,也总是有机会通过动手能力来展示自己的“酷”。比如工程师会把十几台测试机器装成各种各样不同的Bench, 操作系统从Windows 2000XP到最新的VistaLonghorn甚至Windows 7,从x86x64,从英文到德文、中文、日文等;微软最新的产品或者尚未发布的产品都可以拿来“研究”一把,比如LonghornWindows 7Hyper-V等;虽然不一定考过MCSE,但是每个人都会配置DNSDHCPADnetwork等。

 

测试初体验二、测试有时候就像是玩游戏,找问题的能力很重要

 

测试就像是玩游戏?也许你会觉得不可思议。李敏拿了道面试题来打比方,给你一台笔记本电脑,你会怎么去测试它?这是一道典型的开放式问题,即使是没有测试知识的人也可以想出很多的“测试用例”。比如检查笔记本的型号、颜色、硬件配置、屏幕、电池、操作系统等,相信这是很多人拿到新买的笔记本之后做的第一件事情,这些多半都属于常规的正向功能测试;还有些人指出,外观要小巧方便携带,键盘手感如何布局如何,功能键是不是方便易用,这些人对可用性要求比较高;还有些会想到用它来玩3D游戏看看显卡的性能怎么样;有些人想到装上Vista64位的操作系统,这就是兼容性方面的考虑;还有人思维“不走寻常路”,提出要把笔记本放在赤道的日照、南极的冰雪环境下试试能不能正常工作,当砧板切切菜,扔下楼看看碎不碎,这就是关于可靠性和压力方面的测试,有趣的答案还可以有许多许多,只要你去想…

 

在李敏的描述中,软件测试开发工程师真实的日常工作跟答这道题一样的好玩,只不过笔记本电脑换成了软件程序。软件测试开发工程师拿到“笔记本电脑”之后,会像上面说到的一样开动脑筋仔细检查,检查之前需要列出想测试的各个方面、策略、工具、风险以及怎么开展等,这称为测试计划(test plan);每项具体的测试叫做测试用例(test case),每个test case需要列出具体操作步骤(steps);找出来软件的缺陷、问题等称为bugbug中需要记录怎样去重现它,称为重现步骤(repro steps);找bug的过程中你可以试图找出根本原因在哪里、甚至哪一行代码有问题,这就是debugging。优秀的软件测试开发工程师在这个“玩游戏”的过程中需要具备足够的好奇心,想出各种各样的主意把软件“搞坏”,尽可能地找出bug,还要多从客户的角度去想,其终极目标就是为发布到客户手中的软件把好质量关。其中,找bug是软件测试开发工程师应该具备的基本功。

 

不久她就找到机会“测试”了一把自己的SDET指数,正好高性能计算组举办找bug比赛,优胜者可以获得一些小礼品,她拿到了一个印有Microsoft标志的水杯。

 

这时候,她的一个高中同学在MSN上面发了条消息:“你当了测试工程师,就不用编程了吧?”。看来需要澄清一下了:

 

测试初体验三、谁说软件测试开发工程师不用写代码了?

 

微软早年也设有只做手工测试而不写代码的职位,称为STE(Software Testing Engineer)。现在所有的测试工程师的职位都叫做SDET(Software Development Engineer in Test),从名字可以看出来,需要具备编程能力,这些编程工作是为了更好地做测试。

 

举个例子,李敏负责的某个UI模块有1000多个测试用例,手工执行一遍想想都很累。为了偷懒,她写了些代码将其中80%的测试用例实现测试自动化,这样下班前只要让机器开始跑自动化,第二天就可以拿到结果,从而大大减少了验证这些测试用例所需要花的人工时间,又可以及时地捕捉到bug。此外,软件测试开发工程师经常会做一些实用的测试工具和研究测试技术,比如开发UI测试方面的工具,开发测试流程管理工具,和更好地运用基于模型的测试方法等。在坚持创新的公司文化引导下,大家都非常注重运用新技术新方法,不断地把测试工作推进到新的高度。

 

转眼间,一年过去了,李敏从上海的服务器与开发工具事业部老大谢恩伟的手中接过了一周年的水晶纪念碑,按照惯例还请大家吃了一磅的M&M巧克力。2007年秋天,她所在的团队发布了System Center Configuration Manager 2007。在这段时间里,她亲身体验了微软给员工提供的多种多样的成长帮助:

 

职业发展体验一、员工成长路上的多种帮助

 

从加入公司的第一天起,部门就分配了一个资深员工给李敏做“Mentor”,Mentor的意思是良师益友,也就是“师傅”。Mentor会手把手地教日常工作中碰到的各种问题,很多小问题都可以请教Mentor,比如打印机怎么用、测试用例怎么设计、甚至是开会的时候有个缩写名词没听懂等。第一个Mentor的作用就是“师傅领进门”。

 

公司还提供了系统的专业知识培训。半年内,她先后参加了New SDET in MicrosoftTest Automation等培训,这些都是测试工作的基础知识。说起“修行在自身”,公司MyLearning网站上有不少测试专题,比如性能测试、代码覆盖率研究和安全测试等;这个网站有无数的在线课程录像,在这里可以学习其他员工的知识和经验,帮助自己更好地做测试工作;近期即将进行的技术讲座、培训、会议等也会在这里公布,热门专题一定要早点去注册“占座”,否则就没位子了。另外,她还发现了一个非常棒的资源MSLibrary,那里有无比丰富的技术书籍、新闻杂志和研究论文等。公司还投资了一系列的综合能力培训,为员工提供从各方面提升“软”技能的平台:有些培训是语言方面的,比如觉得英文不够好的可以去上课,老外来到中国也可以学中文;还有一些是教你“怎么说话”的,比如告诉你怎么精准提问、精准回答,怎样做演讲,怎样去沟通得到大家都想要的结果;还有一些教你“怎么思考”,比如创新思考,不同情况下的思考方式等。这些培训很实用,一般学完了就可以运用到实际工作和生活中。

 

再后来,李敏对安全测试的兴趣日渐浓厚,她根据自己的发展需求和兴趣找了美国这方面的“大牛”来做Mentor,渐渐地在System Center Configuration Manager 2007 SP1中挑起了做安全测试的担子。她还在上海的服务器与开发工具事业部中组建了一个跨产品组的虚拟团队,一方面带领团队成员学习安全知识和安全开发流程,另一方面积极向各个产品组推广实施安全开发流程的最佳实践经验。虚拟团队的成员来自各个不同的产品组,能花在安全方面的时间都是“工作之余”,要带领这个团队凝聚力量朝一个目标努力是并不容易的事情。最初组建团队的时候,她会用自己对安全方面的热情感染其他有兴趣的人,接着用事例让大家认识到安全对于微软产品真的很重要,而且安全方面的知识对于长期的职业发展也很有帮助,就这样“招募”到了团队的最初几个核心成员。接下来就是确定这个组的远景、使命和活动计划,她先提出了一个草案然后组织大家一起讨论,经过一番“激烈”辩论、修正大家达成了共识。其实,最大的困难还是来自于按照计划一步一步地开展活动,在团队成员兴趣减退的时候,需要振作士气让大家重新记起“最初的梦想”;在一些成员特别忙的时候,需要灵活修改计划,让他们能两头兼顾;另外还要考虑怎样能够更好地把安全意识和最佳实践经验传递给所有员工,比如会选择技术讲座、安全知识简报和展示等多种宣传方式。在这个过程中,李敏学到了很多东西,尤其是“influence without authority”的领导方式,通过影响来带动别人,而不是通过上下级的权威去要求别人。

 

此时,她对微软的职业发展也有了更加深刻的认识:

 

职业发展体验二、微软的职业发展道路为不断挑战自己的人而设计

 

关于员工的职业发展,年中的时候会专门有一个关于职业发展的讨论(Mid-Year Career Discussion,在公司内部内部简称MYCD)。经理会和员工一对一坐在一起,评估员工现在所处的发展阶段、能力水平等,讨论员工的未来三到五年的职业发展规划,然后进一步制定实施计划。微软给员工的职业发展道路也比较灵活,总体上有个人贡献者(Individual Contributor,简称IC)和管理(Management)两条职业发展轨迹。

 

软件测试开发工程师属于IC,也是李敏最初选择的轨迹。在微软,资深工程师很受尊敬也很有影响力。公司为工程师设计了具有挑战性的职业发展道路,所以,在这儿碰到一个为微软服务了十几年的工程师是稀松平常的事情。对于软件测试开发工程师来说,可以一路从Test(初级)做到Test II(中级),Senior Test(高级),甚至Principal Test(首席),随之而来的挑战是测试工作的范围、影响力不断扩大。比如一位Senior Test的挑战可能是对整个产品的测试工作做出很大的贡献,而一位Principal Test面临的挑战则是在整个Microsoft倡导新的测试技术,这都需要多年的积累,也很有挑战性。还有一个职位叫做Test Architect,这个职位负责测试Architect设计出来的architecture,光听听就知道很酷了。

 

员工会选择一条职业发展轨迹前进,但也可以根据兴趣和能力进行调整。从2007年开始,李敏的小组需要将部分测试工作外包出去,李敏在经理的指导下开始参与组建和发展外包软件测试组的工作,这让她发掘了自己在管理方面的兴趣和潜力。组建外包测试组的第一步是招人,先确定职位所需要的能力,然后筛选简历,开始面试,多方面考察候选人,最终做出决定。然后是培训工作所需要的知识,老组员带新组员,要求新组员在一周之内学会并可以上手工作。接着是制订一些规范流程,让组员知道怎样去高效地独立工作,也让整个过程更便于管理。比如,为了保证自动化的代码质量,李敏搭建了一个回归测试平台和一个网站,所有的自动化必须在这个平台上通过3次,才能去网站上把它们标记为“自动化完成”。此时这个组能够较好地运作起来了,李敏会和组员定期会进行一对一的谈话,了解他们的状态和遇到的问题等,综合分析之后会想一些办法去优化流程和提高团队的效率。经过观察,她还确定了一些技术能力和综合能力不错的组员,适当授权给他们去担当更多的责任,发挥他们的聪明才智,也减少自己的管理成本。整个过程下来,她发现管理很有意思也很挑战,自己有兴趣也有潜力去做,于是她在一个MYCD里调整了职业发展轨迹。经理了解之后也给与了相应的支持和辅导,比如会建议如何去“打磨”管理方面的技巧,也会抛出问题让她自己去思考该怎么解决、怎样做得更好。

 

选择不同的职业发展轨迹是一种挑战,而换个产品甚至迈进一个完全陌生的领域是另一种挑战。她身边就有一些同事选择加入其他的产品组。在这一点上,微软多元化的产品结构给员工提供了特别好的机会,从WindowsSQL ServerVisual Studio,从OfficeXBoxMSN等,跨度很大,就像是一个“IT业界”。员工总能找到挑战自己的机会,做熟了这个产品还可以做另外一个产品。在微软,经常可以看到工作了多年依旧保持着高度激情的员工,这恐怕是和公司提供的多元化的职业发展道路是分不开的。

 

 

时间如白驹过隙,2009年已经到来,她所在的组正在做下一个版本的Configuration Manager,她也在带领一个小组负责产品的UI测试工作。

 

回顾这三年半的历程,激动人心的挑战、解决问题的成就感以及团队合作的乐趣始终伴随左右。而抬头向前看时,还有太多未知的探索之旅等待着。

 

希望大家能喜欢这些心得与经验的分享。

 

 

李敏,软件测试开发工程师

 

此文翻译自System Center Configuration Manager 研发团队博客,英文原文请参见 SQL Reporting Services Integration with System Center Configuration Manager 2007 R2

背景

在Configuration Manager 2007 R2之前,报表方案提供给用户的是一个以ASP为基础的解决方案,它包括384张报表,这些报表是site server 的一部分。执行任何报表之前, 需要用户通过“site role wizard”安装“Reporting Point” 站点角色。“Site role wizard ”会创建一个在IIS下的ASP 网站,通过这个网站用户可以执行他所需要的报表。然而,用户常常因为网页需要生成”昂贵”的报表而超时,所谓昂贵的报表指的是从Configuration Manager数据库中返回大量记录的报表。

http://social.technet.microsoft.com/Forums/en-US/configmgrgeneral/thread/4c7d2829-3a8f-44d5-9b37-a4c3a128d126/

此外,这个方案在提供的标准报表功能时灵活性不够,比如并未提供一些标准报表功能:输出报表到各种不同的格式、在报表中定制样式、按特定的时间执行报表,以及允许用户订阅报表。

具有工业化的标准的报表方案 - SQL 报表服务,给Configuration Manager提供了更高效,可扩展性更强的报表解决方案.

SQL报表服务的优点

SQL 报表服务在监视报表执行性能及调整报表执行参数方面提供了极大的灵活性,同时提供了各种有用的功能,例如:

1.可以将报表输出为很多其他格式,像Word, Excel, PDF 等。

2.可以创建报表订阅,指定执行报表的时间,并把报表发给感兴趣的人。比如: 为软件更新报表创建一个报表订阅,如果我们规定所有的补丁都在周二下发,那么我们就可以指定这个报表在周二晚上或者周三早上执行。

3.由于SQL报表服务中提供的SQL Report Designer,报表编写功能被大大强化了。用户可以数据模型及基于SQL的报表,并可以脱离SQL报表服务器执行。

4.我们可以预估每个报表可能产生的数据,从而为他们设置不同的超时时间。

5.由于这些报表都是标准的SQL报表服务的报表,它们很容易在SQL报表服务器之间导入和导出。

6. 一个常见的需求是在生产环境上启用报表之前,先在Configuration Manager数据库副本上执行报表以测试报表的有效性。我们可以简单地通过改变报表的数据源来实现这个需求;先设置数据源为数据库副本,如果测试通过,就可以修改数据源为生产环境下的数据库。这对报表测试是非常有用的一个功能。

7.报表样式是另一个常见的客户需求。客户通常要求改变报表上的字体,字体大小,以及客户Logo。现在用户可以通过SQL报表服务设计自己的报表样式。

8.SQL报表服务提供报表缓存功能来减少随后报表执行需求的执行时间。这个缓存的超时值可以根据客户需要报表数据变化的频率来设定。

9.报表快照是另一种报表缓存,并且它可以指定特定的执行时间。当查看某一个报表快照时,服务器会读取执行此快照时存储下来的数据。

SQL报表服务和Configuration Manager 2007 R2的整合

在Configuration Manager 2007 R2中,引入一个新的site角色“Reporting Service Point”,它通过SQL 2005/2008的报表服务来帮助完成的报表功能。它通过Configuration Manager 2007 R2的一个转换向导实现,允许用户转换所有的当前存在的Configuration Manager 报表,同时部署这些报表到SQL报表服务器。

Site角色的安装和设置

下面是如何设置并执行SQL报表服务的简要描述:

1. 需求:一台装有SQL2005/2008报表服务器

2. 执行“site role wizard”,然后安装“Reporting Service Point”到SQL报表服务器上。在site role wizard中会要求输入一个根文件夹名,这个文件夹是所有要部署到的报表服务器上的报表存放的位置。

3. 一旦“site role wizard”成功执行,你会在Configuration Manager的管理控制台的Reporting中的Reporting Services下看到这个报表服务器。

4. 右击这个服务器,点击“Copy Reports Wizard”。

5. 执行“Copy Reports Wizard”,选择所有你想要转换的报表。

6. 此向导会引导用户把所有选择的报表转换成为基于SQL报表服务的报表,并且将转换后的报表部署到报表服务器的指定文件夹(第2步提到的)。

7. 同时此向导也会引导用户为各个报表分类创建不同的文件夹,并将转换后的报表存放在相应类型的文件夹中。

8. 所有报表部署完后,你可以看到所有的报表文件夹在Configuration Manager的管理控制台下,并能够执行这些文件夹下的任何报表。你可以在控制台下执行报表操作,也可以直接在SQL报表服务下通过SQL 报表管理器(Web UI)来做。SQL 报表服务器的报表管理器URL有如下的命名规范:

对默认的SQL Reporting Server 实例, URL访问报表和报表文件夹是:http://[ReportServer]/Reports

对某个SQL Reporting Server 实例, URL应该是:http://[ReportServer]/Reports_[InstanceName]

其他Configuration Manager管理控制台提供的功能

1. 报表订阅向导用来为Configuration Manager的报表建立订阅服务

2. 报表编写工具:

基于Model的报表向导

Configuration Manager 2007 R2针对客户端安全和软件更新管理,提供两种内置的报表Model。报表编写向导可以让用户使用这些Model来定制符合自己需求的报表。

基于SQL的报表向导

基于SQL的报表向导可以提供高级用户更多的功能,用户可以设置SQL查询语句,并根据这些查询生成报表。通过这个工具,用户可以看到所有可用的Configuration Manager数据库视图,及相应的字段,可以帮助用户很容易创建SQL查询,减少出错几率和拼写错误。

常见问题

1. 新的Reporting Service role是否可以和原来的Reporting point共存?

回答:是。

2. 查看和执行Configuration Manager最小的权限是什么?

回答:这方面的安全模式依赖于SQL 报表服务器角色基础的访问模式。一般用户需要浏览权限在报表服务器上浏览和执行报表。此外需要在报表服务器上的Configuration Manager数据库的访问权限。

如何授予访问报表服务器的权限:

http://msdn.microsoft.com/en-us/library/ms156034(SQL.90).aspx

预先定义角色:

http://msdn.microsoft.com/en-us/library/ms156465(SQL.90).aspx

3. Configuration Manager 2007 R2是否支持SQL 2008 报表服务?

回答:是,Configuration Manager 2007 R2不但支持SQL 2005 报表服务也支持SQL 2008 报表服务。如果你打算用SQL 2008 报表服务,你需要安装一个hot-fix以避免site server上出现不正确的状态信息。请参见:http://support.microsoft.com/kb/957576/

这是我第一篇文章,热切期待着你的意见,反馈和查询。如果你对这篇文章任何地方感兴趣,请在这里留言,我会在接下来的文章中提供更详尽的内容。

-- Bhaskar Krishnan

白小西 译

More Posts Next page »
 
Page view tracker