Como exportar linhas de base de configuração e itens de configuração

No Configuration Manager, para exportar uma linha de base de configuração ou um item de configuração usando o SDK do Configuration Manager, leia a instância relevante e escreva a propriedade SMS_ConfigurationItem SDMPackageXML (cadeia de caracteres) em um arquivo.

Importante

A codificação do arquivo XML deve ser definida como Unicode codificada utf-16.

Para exportar linhas de base de configuração e itens de configuração

  1. Configurar uma conexão com o Provedor de SMS.

  2. Obter a instância específica da classe SMS_ConfigurationItem usando a ID exclusiva do item de configuração (CI_ID).

  3. Copie o item de configuração XML (SDMPackageXML) em uma variável.

  4. Escreva o conteúdo XML do item de configuração em um arquivo.

Exemplo

O exemplo de código a seguir mostra como ler uma instância de um item de linha de base de configuração ou de configuração e exportá-la para um arquivo.

Para obter informações sobre como chamar o código de exemplo, consulte Calling Configuration Manager Code Snippets.


Sub DCMExportBaselineOrCI(swbemServices, _  
                          pathToFile,    _  
                          configurationItemId)  

' Set required variables.  
fileContents          =    ""  
configurationItemXML  =    null  

' Get specified configuration item (configurationItemId variable).  
Set getCIInfo = swbemServices.Get("SMS_ConfigurationItem.CI_ID=" & configurationItemId )  

' Copy configuration item XML into variable.   
configurationItemXML = getCIInfo.SDMPackageXML  

Wscript.Echo configurationItemXML  

' Open file for write (Unicode option enabled by second true).  
Set FSO = CreateObject("Scripting.FileSystemObject")  
Set textFile = FSO.CreateTextFile(pathToFile, true, true)  

' Write XML content to file specified by pathToFile.       
textFile.Write configurationItemXML  
textFile.Close   

Wscript.Echo " "  
Wscript.Echo "Successfully wrote " & pathToFile  

End Sub  


public void DCMExportBaselineOrCI(WqlConnectionManager connection,  
                                  string pathToOutputFile,  
                                  string configurationItemId)  
{  

    // Set required variables.  
    string configurationItemXML = null;  

    try  
    {  
        // Get the specified configuration item (configurationItemId variable).  
        IResultObject getCIInfo = connection.GetInstance(@"SMS_ConfigurationItem.CI_ID=" + configurationItemId);  

        // Copy configuration item XML into variable.   
        configurationItemXML = getCIInfo["SDMPackageXML"].StringValue;  
    }  
    catch (SmsException ex)  
    {  
        Console.WriteLine("Failed to retrieve configuration item xml. " + "\n" + ex.Message);  
        throw;  
    }  

    StreamWriter sw = null;  
    try  
    {  
        // Open file for output.  
        sw = new StreamWriter(pathToOutputFile, false, System.Text.Encoding.Unicode);  

        // Write XML to output file.  
        sw.Write(configurationItemXML);  
    }  
    catch (Exception ex)  
    {  
        Console.WriteLine("Failed to write configuration item XML to: " + pathToOutputFile + "\n" + ex.Message);  
        throw;  
    }  
    finally  
    {  
        if (sw != null)  
        {  
            sw.Close();  
        }  
    }  

    Console.WriteLine("Wrote configuration item XML to: " + pathToOutputFile);  
}  

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

Parâmetro Tipo Descrição
connection - Gerenciado: WqlConnectionManager
- VBScript: SWbemServices
Uma conexão válida com o Provedor de SMS.
- pathToOutputFile
- pathToFile
- Gerenciado: String
- VBScript: String
Caminho para o arquivo de saída.
configurationItemId - Gerenciado: String
- VBScript: String
Identificador de um item de configuração a ser exportado.

Compilando o código

Namespaces

System

System.Collections.Generic

System.ComponentModel

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Programação robusta

Para obter mais informações sobre o tratamento de erros, consulte About Configuration Manager Errors.

Segurança do .NET Framework

Para obter mais informações sobre como proteger aplicativos do Configuration Manager, consulte Configuration Manager role-based administration.

Confira também

Sobre linhas de base de configuração e itens de configuração
Visão geral dos objetos Como Conexão para um Provedor do Gerenciador de Configurações usando Código Gerenciado
Como Conexão um provedor do Configuration Manager usando o WMI
SMS_BaselineAssignment Server WMI Class
SMS_ConfigurationItem Server WMI Class