Compartilhar via


Como Definir o Modo de Restore-Only para um Ponto de Migração de Estado

No Configuration Manager, configure o ponto de migração do estado de implementação do sistema operativo para rejeitar novos pedidos para armazenar dados de utilizador ao definir a propriedade incorporada SMPQuiesceState.

SMPQuiesceState tem dois valores possíveis.

Valor Definição
0 O modo apenas de restauro está desativado.
1 O modo apenas de restauro está ativado.

Para definir o modo apenas de restauro para um ponto de migração de estado

  1. Configure uma ligação ao Fornecedor de SMS. Para obter mais informações, veja Noções básicas do Fornecedor de SMS.

  2. Efetue uma ligação à secção de recursos do ponto de migração de estado do ficheiro de controlo do site.

  3. Obtenha as propriedades incorporadas.

  4. Atualize SMPQuiesceState.

  5. Consolide as alterações ao ficheiro de controlo do site.

Exemplo

O método de exemplo seguinte define o modo apenas de restauro com base no valor fornecido.

Para obter informações sobre como chamar o código de exemplo, veja Chamar Configuration Manager Fragmentos de Código.

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

O método de exemplo tem os seguintes parâmetros:

Parâmetro Tipo Descrição
connection - Gerido: WqlConnectionManager
- VBScript: SWbemServices
Uma ligação válida ao Fornecedor de SMS.
context (VBScript) - VBScript: SWbemContext Um objeto de contexto válido. Para obter mais informações, veja How to Add a Configuration Manager Context Qualifier by Using WMI (Como Adicionar um Qualificador de Contexto do Configuration Manager através da WMI).
server - Gerido: String
- VBScript: String
O servidor Configuration Manager no qual o ponto de migração de estado está a ser executado.
siteCode - Gerido: String
- VBScript: String
O Configuration Manager código do site.
enableRestoreOnlyMode - Gerido: Boolean
- VBScript: Integer
Define o modo apenas de restauro.

- Gerido: true ativa o modo apenas de restauro; caso contrário false, .
- VBScript: 1 ativa o modo de restauro; caso contrário 0, .

Compilando o código

O exemplo de C# tem os seguintes requisitos de compilação:

Namespaces

System

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Programação robusta

Para obter mais informações sobre o processamento de erros, veja About Configuration Manager Errors (Acerca dos Erros de Configuration Manager).

Segurança do .NET Framework

Para obter mais informações sobre como proteger aplicações Configuration Manager, veja Configuration Manager administração baseada em funções.

Confira também

Acerca da configuração da função do site de implementação do SO Como Ler e Escrever no Ficheiro de Controlo de Sites do Configuration Manager Utilizando o Código GeridoComo Ler e Escrever no Ficheiro de Controlo de Sites Configuration Manager utilizando a WMI