Guide pratique pour exporter des bases de référence et des éléments de configuration

Dans Configuration Manager, pour exporter une ligne de base de configuration ou un élément de configuration à l’aide du kit de développement logiciel (SDK) Configuration Manager, lisez l' SMS_ConfigurationItem instance appropriée et écrivez la SDMPackageXML propriété (chaîne) dans un fichier.

Important

L’encodage du fichier XML doit être défini sur Unicode encodé en UTF-16.

Pour exporter des lignes de base de configuration et des éléments de configuration

  1. Configurez une connexion au fournisseur SMS.

  2. Obtient l’instance spécifique de la classe SMS_ConfigurationItem à l’aide de l’ID unique de l’élément de configuration (CI_ID).

  3. Copiez le fichier XML de l’élément de configuration (SDMPackageXML) dans une variable.

  4. Écrire le contenu XML de l’élément de configuration dans un fichier.

Exemple

L’exemple de code suivant montre comment lire une instance d’une ligne de base de configuration ou un élément de configuration, puis l’exporter vers un fichier.

Pour plus d’informations sur l’appel de l’exemple de code, consultez Calling Configuration Manager Code Snippets (Appel d’extraits de code Configuration Manager).


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

L’exemple de méthode a les paramètres suivants :

Paramètre Type Description
connection - Géré : WqlConnectionManager
- VBScript : SWbemServices
Une connexion valide au fournisseur SMS.
- pathToOutputFile
-pathToFile
- Géré : String
- VBScript : String
Chemin d’accès au fichier de sortie.
configurationItemId - Géré : String
- VBScript : String
Identificateur d’un élément de configuration à exporter.

Compilation du code

Espaces de noms

Système

System.Collections.Generic

System.ComponentModel

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Programmation fiable

Pour plus d’informations sur la gestion des erreurs, consultez À propos des erreurs de Configuration Manager.

Sécurité du .NET Framework

Pour plus d’informations sur la sécurisation des applications Configuration Manager, consultez Configuration Manager l’administration basée sur des rôles.

Voir aussi

À propos des lignes de base de configuration et des éléments de configuration
Vue d’ensemble des objets Comment se connecter à un fournisseur de Configuration Manager à l’aide de code managé
Comment se connecter à un fournisseur de Configuration Manager à l’aide de WMI
Classe WMI du serveur SMS_BaselineAssignment
Classe WMI du serveur SMS_ConfigurationItem