Partager via


Guide pratique pour répertorier les affectations de configuration

Les exemples de code suivants montrent comment répertorier les affectations de base de référence de configuration actuelles et un ensemble spécifique de propriétés pour chaque affectation dans Configuration Manager.

Pour répertorier les affectations de configuration

  1. Configurez une connexion au fournisseur SMS.

  2. Requête pour toutes les instances SMS_BaselineAssignment.

  3. Parcourez en boucle le tableau des affectations de base de configuration disponibles, en répertoriant chaque affectation de base de référence de configuration et les propriétés spécifiques.

Exemple

L’exemple de méthode suivant montre comment répertorier les affectations de base de référence de configuration actuelles et un ensemble spécifique de propriétés pour chaque affectation dans Configuration Manager.

Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code Configuration Manager.


Sub DCMAssignments_ListProperties(swbemServices)  

    On Error Resume Next  

    Dim queryBaselineAssignmentResults  
    Dim assignment  

    ' Query assignments.  
    Set queryBaselineAssignmentResults = swbemServices.ExecQuery("Select * From SMS_BaselineAssignment", , 0)  

    If Err.Number<>0 Then  
        Wscript.Echo "Couldn't get assignments."  
        Exit Sub  
    End If  

    On Error Goto 0  

    ' List assignments and various assignment's properties.  
    For Each assignment In queryBaselineAssignmentResults  
        Wscript.Echo ""  
        Wscript.Echo "Listing Assignment Properties for Assignment ID: " & assignment.AssignmentID  
        Wscript.Echo "Listing Assignment Properties for Assignment Description: " & assignment.AssignmentDescription  
        Wscript.Echo "-------------------------------------------------------------------------------"  
        Wscript.Echo "ApplyToSubTargets: " & assignment.ApplyToSubTargets  
        Wscript.Echo "AssignmentAction:  " & assignment.AssignmentAction  
        Wscript.Echo "AssignmentID: " & assignment.AssignmentID  
        Wscript.Echo "AssignmentName: " & assignment.AssignmentName  
        Wscript.Echo "AssignmentDescription: " & assignment.AssignmentDescription  
        Wscript.Echo "AssignmentUniqueID: " & assignment.AssignmentUniqueID  
        Wscript.Echo "Collection: " & assignment.TargetCollectionID  
        Wscript.Echo "CreationTime: " & assignment.CreationTime  
        Wscript.Echo "DesiredConfigType: " & assignment.DesiredConfigType  
        Wscript.Echo "DPLocality: " & assignment.DPLocality  
        Wscript.Echo "EvaluationSchedule: " & assignment.EvaluationSchedule  
        Wscript.Echo "LogComplianceToWinEvent: " & assignment.LogComplianceToWinEvent  
        Wscript.Echo "NotifyUser: " & assignment.NotifyUser  
        Wscript.Echo "SendDetailedNonComplianceStatus: " & assignment.SendDetailedNonComplianceStatus  
        Wscript.Echo "SourceSite: " & assignment.SourceSite  
        Wscript.Echo "StartTime: " & assignment.StartTime  
        Wscript.Echo "SuppressReboot: " & assignment.SuppressReboot  
        Wscript.Echo "UseGMTTimes: " & assignment.UseGMTTimes  
        Wscript.Echo "==============================================================================="  
    Next  

    If queryBaselineAssignmentResults.Count = 0 Then  
        Wscript.Echo "      no query results"  
    End If  

    set queryBaselineAssignmentResults = Nothing  

End Sub  


public void DCMAssignments_ListProperties(WqlConnectionManager connection)  
{  

    IResultObject baselineAssignments = connection.QueryProcessor.ExecuteQuery("SELECT * FROM SMS_BaselineAssignment");  

    try  
    {  
        foreach (IResultObject assignment in baselineAssignments)  
        {  
            Console.WriteLine("Listing Assignment Properties for Assignment ID: " + assignment["AssignmentID"].StringValue);  
            Console.WriteLine("Listing Assignment Properties for Assignment Description: " + assignment["AssignmentDescription"].StringValue);  
            Console.WriteLine("--------------------------------------------------------------------------------");  
            Console.WriteLine("ApplyToSubTargets: " + assignment["ApplyToSubTargets"].BooleanValue);  
            Console.WriteLine("AssignmentAction:  " + assignment["AssignmentAction"].IntegerValue);  
            Console.WriteLine("AssignmentID: " + assignment["AssignmentID"].StringValue);  
            Console.WriteLine("AssignmentName: " + assignment["AssignmentName"].StringValue);  
            Console.WriteLine("AssignmentDescription: " + assignment["AssignmentDescription"].StringValue);  
            Console.WriteLine("AssignmentUniqueID: " + assignment["AssignmentUniqueID"].StringValue);  
            Console.WriteLine("Collection: " + assignment["TargetCollectionID"].StringValue);  
            Console.WriteLine("CreationTime: " + assignment["CreationTime"].StringValue);  
            Console.WriteLine("DesiredConfigType: " + assignment["DesiredConfigType"].StringValue);  
            Console.WriteLine("DPLocality: " + assignment["DPLocality"].IntegerValue);  
            Console.WriteLine("EvaluationSchedule: " + assignment["EvaluationSchedule"].StringValue);  
            Console.WriteLine("LogComplianceToWinEvent: " + assignment["LogComplianceToWinEvent"].BooleanValue);  
            Console.WriteLine("NotifyUser: " + assignment["NotifyUser"].BooleanValue);  
            Console.WriteLine("SendDetailedNonComplianceStatus: " + assignment["SendDetailedNonComplianceStatus"].BooleanValue);  
            Console.WriteLine("SourceSite: " + assignment["SourceSite"].StringValue);  
            Console.WriteLine("StartTime: " + assignment["StartTime"].StringValue);  
            Console.WriteLine("SuppressReboot: " + assignment["SuppressReboot"].IntegerValue);  
            Console.WriteLine("UseGMTTimes: " + assignment["UseGMTTimes"].BooleanValue);  

            // Process the array.  
            int[] arrayofAssignedCIs = assignment["AssignedCIs"].IntegerArrayValue;  
            Console.Write("Assigned baseline ID(s): ");  
            foreach (int i in arrayofAssignedCIs)  
            {  
                Console.Write(i + " ");  
            }  

            Console.WriteLine();  

            // NULL BY DEFAULT (on a generic assignment created through the user interface).  
            //  
            //Console.WriteLine("EnforcementDeadline: " + assignment["EnforcementDeadline"].StringValue);  
            //Console.WriteLine("ExpirationTime: " + assignment["ExpirationTime"].StringValue);  
            //Console.WriteLine("NonComplianceCriticality: " + assignment["NonComplianceCriticality"].IntegerValue);  
            //Console.WriteLine("OverrideServiceWindows: " + assignment["OverrideServiceWindows"].BooleanValue);  
            //Console.WriteLine("RebootOutsideOfServiceWindows: " + assignment["RebootOutsideOfServiceWindows"].BooleanValue);  
            //Console.WriteLine("WoLEnabled: " + assignment["WoLEnabled"].BooleanValue);  

            Console.WriteLine("================================================================================");  

        }  

    }  
    catch (SmsException ex)  
    {  
        Console.WriteLine("Failed to list assignment properties. Error: " + ex.Message);  
        throw;  
    }  
}  

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

Paramètre Type Description
- connection
- swbemServices
-Géré: WqlConnectionManager
- VBScript : SWbemServices
Connexion valide au fournisseur SMS.

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 robuste

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

Sécurité de .NET Framework

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

Voir aussi

À propos des bases de référence de configuration et des éléments de configuration
Vue d’ensemble des objetsComment se connecter à un fournisseur Configuration Manager à l’aide de code managé
Comment se connecter à un fournisseur Configuration Manager à l’aide de WMI
Classe WMI du serveur SMS_BaselineAssignment