Delen via


De Restore-Only modus voor een statusmigratiepunt instellen

In Configuration Manager configureert u het migratiepunt van de implementatiestatus van het besturingssysteem om nieuwe aanvragen voor het opslaan van gebruikersgegevens te weigeren door de ingesloten eigenschap SMPQuiesceState in te stellen.

SMPQuiesceState heeft twee mogelijke waarden.

Waarde Definitie
0 De modus Alleen herstellen is uitgeschakeld.
1 De modus Alleen herstellen is ingeschakeld.

De modus Alleen herstellen instellen voor een statusmigratiepunt

  1. Een verbinding met de SMS-provider instellen. Zie Basisprincipes van SMS-provider voor meer informatie.

  2. Maak een verbinding met de sectie Resources van het statusmigratiepunt van het sitebeheerbestand.

  3. Haal de ingesloten eigenschappen op.

  4. Werk SMPQuiesceState bij.

  5. Voer de wijzigingen door in het sitebeheerbestand.

Voorbeeld

Met de volgende voorbeeldmethode wordt de modus Alleen herstellen ingesteld op basis van de opgegeven waarde.

Zie Aanroepen Configuration Manager codefragmenten voor meer informatie over het aanroepen van de voorbeeldcode.

Sub SetRestoreOnlyMode(connection,          _  
                       context,           _  
                       siteCode,               _  
                       enableRestoreOnlyMode)  

    ' Load site control file and get SMS State Migration Point section.  
    connection.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteCode & """", "Refresh", , , context  

    Query = "SELECT * FROM SMS_SCI_SysResUse " & _  
            "WHERE RoleName = 'SMS State Migration Point' " & _  
            "AND SiteCode = '" & siteCode & "'"  

    Set SCIComponentSet = connection.ExecQuery(Query, , , context)  

    ' Only one instance is returned from the query.  
    For Each SCIComponent In SCIComponentSet  

         ' Display state migration point server name.  
         wscript.echo "SMS State Migration Point Server: " & SCIComponent.NetworkOSPath                                      

        ' Loop through the array of embedded property instances.  
        For Each vProperty In SCIComponent.Props  

            ' Setting: SMPQuiesceState  
            If vProperty.PropertyName = "SMPQuiesceState" Then  
                wscript.echo " "  
                wscript.echo vProperty.PropertyName  
                wscript.echo "Current value " &  vProperty.Value                 

                ' Modify the value.  
                vProperty.Value = enableRestoreOnlyMode  
                wscript.echo "New value " & enableRestoreOnlyMode  
            End If  

        Next     

             ' Update the component in your copy of the site control file. Get the path  
             ' to the updated object, which could be used later to retrieve the instance.  
             Set SCICompPath = SCIComponent.Put_( , context)  
    Next  

    ' Commit the change to the actual site control file.  
    Set InParams = connection.Get("SMS_SiteControlFile").Methods_("CommitSCF").InParameters.SpawnInstance_  
    InParams.SiteCode = siteCode  
    connection.ExecMethod "SMS_SiteControlFile", "CommitSCF", InParams, , context  
End Sub  
public void SetRestoreOnlyMode(  
    WqlConnectionManager connection,  
    string server,   
    string siteCode,   
    bool enableRestoreOnlyMode)  
{  
    try  
    {  
        // Get the site control file.  
        IResultObject ro = connection.GetInstance("SMS_SCI_SysResUse.FileType=2,ItemName='[\"Display=\\\\" + server + "\\\"]MSWNET:[\"SMS_SITE=" + siteCode + "\"]\\\\" + server + "\\,SMS State Migration Point',ItemType='System Resource Usage',SiteCode='" + siteCode + "'");  

        // Get the embedded properties.  
        Dictionary<string, IResultObject> embeddedProperties = ro.EmbeddedProperties;  

        // Set the restore only mode.  
        embeddedProperties["SMPQuiesceState"]["Value"].BooleanValue = enableRestoreOnlyMode;  

        ro.EmbeddedProperties = embeddedProperties;  

        // Commmit the changes.  
        ro.Put();  
    }  
    catch (SmsException e)  
    {  
        Console.WriteLine("Failed to set restore only mode" + e.Message);  
        throw;  
    }  
}  

De voorbeeldmethode heeft de volgende parameters:

Parameter Type Beschrijving
connection -Beheerd: WqlConnectionManager
- VBScript: SWbemServices
Een geldige verbinding met de SMS-provider.
context (VBScript) -Vbscript: SWbemContext Een geldig contextobject. Zie How to Add a Configuration Manager Context Qualifier by Using WMI (Een Configuration Manager contextkwalificatie toevoegen met behulp van WMI) voor meer informatie.
server -Beheerd: String
-Vbscript: String
De Configuration Manager server waarop het statusmigratiepunt wordt uitgevoerd.
siteCode -Beheerd: String
-Vbscript: String
De Configuration Manager sitecode.
enableRestoreOnlyMode -Beheerd: Boolean
-Vbscript: Integer
Hiermee stelt u de modus Alleen herstellen in.

- Beheerd: true schakelt de modus Alleen herstellen in; anders false.
- VBScript: 1 schakelt de herstelmodus in; anders 0.

De code compileren

Het C#-voorbeeld heeft de volgende compilatievereisten:

Naamruimten

Systeem

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Vergadering

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robuust programmeren

Zie Over Configuration Manager fouten voor meer informatie over foutafhandeling.

.NET Framework Beveiliging

Zie Configuration Manager op rollen gebaseerd beheer voor meer informatie over het beveiligen van Configuration Manager toepassingen.

Zie ook

Informatie over de configuratie van de siterol van de implementatie van het besturingssysteem Lezen en schrijven naar het Configuration Manager sitebeheerbestand met behulp van beheerde code
Lezen en schrijven naar het Configuration Manager sitebeheerbestand met behulp van WMI