可以通过查询可用的任务序列包,在 Configuration Manager 中枚举可用的作系统部署任务序列。 Configuration Manager不为任务序列维护 SMS_TaskSequence 类的实例,但每个任务序列都有一个 SMS_TaskSequencePackage 类的实例。
注意
有几个属性是延迟的,必须先获取对象实例,然后才能访问属性。
还可以使用 PackageID 密钥属性访问单个任务序列包。 有关示例,请参阅如何使用托管代码读取 Configuration Manager 对象。 拥有任务序列包后,必须先为任务序列创建 SMS_TaskSequence 对象,然后才能对其进行更改。 有关详细信息,请参阅 如何从任务序列包读取任务序列。
枚举可用的任务序列包
设置与 SMS 提供程序的连接。 有关详细信息,请参阅 SMS 提供程序基础知识。
在 SMS 提供程序中查询 SMS_TaskSequencePackage的可用实例。
显示查询返回的每个任务序列包的必需属性。
示例
以下示例方法在 SMS 提供程序中查询 SMS_TaskSequencePackage的可用实例。 为了检索惰性属性,本示例从 SMS 提供程序获取整个 对象。
有关调用示例代码的信息,请参阅调用Configuration Manager代码片段。
Sub EnumerateTaskSequencePackages(connection)
Set taskSequencePackages= connection.ExecQuery("Select * from SMS_TaskSequencePackage")
For Each package in taskSequencePackages
WScript.Echo package.Name
WScript.Echo package.Sequence
Next
End Sub
public void EnumerateTaskSequencePackages(
WqlConnectionManager connection)
{
IResultObject taskSequencePackages = connection.QueryProcessor.ExecuteQuery("select * from SMS_TaskSequencePackage");
foreach (IResultObject ro in taskSequencePackages)
{
ro.Get();
// Get the lazy properties - Sequence property contains the Task sequence XML.
Console.WriteLine(ro["Name"].StringValue);
Console.WriteLine(ro["Sequence"].StringValue);
Console.WriteLine();
}
}
示例方法具有以下参数:
参数 | 类型 | 说明 |
---|---|---|
connection |
-管理: WqlConnectionManager - VBScript: SWbemServices |
与 SMS 提供程序的有效连接。 |
编译代码
C# 示例需要:
命名空间
System
System.Collections.Generic
System.Text
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
可靠编程
有关错误处理的详细信息,请参阅关于Configuration Manager错误。
.NET Framework 安全性
有关保护Configuration Manager应用程序的详细信息,请参阅Configuration Manager基于角色的管理。
另请参阅
对象概述如何使用托管代码在 Configuration Manager中连接到 SMS提供程序如何使用 WMI 连接到 Configuration Manager 中的 SMS 提供程序如何创建作系统部署任务序列包如何从任务序列包任务序列任务序列中读取任务序列概述