如何建立程式
下列範例示範如何使用 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;
}
}
範例方法具有下列參數:
參數 | Type | 描述 |
---|---|---|
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
組件
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
mscorlib
健全的程式設計
如需錯誤處理的詳細資訊,請參閱關於Configuration Manager錯誤。