Настройка режима Restore-Only для точки миграции состояния

В Configuration Manager вы настраиваете точку миграции состояния развертывания операционной системы для отклонения новых запросов на хранение пользовательских данных, задав встроенное свойство SMPQuiesceState.

SMPQuiesceState имеет два возможных значения.

Значение Определение
0 Режим только для восстановления отключен.
1 Включен режим только для восстановления.

Установка режима "только восстановление" для точки миграции состояния

  1. Настройте подключение к поставщику SMS. Дополнительные сведения см. в статье Основы поставщика SMS.

  2. Установите подключение к разделу ресурсов точки миграции состояния файла элемента управления сайтом.

  3. Получение внедренных свойств.

  4. Обновите SMPQuiesceState.

  5. Зафиксируйте изменения в файле элемента управления сайтом.

Пример

В следующем примере метод задает режим только для восстановления на основе указанного значения.

Сведения о вызове примера кода см. в разделе Вызов фрагментов кода 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;  
    }  
}  

Метод примера имеет следующие параметры:

Параметр Тип Описание
connection -Управляемых: WqlConnectionManager
— VBScript: SWbemServices
Допустимое подключение к поставщику SMS.
context (VBScript) -Vbscript: SWbemContext Допустимый объект контекста. Дополнительные сведения см. в разделе Добавление квалификатора контекста Configuration Manager с помощью WMI.
server -Управляемых: String
-Vbscript: String
Сервер Configuration Manager, на котором запущена точка миграции состояния.
siteCode -Управляемых: String
-Vbscript: String
Код сайта Configuration Manager.
enableRestoreOnlyMode -Управляемых: Boolean
-Vbscript: Integer
Задает режим только для восстановления.

— управляемый: true включает режим только для восстановления; в противном случае false— значение .
— VBScript: 1 включает режим восстановления; в противном случае 0— .

Компиляция программы

Пример C# имеет следующие требования к компиляции:

Пространства имен

System;

System.Collections.Generic;

System.Text

Майкрософт. ConfigurationManagement.ManagementProvider

Майкрософт. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Надежное программирование

Дополнительные сведения об обработке ошибок см. в разделе Сведения об ошибках Configuration Manager.

Безопасность .NET Framework

Дополнительные сведения о защите приложений Configuration Manager см. в статье Configuration Manager администрирование на основе ролей.

См. также

Сведения о конфигурации роли сайта развертывания ОС. Чтение и запись в файл Configuration Manager элемента управления сайтом с помощью управляемого кода
Чтение и запись в файл элемента управления сайтом Configuration Manager с помощью WMI