Udostępnij za pośrednictwem


Jak ustawić tryb Restore-Only dla punktu migracji stanu

W Configuration Manager skonfigurujesz punkt migracji stanu wdrożenia systemu operacyjnego tak, aby odrzucał nowe żądania przechowywania danych użytkownika, ustawiając właściwość osadzoną SMPQuiesceState.

SMPQuiesceState ma dwie możliwe wartości.

Value Definicja
0 Tryb tylko do przywracania jest wyłączony.
1 Tryb tylko do przywracania jest włączony.

Aby ustawić tryb przywracania tylko dla punktu migracji stanu

  1. Skonfiguruj połączenie z dostawcą programu SMS. Aby uzyskać więcej informacji, zobacz Podstawy dostawcy programu SMS.

  2. Nawiązywanie połączenia z sekcją zasobów punktu migracji stanu pliku kontroli lokacji.

  3. Pobierz właściwości osadzone.

  4. Zaktualizuj wartość SMPQuiesceState.

  5. Zatwierdź zmiany w pliku kontroli lokacji.

Przykład

Poniższa przykładowa metoda ustawia tryb tylko do przywracania na podstawie podanej wartości.

Aby uzyskać informacje na temat wywoływania przykładowego kodu, zobacz Wywoływanie fragmentów kodu Configuration Manager.

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

Przykładowa metoda ma następujące parametry:

Parametr Wpisać Opis
connection -Zarządzane: WqlConnectionManager
- VBScript: SWbemServices
Prawidłowe połączenie z dostawcą programu SMS.
context (VBScript) -Vbscript: SWbemContext Prawidłowy obiekt kontekstu. Aby uzyskać więcej informacji, zobacz How to Add a Configuration Manager Context Qualifier by Using WMI (Jak dodać kwalifikator kontekstu Configuration Manager przy użyciu usługi WMI).
server -Zarządzane: String
-Vbscript: String
Serwer Configuration Manager, na którym działa punkt migracji stanu.
siteCode -Zarządzane: String
-Vbscript: String
Kod witryny Configuration Manager.
enableRestoreOnlyMode -Zarządzane: Boolean
-Vbscript: Integer
Ustawia tryb przywracania tylko.

- Zarządzane: true włącza tryb przywracania tylko; w przeciwnym razie false.
- VBScript: 1 włącza tryb przywracania; w przeciwnym razie 0.

Kompilowanie kodu

Przykład języka C# ma następujące wymagania dotyczące kompilacji:

Obszary nazw

System

System.collections.generic

System.text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Zestawu

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Niezawodne programowanie

Aby uzyskać więcej informacji na temat obsługi błędów, zobacz Informacje o błędach Configuration Manager.

zabezpieczenia .NET Framework

Aby uzyskać więcej informacji na temat zabezpieczania aplikacji Configuration Manager, zobacz Configuration Manager administracja oparta na rolach.

Zobacz też

Informacje o konfiguracji roli lokacji wdrożenia systemu operacyjnegoJak odczytywać i zapisywać w pliku kontroli lokacji Configuration Manager przy użyciu kodu zarządzanego
Jak odczytywać i zapisywać w pliku kontroli lokacji Configuration Manager przy użyciu usługi WMI