Share via


Festlegen des Restore-Only-Modus für einen Zustandsmigrationspunkt

In Configuration Manager konfigurieren Sie den Bereitstellungsstatusmigrationspunkt des Betriebssystems so, dass neue Anforderungen zum Speichern von Benutzerdaten abgelehnt werden, indem Sie die eingebettete SMPQuiesceState-Eigenschaft festlegen.

SMPQuiesceState verfügt über zwei mögliche Werte.

Wert Definition
0 Der reine Wiederherstellungsmodus ist deaktiviert.
1 Der reine Wiederherstellungsmodus ist aktiviert.

So legen Sie den reinen Wiederherstellungsmodus für einen Zustandsmigrationspunkt fest

  1. Richten Sie eine Verbindung mit dem SMS-Anbieter ein. Weitere Informationen finden Sie unter Grundlagen des SMS-Anbieters.

  2. Stellen Sie eine Verbindung mit dem Abschnitt Ressourcen des Zustandsmigrationspunkts der Standortsteuerungsdatei her.

  3. Rufen Sie die eingebetteten Eigenschaften ab.

  4. Aktualisieren Sie SMPQuiesceState.

  5. Committen Sie die Änderungen an der Websitesteuerungsdatei.

Beispiel

Die folgende Beispielmethode legt den reinen Wiederherstellungsmodus basierend auf dem angegebenen Wert fest.

Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager Codeausschnitten.

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

Die Beispielmethode verfügt über die folgenden Parameter:

Parameter Typ Beschreibung
connection -Verwalteten: WqlConnectionManager
– VBScript: SWbemServices
Eine gültige Verbindung mit dem SMS-Anbieter.
context (VBScript) -Vbscript: SWbemContext Ein gültiges Kontextobjekt. Weitere Informationen finden Sie unter Hinzufügen eines Configuration Manager Kontextqualifizierers mithilfe von WMI.
server -Verwalteten: String
-Vbscript: String
Der Configuration Manager Server, auf dem der Zustandsmigrationspunkt ausgeführt wird.
siteCode -Verwalteten: String
-Vbscript: String
Der Configuration Manager-Standortcode.
enableRestoreOnlyMode -Verwalteten: Boolean
-Vbscript: Integer
Legt den reinen Wiederherstellungsmodus fest.

– Verwaltet: true aktiviert den wiederherstellungsgeschützten Modus, andernfalls false.
– VBScript: 1 Aktiviert den Wiederherstellungsmodus, andernfalls 0.

Kompilieren des Codes

Das C#-Beispiel hat die folgenden Kompilierungsanforderungen:

Namespaces

System

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robuste Programmierung

Weitere Informationen zur Fehlerbehandlung finden Sie unter Informationen zu Configuration Manager Fehlern.

.NET Framework-Sicherheit

Weitere Informationen zum Schützen Configuration Manager Anwendungen finden Sie unter Configuration Manager rollenbasierte Verwaltung.

Siehe auch

Informationen zur Konfiguration der Standortrollen für die Betriebssystembereitstellung: Lesen und Schreiben in die Configuration Manager-Websitesteuerungsdatei mithilfe von verwaltetem Code
Lesen und Schreiben in die Configuration Manager Site Control-Datei mithilfe von WMI