Erstellen eines Programms
Das folgende Beispiel zeigt, wie Sie ein Programm in Configuration Manager mithilfe der SMS_Program
Klassen- und Klasseneigenschaften erstellen.
Wichtig
Jedes angekündigte Programm kann nicht ausgeführt werden, wenn die auf dem Clientcomputer definierten Wartungsfenster für einen Zeitraum festgelegt sind, der kleiner als die Einstellung Maximal zulässige Laufzeit dieses Programms ist. Weitere Informationen finden Sie unter Programmausführungsszenario mit Wartungsfenstern in der Configuration Manager-Dokumentation.
So erstellen Sie ein Programm
Richten Sie eine Verbindung mit dem SMS-Anbieter ein.
Erstellen Sie das neue Programmobjekt mithilfe der
SMS_Program
-Klasse.Füllen Sie die neuen Programmeigenschaften auf.
Tipp
Wenn Sie ein Programm für eine Tasksequenz oder ein virtuelles Anwendungspaket erstellen, müssen die SMS_Program Eigenschaften auf bestimmte Werte festgelegt werden. In den folgenden Tabellen wird erläutert, wofür diese Einstellungen konfiguriert werden sollten.
Tasksequenz
Eigenschaftenname Eigenschaftswert ProgramName * Virtuelles Anwendungspaket
Eigenschaftenname Eigenschaftswert CommandLine PkgGUID={E742FFD6-D539-42CC-9827-73535FC81E06}:VersionGUID={19366289-8C55-44E2-A5EC-7B385EFB4C30}
Hinweis: Die GUID-Werte stammen aus der XML-Manifestdatei der virtuellen Anwendung.ProgramName [Virtuelle Anwendung] Speichern Sie das neue Programm und die Eigenschaften.
Beispiel
Die folgende Beispielmethode erstellt ein neues Programm und füllt seine Eigenschaften für die Verwendung in der Softwareverteilung auf.
Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager Codeausschnitten.
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;
}
}
Die Beispielmethode verfügt über die folgenden Parameter:
Parameter | Typ | Beschreibung |
---|---|---|
connection swebemServices |
-Verwalteten: WqlConnectionManager – VBScript: SWbemServices |
Eine gültige Verbindung mit dem SMS-Anbieter. |
existingPackageID |
-Verwalteten: String -Vbscript: String |
Der Name des Pakets, das dem Programm zugeordnet ist. |
newProgramName |
-Verwalteten: String -Vbscript: String |
Der Name für das neue Programm. |
newProgramComment |
-Verwalteten: String -Vbscript: String |
Kommentar, der das Programm in der Configuration Manager-Konsole beschreibt. |
newProgramCommandLine |
-Verwalteten: String -Vbscript: String |
Die Befehlszeile, die beim Starten des Programms ausgeführt wird. |
newMaxRunTime |
-Verwalteten: Integer -Vbscript: Integer |
Die ungefähre Dauer der Programmausführung auf dem Clientcomputer in Minuten. Dieser Parameter kann einen maximalen Wert von 720 Minuten oder 12 Stunden haben. |
Kompilieren des Codes
Für das C#-Beispiel ist Folgendes erforderlich:
Namespaces
System
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
Mscorlib
Robuste Programmierung
Weitere Informationen zur Fehlerbehandlung finden Sie unter Informationen zu Configuration Manager Fehlern.