如何列出配置分配

以下代码示例演示如何列出当前配置基线分配以及Configuration Manager中每个分配的特定属性集。

列出配置分配

  1. 设置与 SMS 提供程序的连接。

  2. 查询所有实例 SMS_BaselineAssignment

  3. Loop可用的配置基线分配数组,其中列出了每个配置基线分配和特定属性。

示例

以下示例方法演示如何列出当前配置基线分配以及Configuration Manager中每个分配的特定属性集。

有关调用示例代码的信息,请参阅调用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;
    }
}

示例方法具有以下参数:

参数 类型 说明
- connection
- swbemServices
-管理: WqlConnectionManager
- VBScript: SWbemServices
与 SMS 提供程序的有效连接。

编译代码

命名空间

System

System.Collections.Generic

System.ComponentModel

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

可靠编程

有关错误处理的详细信息,请参阅关于Configuration Manager错误

.NET Framework 安全性

有关保护Configuration Manager应用程序的详细信息,请参阅Configuration Manager基于角色的管理

另请参阅

关于配置基线和配置项目对象概述如何使用托管代码连接到Configuration Manager提供程序如何使用 WMISMS_BaselineAssignment服务器 WMI 类连接到Configuration Manager提供程序