Partilhar via


Como rastrear as migrações de implementação do sistema operativo no gestor de configuração

Rastreia as migrações do sistema operativo Do Gestor de Configuração inspecionando a classe SMS_StateMigration.

Os StoreCreationDate , e propriedades podem ser StoreDeletionDate StoreReleaseDate usados para identificar o estado atual da migração.

Para acompanhar as migrações estatais

  1. Configurar uma ligação com o Fornecedor DE SMS. Para mais informações, consulte os fundamentos do Fornecedor de SMS.

  2. Obter um exemplo de SMS_StateMigration.

  3. Calcular o estado de migração atual usando o StoreCreationDate StoreDeletionDate , e StoreReleaseDate propriedades.

Exemplo

O método de exemplo a seguir enumera através de todas as migrações e determina se estão em curso.

Para obter informações sobre a chamada do código de amostra, consulte o Código de Identificação do Gestor de Chamadas.

Sub MigrationState(connection)  

    Dim migrations  
    Dim migration  
    Dim inProgress  
    Dim zeroTime  

    zeroTime = "00000000000000.000000+***"  

    Set migrations = connection.ExecQuery( "Select * From SMS_StateMigration")  

    For Each migration in Migrations  
        inProgress=False  

        If migration.StoreCreationDate<>zeroTime Then  
            If migration.StoreReleaseDate = zeroTime Then  
                inProgress=True  
            Else If migration.StoreDeletionDate = zeroTime Then  
                inProgress = True  
            Else  
                inProgress = false  
            End If  
        End If     
        Else  
            inProgress=False  
        End If  

        WScript.StdOut.Write "Migration " + migration.MigrationID  
        If inProgress = True Then  
            Wscript.Echo " is in progress"  
        Else  
            WScript.Echo " is not in progress"  
        End If     
    Next  

End Sub     
public void MigrationState(WqlConnectionManager connection)  
{  
    try  
    {  
        IResultObject migrations =  
            connection.QueryProcessor.ExecuteQuery("Select * from SMS_StateMigration");  

        string zeroTime = "00000000000000.000000+***";  

        foreach (IResultObject migration in migrations)  
        {  
            Boolean inProgress = false;  

            if (migration["StoreCreationDate"].DateTimeValue.Equals(zeroTime) == false)  
            {  
                if (migration["StoreReleaseDate"].DateTimeValue.Equals(zeroTime) == true)  
                {  
                    inProgress = true;  
                }  
                else if (migration["StoreDeletionDate"].DateTimeValue.Equals(zeroTime) == true)  
                {  
                    inProgress = true;  
                }  
                else  
                {  
                    inProgress = false;  
                }  
            }  
            else  
            {  
                inProgress = false;  
            }  

            Console.Write("Migration " + migration["MigrationID"].StringValue);  
            if (inProgress)  
            {  
                Console.WriteLine(" is in progress");  
            }  
            else  
            {  
                Console.WriteLine(" is not in progress");  
            }  
        }  
    }  
    catch (SmsException e)  
    {  
        Console.WriteLine("Failed while displaying migration state: " + e.Message);  
        throw;  
    }  
}  

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

Parâmetro Tipo Description
connection - Gerido: WqlConnectionManager
- VBScript: SWbemServices
Uma ligação válida ao Fornecedor de SMS.

A Compilar o Código

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

Espaços de nomes

Sistema

System.Collections.Generic

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assemblagem

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Programação Robusta

Para obter mais informações sobre o tratamento de erros, consulte Sobre erros do Gestor de Configuração.

Segurança do .NET Framework

Para obter mais informações sobre a segurança das aplicações do Gestor de Configuração, consulte a administração baseada em funções do Gestor de Configuração.

Consulte também

Visão geral de objetos Como Ligação a um fornecedor de SMS no Gestor de Configuração através da utilização do Código Gerido
Como Ligação a um fornecedor de SMS no Gestor de Configuração através da utilização do WMI
Sobre a gestão de computadores de implementação do SO