Jak wyświetlić listę przypisań konfiguracji

W poniższych przykładach kodu pokazano, jak wyświetlić listę przypisań bieżącej konfiguracji odniesienia i określonego zestawu właściwości dla każdego przypisania w Configuration Manager.

Aby wyświetlić listę przypisań konfiguracji

  1. Skonfiguruj połączenie z dostawcą programu SMS.

  2. Zapytanie dla wszystkich wystąpień SMS_BaselineAssignment.

  3. Przeprowadź pętlę za pośrednictwem tablicy dostępnych przypisań linii bazowej konfiguracji, wyświetlając listę poszczególnych przypisań linii bazowych konfiguracji i określonych właściwości.

Przykład

Poniższa przykładowa metoda pokazuje, jak wyświetlić listę przypisań bieżącej konfiguracji odniesienia i określonego zestawu właściwości dla każdego przypisania w Configuration Manager.

Aby uzyskać informacje na temat wywoływania przykładowego kodu, zobacz Wywoływanie fragmentów kodu 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;  
    }  
}  

Przykładowa metoda ma następujące parametry:

Parametr Wpisać Opis
- connection
- swbemServices
-Zarządzane: WqlConnectionManager
- VBScript: SWbemServices
Prawidłowe połączenie z dostawcą programu SMS.

Kompilowanie kodu

Obszary nazw

System

System.collections.generic

System.componentmodel

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Zestawu

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Niezawodne programowanie

Aby uzyskać więcej informacji na temat obsługi błędów, zobacz Informacje o błędach Configuration Manager.

zabezpieczenia .NET Framework

Aby uzyskać więcej informacji na temat zabezpieczania aplikacji Configuration Manager, zobacz Configuration Manager administracja oparta na rolach.

Zobacz też

Informacje o konfiguracji odniesienia i elementów konfiguracji
Omówienie obiektówJak nawiązać połączenie z dostawcą Configuration Manager przy użyciu kodu zarządzanego
Jak nawiązać połączenie z dostawcą Configuration Manager przy użyciu usługi WMI
SMS_BaselineAssignment Server WMI Class