How to Use the Site Control File

Published : April 11, 2005

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.gif  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.

On This Page

To use the site control file
Compiling the Code
See Also

To use the site control file

  1. 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

  1. 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

  1. 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

  1. 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.

See Also

Tasks

How to Add SMS Site Boundaries