사이트 시스템 역할을 배포하는 방법(예: 대체 상태 지점)How to Deploy a Site System Role (Example: Fallback Status Point)

사이트의 기능 및 기능은 적용 된 사이트 역할에 따라 결정 됩니다.The features and capabilities of a site are determined by the site roles applied to it. 사이트에는 하나 이상의 사이트 역할이 포함 될 수 있습니다.A site can contain one or more site roles. 일부 역할은 다른 역할에 종속 됩니다.Some roles depend on other roles. 특정 사이트 역할에 대 한 자세한 내용은 Configuration Manager에 대 한 사이트 및 계층 구성을 참조 하세요.For more information about specific site roles see Configure sites and hierarchies for Configuration Manager.

사이트 구성은 WMI(Windows Management Instrumentation) (WMI) 클래스를 통해 수행 됩니다.Configuring a site is performed through Windows Management Instrumentation (WMI) classes. 예를 들어 SMS_SCI_Component SERVER WMI 클래스 는 Configuration Manager 사이트 서버에 저장 된 서버 구성 요소에 대 한 정보를 포함 합니다.For example, SMS_SCI_Component Server WMI Class holds information about the server components stored on a Configuration Manager site server. 이러한 클래스는 SMS_SiteControlItem 서버 WMI 클래스에서 파생 됩니다.These classes derive from SMS_SiteControlItem Server WMI Class. 자세한 내용은 Configuration Manager 사이트 구성 서버 WMI 클래스를 참조 하세요.For more information, see Configuration Manager Site Configuration Server WMI Classes.

참고

이전 버전의 Configuration Manager에서 SMS_SiteControlFile WMI 클래스는 사이트 구성의 최신 복사본을 수신 하 고, 사이트 구성을 업데이트 하 고, 업데이트 세션을 관리 하는 데 사용 되었습니다.In earlier versions of Configuration Manager, the SMS_SiteControlFile WMI class was used to receive the latest copy of a site's configuration, to update a site's configuration, and to manage update sessions. 사이트 구성에 대 한 변경 내용이 데이터베이스에 즉시 기록 되 고 파일이 더 이상 사용 되지 않으므로이는 더 이상 필요 하지 않습니다.This is no longer required as the changes that are made to a site's configuration are immediately written to the database and a file is no longer used.

일반적으로 사이트 제어 항목은 개별 설정, 포함 된 속성, 속성 목록 및 다중 문자열 목록에 대해 세 가지 유형의 속성을 사용 합니다.Site control items generally use three types' properties for individual settings, embedded properties, property lists, and multi-string lists. 다음 클래스를 사용 하 여 액세스할 수 있습니다.They are accessed by using the following classes:

TypeType WMI 클래스WMI Class
Embedded 속성Embedded property SMS_EmbeddedProperty 서버 WMI 클래스SMS_EmbeddedProperty Server WMI Class
포함 된 속성 목록Embedded property list SMS_EmbeddedPropertyList 서버 WMI 클래스 (array)SMS_EmbeddedPropertyList Server WMI Class (array)
다중 문자열 목록Multi-string list SMS_Client_Reg_MultiString_List 서버 WMI 클래스 (array)SMS_Client_Reg_MultiString_List Server WMI Class (array)

사이트 역할을 배포 하려면To deploy a site role

  1. SMS 공급자에 대한 연결을 설정합니다.Set up a connection to the SMS Provider.

  2. WMI 클래스의 인스턴스 만들기 SMS_SCI_SysResUseCreate an instance of the SMS_SCI_SysResUse WMI class

  3. NALPath, NALType, RoleNameSitecode 속성을 설정합니다.Set the NALPath, NALType, RoleName, and Sitecode properties.

  4. 선택한 역할에 따라 올바른 포함 속성 또는 포함 된 속성 목록 값을 설정 합니다.Depending on the role chosen, set the correct embedded properties or embedded property list values.

  5. 역할을 저장합니다.Save the role.

예제Example

다음 예에서는 역할을 만듭니다 Fallback Status Point .The following example creates a Fallback Status Point role:

Sub CreateRole(connection, computerName, siteCode, domainName)    Dim role    Dim props    ' Create an instance of the class that defines a role    Set role = connection.Get("SMS_SCI_SysResUse").SpawnInstance_()    ' Configure the basic information of a role    role.NALPath  = "[""Display=\\" &  computerName & "." & domainName & "\""]MSWNET:[""SMS_SITE=" & siteCode & """]\\" & computerName & "." & domainName & "\"    role.NALType  = "Windows NT Server"    role.RoleName = "SMS Fallback Status Point"    role.Sitecode = siteCode    ' Initialize the properties array    props = Array()    ' Add each required property to the array    SetProperty connection, props, "FSPInternetFacing", 0, "", ""    SetProperty connection, props, "Throttle Count", 10000, "", ""    SetProperty connection, props, "Throttle Interval", 3600000, "", ""    SetProperty connection, props, "Server Remote Name", 0, computerName & "." & domainName, ""    ' Set the role's properties and commit the role    role.Props = props    role.Put_    ' Cleanup    Set role = Nothing    Set props = NothingEnd SubSub SetProperty(connection, propsArray, propertyName, intValue, strValue1, strValue2)    Dim index    Dim foundProperty    Dim newProperty    foundProperty = False    ' Loop through properties until a match is found and then set the properties using the values passed in.    For index = 0 to UBound(propsArray)        If propsArray(index).PropertyName = propertyName then            foundProperty = true            propsArray(index).Value = intValue            propsArray(index).Value1 = strValue1            propsArray(index).Value2 = strValue2            Exit For        End if    Next    ' If the property does not exist, then create it and set the property values using the values passed in.    If not foundProperty then        Set newProperty = connection.Get("SMS_EmbeddedProperty").SpawnInstance_        newProperty.PropertyName = propertyName        newProperty.Value = intValue        newProperty.Value1 = strValue1        newProperty.Value2 = strValue2        ReDim Preserve propsArray(UBound(propsArray) + 1)        Set propsArray(UBound(propsArray)) = newProperty     End if    ' Cleanup    Set newProperty = NothingEnd Sub  
public void CreateRole(WqlConnectionManager connection, string computerName, string siteCode, string domainName){    IResultObject role = connection.CreateInstance("SMS_SCI_SysResUse");    string fqdn = computerName + "." + domainName;    role.Properties["NALPath"].StringValue = string.Format(@"[""Display=\\{0}\""]MSWNET:[""SMS_SITE={1}""]\\{0}\", fqdn, siteCode);    role.Properties["NALType"].StringValue = "Windows NT Server";    role.Properties["RoleName"].StringValue = "SMS Fallback Status Point";    role.Properties["Sitecode"].StringValue = siteCode;    WriteEmbeddedProperty(role, "FSPInternetFacing", 0, "", "");    WriteEmbeddedProperty(role, "Throttle Count", 10000, "", "");    WriteEmbeddedProperty(role, "Throttle Interval", 3600000, "", "");    WriteEmbeddedProperty(role, "Server Remote Name", 0, fqdn, "");    role.Put();}public void WriteEmbeddedProperty(IResultObject container, string propertyName, int value, string value1, string value2){    // Get the property, or create it.    IResultObject newProperty;    Dictionary<string, IResultObject> propertiesCopy = container.EmbeddedProperties;    if (propertiesCopy.ContainsKey(propertyName))    {        newProperty = propertiesCopy[propertyName];    }    else    {        newProperty = container.ConnectionManager.CreateEmbeddedObjectInstance("SMS_EmbeddedProperty");        propertiesCopy.Add(propertyName, newProperty);    }    newProperty["PropertyName"].StringValue = propertyName;    newProperty["Value"].IntegerValue = value;    newProperty["Value1"].StringValue = value1;    newProperty["Value2"].StringValue = value2;    container.EmbeddedProperties = propertiesCopy;}  

예제 메서드에는 다음과 같은 매개 변수가 포함되어 있습니다.The example method has the following parameters:

매개 변수Parameter TypeType 설명Description
connection - 관리 코드: WqlConnectionManager- Managed: WqlConnectionManager
- VBScript: SWbemServices- VBScript: SWbemServices
SMS 공급자에 대한 유효한 연결입니다.A valid connection to the SMS Provider.
computerName String 사이트 서버의 이름입니다.The name of the site server.
siteCode String 사이트 코드입니다.The site code.
domainName String 사이트 서버의 정규화 된 도메인 이름입니다.The fully qualified domain name of the site server.

코드 컴파일Compiling the Code

C# 예제에서는 다음 항목이 필요합니다.The C# example requires:

네임스페이스Namespaces

System.Collections.GenericSystem.Collections.Generic

Microsoft.ConfigurationManagement.ManagementProviderMicrosoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngineMicrosoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

어셈블리Assembly

adminui.wqlqueryengineadminui.wqlqueryengine

microsoft.configurationmanagement.managementprovidermicrosoft.configurationmanagement.managementprovider

강력한 프로그래밍Robust Programming

오류 처리에 대한 자세한 내용은 Configuration Manager 오류 정보를 참조하세요.For more information about error handling, see About Configuration Manager Errors.

참고 항목See Also

SMS_EmbeddedProperty 서버 WMI 클래스 SMS_EmbeddedProperty Server WMI Class
SMS_SCI_SysResUse 서버 WMI 클래스 SMS_SCI_SysResUse Server WMI Class
사이트 제어 파일 정보About the site control file