The site control file in System Center 2012 Configuration Manager is an ASCII text file (Sitectrl.ct0) that contains the configuration of each site. There are two types of site control files:

The site control file is stored on each site server in the site control manager inbox.

On the primary site, there is a copy of the site control file for the current site in the database. The primary site also has a copy of the site control file for all lower level sites in the hierarchy, including secondary sites.

Each child site passes a copy of its site control file to its parent site. Each parent site passes a copy of the site control file for itself and for each of its child sites up the hierarchy. Therefore, the central site's database contains copies of the site control files of every Configuration Manager site in the hierarchy.

Site Control File Format

The site control file is a collection of resource definitions that contain embedded properties, embedded property lists and multi-string lists. The following example shows a section of site control file that defines client component information. The resource is declared by the BEGIN_CLIENT_COMPONENT. The embedded properties are denoted by PROPERTY and have a name and value. The property lists are denoted by the BEGIN_PROPERTY_LIST section and list a property list name and several property names and associated values. The multi-string lists are denoted by the BEGIN_CLIENT_REG_MULTI_STRING_LIST and provide a list of string values.

  Copy Code
BEGIN_CLIENT_COMPONENT
	<SMS Client Base Components>
	<65537>
	SITE_KEY_FLAGS <1>
	PROPERTY <Component Verify Interval><REG_SZ><00011700001000F0><0>
	PROPERTY <Component Maintenance Interval (minutes)><REG_DWORD><><1500>
	BEGIN_PROPERTY_LIST
		<Copy Queue>
		<(REG_DWORD)Item Lifetime=11520>
		<(REG_DWORD)Wakeup cycle=1380>
	END_PROPERTY_LIST
	BEGIN_CLIENT_REG_MULTI_STRING_LIST
		<Retry Sequence><Copy Queue>
		SITE_KEY_FLAGS <1>
		<15>
		<30>
		<60>
		<360>
	END_CLIENT_REG_MULTI_STRING_LIST
END_CLIENT_COMPONENT

The provider has several Windows Management Instrumentation (WMI) classes that represent resources in the site control file. For example, SMS_SCI_Component Server WMI Class holds information on the server components stored on a System Center 2012 Configuration Manager site server. These classes derive from SMS_SiteControlItem Server WMI Class. For more information, see Configuration Manager Site Configuration Server WMI Classes.

The following example is the declaration for SMS_SCI_ClientConfig Server WMI Class.

  Copy Code
Class SMS_SCI_ClientConfig : SMS_SiteControlItem 
{
	 String ClientConfigName;
	 UInt32 FileType;
	 UInt32 Flags;
	 String ItemName;
	 String ItemType;
	 String Platforms[];
	 SMS_EmbeddedPropertyList PropLists[];
	 SMS_EmbeddedProperty Props[];
	 SMS_Client_Reg_MultiString_List RegMultiStringLists[];
	 String SiteCode;
};

The declaration includes declarations for the embedded property, property list, and multi string list declarations.

You access the embedded properties, property lists, and multi-string lists by using the following classes:

Type WMI Class

Embedded property

SMS_EmbeddedProperty Server WMI Class

Embedded property list

SMS_EmbeddedPropertyList Server WMI Class (array)

Multi-string list

SMS_Client_Reg_MultiString_List Server WMI Class (array)

This documentation has the following topics that describe the embedded properties:

How to Read a Configuration Manager Site Control File Embedded PropertyHow to Read a Configuration Manager Site Control File Embedded Property List

How to Read a Configuration Manager Site Control File Embedded RegMultiString List

How to Write a Configuration Manager Site Control File Embedded PropertyHow to Write a Configuration Manager Site Control File Embedded Property List

How to Write a Configuration Manager Site Control File Embedded RegMultiString List

Using the Site Control File

How you access the site control file differs depending on whether you are using WMI or the managed provider.

WMI

When you are using WMI, you use the SMS_SiteControlFile class methods to manage changes to the site control file. Writing to the site control file is managed by using session contextual information that you supply. This is used to enable concurrent writing to the site control file for multiple applications. For more information, see How to Read and Write to the Configuration Manager Site Control File by Using WMI If you are only reading from the site control file you can query it without setting up a session. For an example, How to Read the Tally Intervals for a Configuration Manager Site.

Managed Provider

In almost all cases, your code does not have to lock or commit changes to the Configuration Manager site control file because the managed Configuration Manager library takes care of this for you. As a result, programming the Configuration Manager site control file is fundamentally the same as programming Configuration Manager objects. This is different from accessing the Configuration Manager site control file through WMI where you explicitly have to get a session handle and commit any changes you make.

For more information, see, How to Read and Write to the Configuration Manager Site Control File by Using Managed Code.

See Also