Dela via


Så här skapar du en platsroll för tillståndsmigrering

Du skapar rollen tillståndsmigreringsplats i Configuration Manager genom att skapa en instans av SMS_SCI_SysResUse Server WMI-klass och ange egenskapsvärdena i följande tabell.

Egenskap Beskrivning
RoleName Namnet på rollen. För en tillståndsmigreringsplats är värdet SMS State Migration Point.
SiteCode Platskoden för platsen.
NALPath Nätverksabstraktionslagersökvägen (NAL) till tillståndsmigreringsplatsen. Mer information finns i PackNALPath-metod i klass SMS_NAL_Methods.
NALType Resurstypen. För en tillståndsmigreringsplats bör detta vara Windows NT Server.

Du måste också ange inledande värden för följande inbäddade egenskaper och inbäddade egenskapslistor.

Namn Beskrivning
Server Remote Name Den server som har tillståndsmigreringsplatsen. Inbäddad egenskap.
SMPQuiesceState Anger läget för endast återställning. Mer information finns i Så här ställer du in Restore-Only läge för en tillståndsmigreringsplats. Inbäddad egenskap.
SMPStoreDeletionDelayTimeInMinutes Anger borttagningsprincipen. Mer information finns i Så här ställer du in borttagningsprincipen för en tillståndsmigreringsplats. Inbäddad egenskap.
SMPStoreDeletionCycleTimeInMinutes Anger borttagningsprincipen. Mer information finns i Så här ställer du in borttagningsprincipen för en tillståndsmigreringsplats.
Directories Visar en lista över tillståndsmigreringsplatsmappar. Mer information finns i Så här lägger du till en platsmapp för tillståndsmigrering.

Så här skapar du en platsroll för tillståndsmigrering

  1. Konfigurera en anslutning till SMS-providern. Mer information finns i grunderna för SMS-provider.

  2. Skapa en instans av SMS_SCI_SysResUse serverns WMI-klass.

  3. Fyll i egenskaperna som anges ovan.

  4. Checka in objektet SMS_SCI_SystResUse .

Exempel

Följande exempelmetod skapar en tillståndsmigreringsplats från den angivna platskoden och NAL-sökvägen. Vissa hjälpfunktioner tillhandahålls för att skriva inbäddade egenskaper och inbäddade egenskapslistor till platskontrollfilen.

Viktigt

I det här exemplet används andra kodfragment för tillståndsmigreringsplats för att ange olika värden. Metoderna AddSmpFolder, SetRestoreOnlyMode, SetDeletionPolicy beskrivs i avsnitten nedan:

Information om hur du anropar exempelkoden finns i Anropa Configuration Manager kodfragment.

public void CreateSmpRole(  
     WqlConnectionManager connection,  
     string serverName,  
     string siteCode,  
     string nalPath)  
{  
    try  
    {  
        // Create the state migration point resource object.  
        IResultObject smpRole = connection.CreateInstance("SMS_SCI_SysResUse");  
        smpRole["RoleName"].StringValue = "SMS State Migration Point";  

        // Set the state migration point properties.  
        smpRole["SiteCode"].StringValue = siteCode;  
        smpRole["NALPath"].StringValue = nalPath;  
        smpRole["NALType"].StringValue = "Windows NT Server";  

        // Create the embedded property and property lists.  
        this.WriteScfEmbeddedProperty(smpRole, "Server Remote Name", 0, serverName, string.Empty);  
        this.WriteScfEmbeddedProperty(smpRole, "SMPQuiesceState", 1, string.Empty, string.Empty);  
        this.WriteScfEmbeddedProperty(smpRole, "SMPStoreDeletionDelayTimeInMinutes", 0, string.Empty, string.Empty);  
        this.WriteScfEmbeddedProperty(smpRole, "SMPStoreDeletionCycleTimeInMinutes", 0, string.Empty, string.Empty);  
        this.WriteScfEmbeddedPropertyList(smpRole, "Directories", null);  

        // Commit the site role.  
        smpRole.Put();  

        // Use SDK snippets to populate some values.  
        this.AddSmpFolder(connection, @"C:\temp", 100, 10, 1, serverName, siteCode);  
        this.SetRestoreOnlyMode(connection, serverName, siteCode, true);  
        this.SetDeletionPolicy(connection, serverName, siteCode, 10);  
    }  
    catch (SmsException e)  
    {  
        Console.WriteLine("Failed to create the state migration point: " + e.Message);  
        throw;  
    }  
}  
public void WriteScfEmbeddedPropertyList(  
    IResultObject resource,  
    string propertyListName,  
    string[] values  
    )  

    // Create an embedded property list for the supplied resource.  
{  
    Dictionary<string, IResultObject> EmbeddedPropertyList = resource.EmbeddedPropertyLists;  

    // Get the property list, or create it.   
    IResultObject ropl;  
    if (EmbeddedPropertyList.ContainsKey(propertyListName))  
    {  
        ropl = EmbeddedPropertyList[propertyListName];  
    }  
    else  
    {  
        ConnectionManagerBase connection = resource.ConnectionManager;  
        ropl = connection.CreateEmbeddedObjectInstance("SMS_EmbeddedPropertyList");  
        EmbeddedPropertyList.Add(propertyListName, ropl);  
    }  

    // Set the property list properties.  
    ropl["PropertyListName"].StringValue = propertyListName;  
    ropl["Values"].StringArrayValue = values;  
    resource.EmbeddedPropertyLists = EmbeddedPropertyList;  
}  

public void WriteScfEmbeddedProperty(  
    IResultObject resource,  
    string propertyName,  
    int value,  
    string value1,  
    string value2)  
{  
    // Properties  
    // Server remote name  
    Dictionary<string, IResultObject> EmbeddedProperties = resource.EmbeddedProperties;  

    // Get the property, or create it.  
    IResultObject ro;  
    if (EmbeddedProperties.ContainsKey(propertyName))  
    {  
        ro = EmbeddedProperties[propertyName];  
    }  
    else  
    {  
        ConnectionManagerBase connection = resource.ConnectionManager;  
        ro = connection.CreateEmbeddedObjectInstance("SMS_EmbeddedProperty");  
        EmbeddedProperties.Add(propertyName, ro);  
    }  

    ro["PropertyName"].StringValue = propertyName;  
    ro["Value"].IntegerValue = value;  
    ro["Value1"].StringValue = value1;  
    ro["Value2"].StringValue = value2;  

    resource.EmbeddedProperties = EmbeddedProperties;  
}  

Exempelmetoden har följande parametrar:

Parameter Typ Beskrivning
connection Hanterade: WqlConnectionManager En giltig anslutning till SMS-providern.
serverName Hanterade: String Den Configuration Manager server som tillståndsmigreringsplatsen körs på.
siteCode Hanterade: String Configuration Manager platskod.
nalPath Hanterade: String NAL-sökvägen till tillståndsmigreringsplatsen. Till exempel ["Display=\\SERVERNAME\"]MSWNET:["SMS_SITE=SITECODE"]\\SERVERNAME\

Kompilera koden

C#-exemplet har följande kompileringskrav:

Namnområden

System

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Församlingen

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robust programmering

Mer information om felhantering finns i Om Configuration Manager fel.

.NET Framework Säkerhet

Mer information om hur du skyddar Configuration Manager program finns i Configuration Manager rollbaserad administration.

Se även

SMS_SCI_SysResUse, serverns WMI-klass
PackNALPath-metod i klass SMS_NAL_Methods
Om konfiguration av platsrollen för operativsystemdistributionSå här lägger du till en platsmapp för tillståndsmigrering
Så här anger du borttagningsprincipen för en tillståndsmigreringsplats
Så här ställer du in Restore-Only läge för en tillståndsmigreringsplats
Läsa och skriva till Configuration Manager platskontrollfil med hjälp av hanterad kod
Läsa och skriva till Configuration Manager platskontrollfil med hjälp av WMI