您的位置:首页 > 其它

SMS脚本节选六:如何使用站点控制文件

2006-01-05 22:21 796 查看
The site control file stores configuration information for an SMS site. Because the site control file is often updated, the SMS provider has a WMI SMS_SiteControlFile class that provides programmatic access to the file.
For example, you can update the site control file programmatically to create boundaries or, as in the case of the following procedure, change the site comment of the site.
Note:
Use extreme care when scripting changes to the site control file, because it is possible to irreparably damage your SMS site.
For more information about managing site control configuration, see the SMS 2003 SDK.

To use the site control file

Connect to the site SMS Provider as follows:
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices= objSWbemLocator.ConnectServer(".", "root/sms")

Set ProviderLoc = objSWbemServices.InstancesOf("SMS_ProviderLocation")

For Each Location In ProviderLoc
        If Location.ProviderForLocalSite = True Then
            Set objSWbemServices = objSWbemLocator.ConnectServer _
                 (Location.Machine, "root/sms/site_" + Location.SiteCode)
        End If
Next
Open the site control file by using SMS_SiteControlFile.GetSessionHandle. This creates a local, in-memory copy of the site control file that is identified by a session handle returned by GetSessionHandle.
Set objSWbemContext = CreateObject("WbemScripting.SWbemNamedValueSet")
objSWbemContext.Add "SessionHandle", ObjSWbemServices.ExecMethod("SMS_SiteControlFile", "GetSessionHandle").SessionHandle
Change the site comment:
SiteToChange = "YOURSITECODE"
objSWbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & SiteToChange & """", "Refresh", , , objSWbemContext
Set objSWbemInst = objSWbemServices.Get("SMS_SCI_SiteDefinition.Filetype=1,Itemtype='Site Definition',Sitecode='" & SiteToChange & "',ItemName='Site Definition'", , objSWbemContext)
proparray = objSWbemInst.props
WScript.Echo SiteToChange & " site comment: " & proparray(0).Value1 'Display current site comment
proparray(0).Value1 = "A New Site Comment" 'Change the site comment
objSWbemInst.props = proparray
Commit changes to the site control file:
objSWbemInst.Put_ , objSWbemContext
objSWbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & SiteToChange & """", "Commit", , , objSWbemContext
objSWbemServices.Get("SMS_SiteControlFile").ReleaseSessionHandle objSWbemContext.Item("SessionHandle").Value

Compiling the Code

Requires an SMS 2003 Site Server.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: