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
Configurez une connexion au fournisseur SMS.
Requête pour toutes les instances
SMS_BaselineAssignment
.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