如何列出配置分配
以下代码示例演示如何列出当前配置基线分配以及Configuration Manager中每个分配的特定属性集。
列出配置分配
设置与 SMS 提供程序的连接。
查询所有实例
SMS_BaselineAssignment
。循环访问可用配置基线分配的数组,列出每个配置基线分配和特定属性。
示例
以下示例方法演示如何列出当前配置基线分配以及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提供程序
如何使用 WMI 连接到Configuration Manager提供程序
SMS_BaselineAssignment服务器 WMI 类