如何创建程序
以下示例演示如何使用 SMS_Program
类和类属性在 Configuration Manager 中创建程序。
重要
当客户端计算机上定义的维护时段设置为小于该程序的 “允许的最大运行时间”设置的时间段时,任何播发的程序都将无法运行。 有关详细信息,请参阅 Configuration Manager 文档中的使用维护时段的程序运行方案。
创建计划
设置与 SMS 提供程序的连接。
使用
SMS_Program
类创建新的程序对象。填充新的程序属性。
提示
为任务序列或虚拟应用程序包创建程序时,必须将SMS_Program属性设置为特定值。 下表概述了这些设置应配置为什么。
任务序列
属性名 属性值 ProgramName * 虚拟应用程序包
属性名 属性值 CommandLine PkgGUID={E742FFD6-D539-42CC-9827-73535FC81E06}:VersionGUID={19366289-8C55-44E2-A5EC-7B385EFB4C30}
注意: GUID 值取自虚拟应用程序的 XML 清单文件。ProgramName [虚拟应用程序] 保存新程序和属性。
示例
以下示例方法创建一个新程序并填充其属性,以便在软件分发中使用。
有关调用示例代码的信息,请参阅调用Configuration Manager代码片段。
Sub CreateProgram(connection, existingPackageID, newProgramName, newProgramComment, newProgramCommandLine, newMaxRunTime)
' Create the new program object. Dim newProgram
Set newProgram = connection.Get("SMS_Program").SpawnInstance_
' Populate the program properties.
newProgram.PackageID = existingPackageID
newProgram.ProgramName = newProgramName
newProgram.Comment = newProgramComment
newProgram.CommandLine = newProgramCommandLine
newProgram.Duration = newMaxRunTime
' Save the new program and properties.
newProgram.Put_
' Output new program name.
wscript.echo "Created program: " & newProgramName
End Sub
public void CreateProgram(WqlConnectionManager connection,
string existingPackageID,
string newProgramName,
string newProgramComment,
string newProgramCommandLine,
int newMaxRunTime)
{
try
{
// Create an instance of SMS_Program.
IResultObject newProgram = connection.CreateInstance("SMS_Program");
// Populate basic program values.
newProgram["PackageID"].StringValue = existingPackageID;
newProgram["ProgramName"].StringValue = newProgramName;
newProgram["Comment"].StringValue = newProgramComment;
newProgram["CommandLine"].StringValue = newProgramCommandLine;
newProgram["Duration"].IntegerValue = newMaxRunTime;
// Save the new program instance and values.
newProgram.Put();
Console.WriteLine("Created program: " + newProgramName);
}
catch (SmsException ex)
{
Console.WriteLine("Failed to create program. Error: " + ex.Message);
throw;
}
}
示例方法具有以下参数:
参数 | 类型 | 说明 |
---|---|---|
connection swebemServices |
-管理: WqlConnectionManager - VBScript: SWbemServices |
与 SMS 提供程序的有效连接。 |
existingPackageID |
-管理: String - VBScript: String |
与程序关联的包的名称。 |
newProgramName |
-管理: String - VBScript: String |
新程序的名称。 |
newProgramComment |
-管理: String - VBScript: String |
描述Configuration Manager控制台中的程序的注释。 |
newProgramCommandLine |
-管理: String - VBScript: String |
启动程序时运行的命令行。 |
newMaxRunTime |
-管理: Integer - VBScript: Integer |
客户端计算机上程序执行的大致持续时间(以分钟为单位)。 此参数的最大值可以为 720 分钟或 12 小时。 |
编译代码
C# 示例需要:
命名空间
系统警报
Microsoft。ConfigurationManagement.ManagementProvider
Microsoft。ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
mscorlib
可靠编程
有关错误处理的详细信息,请参阅关于Configuration Manager错误。