Megosztás a következőn keresztül:


Helyrendszerszerepkör üzembe helyezése (példa: Tartalék állapotkezelő pont)

A webhelyek funkcióit és képességeit a rá alkalmazott helyszerepkörök határozzák meg. A webhelyek tartalmazhatnak egy vagy több webhelyszerepkört. Egyes szerepkörök más szerepköröktől függnek. Az egyes helyszerepkörökről további információt a Helyek és hierarchiák konfigurálása Configuration Manager.

A helyek konfigurálása a Windows Management Instrumentation (WMI) osztályokon keresztül történik. Például SMS_SCI_Component kiszolgálói WMI-osztály a Configuration Manager helykiszolgálón tárolt kiszolgáló-összetevőkkel kapcsolatos információkat tartalmaz. Ezek az osztályok SMS_SiteControlItem kiszolgálói WMI-osztályból származnak. További információ: Configuration Manager helykonfigurációs kiszolgálói WMI-osztályok.

Megjegyzés:

A Configuration Manager korábbi verzióiban a SMS_SiteControlFile WMI-osztály a hely konfigurációjának legújabb másolatának fogadására, a hely konfigurációjának frissítésére és a frissítési munkamenetek kezelésére szolgál. Erre már nincs szükség, mivel a hely konfigurációjában végrehajtott módosítások azonnal az adatbázisba lesznek írva, és a fájl már nem lesz használatban.

A webhelyvezérlő elemek általában háromféle tulajdonságot használnak az egyes beállításokhoz, a beágyazott tulajdonságokhoz, a tulajdonságlistákhoz és a többsztringes listákhoz. Ezek a következő osztályok használatával érhetők el:

Típus WMI-osztály
Beágyazott tulajdonság SMS_EmbeddedProperty kiszolgálói WMI-osztály
Beágyazott tulajdonságlista SMS_EmbeddedPropertyList kiszolgálói WMI-osztály (tömb)
Többsztringes lista SMS_Client_Reg_MultiString_List kiszolgálói WMI-osztály (tömb)

Helyszerepkörök üzembe helyezése

  1. Állítson be egy kapcsolatot az SMS-szolgáltatóval.

  2. A WMI-osztály egy példányának SMS_SCI_SysResUse létrehozása

  3. Állítsa be a NALPath, NALType, RoleNameés Sitecode tulajdonságokat.

  4. A kiválasztott szerepkörtől függően állítsa be a megfelelő beágyazott tulajdonságokat vagy beágyazott tulajdonságlista-értékeket.

  5. Mentse a szerepkört.

Példa

Az alábbi példa egy szerepkört Fallback Status Point hoz létre:

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;}  

A példametódus a következő paraméterekkel rendelkezik:

Paraméter Típus Leírás
connection -Kezelt: WqlConnectionManager
- VBScript: SWbemServices
Érvényes kapcsolat az SMS-szolgáltatóval.
computerName String A helykiszolgáló neve.
siteCode String A helykód.
domainName String A helykiszolgáló teljes tartományneve.

A kód fordítása

A C#-példához a következőre van szükség:

Névterek

System.Collections.Generic

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Összeszerelés

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Robusztus programozás

A hibakezeléssel kapcsolatos további információkért lásd: A Configuration Manager hibák ismertetése.

Lásd még

SMS_EmbeddedProperty kiszolgálói WMI-osztály
SMS_SCI_SysResUse kiszolgálói WMI-osztály
Tudnivalók a webhelyvezérlő fájlról