So erstellen Sie ein Programm

Das folgende Beispiel zeigt, wie ein Programm im Configuration Manager mithilfe der SMS_Program Klassen- und Klasseneigenschaften erstellt wird.

Wichtig

Ein angekündigtes Programm kann nicht ausgeführt werden, wenn die auf dem Clientcomputer definierten Wartungsfenster auf einen Zeitraum festgelegt sind, der kleiner als die maximal zulässige Laufzeiteinstellung dieses Programms ist. Weitere Informationen finden Sie unter Programmausführungsszenario mithilfe von Wartungsfenstern in der Dokumentation zum Configuration Manager.

So erstellen Sie ein Programm

  1. Richten Sie eine Verbindung mit dem SMS-Anbieter ein.

  2. Erstellen Sie das neue Programmobjekt mithilfe der SMS_Program Klasse.

  3. Füllen Sie die Eigenschaften des neuen Programms aus.

    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 beschrieben, wie 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 werden der XML-Anwendungsmanifestdatei der virtuellen Anwendung entnommen.
    ProgramName [Virtuelle Anwendung]
  4. Speichern Sie das neue Programm und die neuen 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 hat die folgenden Parameter:

Parameter Typ Beschreibung
connection

swebemServices
- Verwaltet: WqlConnectionManager
- VBScript: SWbemDienste
Eine gültige Verbindung mit dem SMS-Anbieter.
existingPackageID - Verwaltet: String
- VBScript: String
Der Name des Pakets, das mit dem Programm verknüpft ist.
newProgramName - Verwaltet: String
- VBScript: String
Der Name für das neue Programm.
newProgramComment - Verwaltet: String
- VBScript: String
Kommentar, der das Programm in der Configuration Manager-Konsole beschreibt.
newProgramCommandLine - Verwaltet: String
- VBScript: String
Die Befehlszeile, die beim Starten des Programms ausgeführt wird.
newMaxRunTime - Verwaltet: 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

Das C#-Beispiel erfordert:

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.

Siehe auch

Übersicht über die Softwareverteilung