Freigeben über


WMI-Klasse für SMS_Program Server

Die SMS_Program WMI-Klasse (Windows-Verwaltungsinstrumentation) ist eine SMS-Anbieter-Serverklasse in Configuration Manager, die ein Programm oder einen Befehl darstellt, das ausgeführt werden soll, wenn Software an einen Clientcomputer verteilt wird.

Die folgende Syntax wird vom MOF-Code (Managed Object Format) vereinfacht und enthält alle geerbten Eigenschaften.

Syntax

Class SMS_Program : SMS_BaseClass  
{  
     UInt32 ActionInProgress;  
     String ApplicationHierarchy;  
     String CommandLine;  
     String Comment;  
     String DependentProgram;  
     String Description;  
     UInt32 DeviceFlags;  
     String DiskSpaceReq;  
     String DriveLetter;  
     UInt32 Duration;  
     UInt8 ExtendedData[];  
     UInt32 ExtendedDataSize;  
     UInt8 Icon[];  
     UInt32 IconSize;  
     UInt8 ISVData[];  
     UInt32 ISVDataSize;  
     String ISVString;  
     String MSIFilePath  
     String MSIProductID  
     String PackageID;  
     String PackageName  
     UInt32 PackageType  
     String PackageVersion  
     UInt32 ProgramFlags;  
     String ProgramName;  
     String RemovalKey;  
     String Requirements;  
     UInt32 SecuredTypeID  
     SMS_OS_Details SupportedOperatingSystems[];  
     UInt32   TransformReadiness=0;   
     Datetime TransformAnalysisDate;   
     String   TransformDtID;   
     String WorkingDirectory;  
};  

Methoden

Die SMS_Program -Klasse definiert keine Methoden.

Eigenschaften

ActionInProgress
Datentyp: UInt32

Zugriffstyp: Schreibgeschützt

Qualifizierer: [read, enumeration]

Aktuelle Aktion, die für das Paket ausgeführt wird, das dem Programm von Configuration Manager zugeordnet ist. Die folgenden Werte sind möglich:

Wert Beschreibung
0 NICHTS
1 UPDATE
2 Hinzufügen
3 LÖSCHEN

Verwenden Sie diese Eigenschaft in einer WHERE-Klausel, um Programme herauszufiltern, die zum Löschen markiert, aber noch nicht gelöscht wurden. Weitere Informationen finden Sie im Abschnitt "Hinweise" weiter unten in diesem Thema.

ApplicationHierarchy
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: Keine

Die Anwendungshierarchie für das Programm. Der Standardwert ist "".

CommandLine
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: Keine

Die Befehlszeile, die ausgeführt wird, wenn das Programm gestartet wird. Der Standardwert ist "".

Comment
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: Keine

Kommentar, der das Programm in der Configuration Manager-Konsole beschreibt. Der Standardwert ist "".

DependentProgram
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: Keine

Eine formatierte Textzeichenfolge, die jedes Programm definiert, das vor der Ausführung dieses Programms ausgeführt werden soll. Das Format ist als <PackageID>;;< ProgramName>. Wenn sich das Programm im selben Paket befindet, kann die aufrufende Anwendung einfach ;;< ProgramName>. Der Standardwert ist "".

Die Abhängigkeit wird nur zum ersten Mal beibehalten, wenn das Programm ausgeführt wird. Nachdem das Programm ausgeführt wurde, wird die Abhängigkeit ignoriert. Beispielsweise können Sie keinen wiederkehrenden geplanten Auftrag erstellen, für den die Abhängigkeit für jede Programmausführung beibehalten wird.

Description
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: Keine

Nicht verwendet.

DeviceFlags
Datentyp: UInt32

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: Keine

Flags, die das dem Programm zugeordnete Gerät beschreiben. Die folgenden Werte sind möglich:

Hexadezimal (Bit) Beschreibung
0x01000000 (24) Weisen Sie dem Client immer das Programm zu.
0x02000000 (25) Weisen Sie nur zu, wenn das Gerät derzeit mit einer Verbindung mit hoher Bandbreite verbunden ist (Standard über 60 KBit/s).
0x04000000 (26) Weisen Sie das Gerät nur zu, wenn das Gerät angedockt ist, d. h., es ist an einen Desktop angefügt, der ActiveSync verwendet.

DiskSpaceReq
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: Keine

Ungefährer Speicherplatz, den das Programm benötigt. Das Format lautet "<Size><KB| MB| GB>" aus. Der Standardwert ist "".

Diese Informationen werden in der Configuration Manager-Konsole und der Ankündigung verwendet, um Warnungen zu den Speicherplatzanforderungen des Programms bereitzustellen. Der Benutzer kann dann entscheiden, die Ankündigung zu akzeptieren oder zuerst eine Datenträgerverwaltungsaufgabe auszuführen.

DriveLetter
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: [SizeLimit("1"), Range("a-z")]

Laufwerkbuchstabe (ein Zeichen im Bereich a-z), dem das Programm zugeordnet und ausgeführt wird. Der Standardwert ist "".

Duration
Datentyp: UInt32

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: Keine

Die ungefähre Dauer der Programmausführung auf dem Clientcomputer in Minuten. Geben Sie diesen Wert als ganze Zahl größer oder gleich 0 (Standard) oder als Unbekannt (nicht empfohlen) an. Wenn die Eigenschaft auf Unbekannt festgelegt ist, legt Configuration Manager die maximal zulässige Laufzeit auf 720 Minuten (12 Stunden) fest. Weitere Informationen finden Sie weiter unten in diesem Thema im Abschnitt "Hinweise".

Hinweis

Auf Clientcomputern wird der angegebene Wert für veröffentlichte Programme in Run Advertised Programs Systemsteuerung angezeigt.

ExtendedData
Datentyp: UInt8 Array

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: [groß, lazy]

Das XML-Blob für die Imagebereitstellung.

ExtendedDataSize
Datentyp: UInt32

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: [lazy]

Die erweiterte Datengröße in Bytes. Der Standardwert ist 0.

Icon
Datentyp: UInt8 Array

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: [groß]

Symbolinformationen, die dem Programmsymbol zugeordnet sind, wie in der Configuration Manager-Konsole angezeigt.

IconSize
Datentyp: UInt32

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: [lazy]

Größe des Programmsymbols in Bytes. Legen Sie diese Eigenschaft auf 0 fest, um das Symbol zu löschen.

ISVData
Datentyp: UInt8 Array

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: [groß, lazy]

Informationen, die es einem einzelnen ISV ermöglichen, Daten zu einem SMS_Program Objekt zu speichern.

Es gibt keine Einschränkungen oder definierten Formate für die ISV-Daten. Es ist jedoch wichtig, die Eigenschaft nicht zu überschreiben, nachdem der ISV-Besitz eingerichtet wurde. Ihre Anwendung sollte zuerst die vorhandenen Daten in dieser Eigenschaft lesen. Wenn die Daten nicht zur Anwendung gehören, sollten sie nicht geändert werden. Sie sollten einen Bezeichner in die Daten für das Programm einschließen, damit der Besitz einfach hergestellt werden kann.

ISVDataSize
Datentyp: UInt32

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: [lazy]

Die Größe der in ISVDatagespeicherten Daten in Bytes. Der Standardwert ist 0.

ISVString
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: keine

Zeichenfolge für die Partnererweiterbarkeit.

MSIFilePath
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: Keine

Der Dateipfad des Windows Installer-Pakets, dem das Programm zugeordnet ist. Der Standardwert ist "".

MSIProductID
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: Keine

Die Produkt-ID des Windows Installer-Pakets, dem das Programm zugeordnet ist. Der Standardwert ist "".

PackageID
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: [Schlüssel, Not_null]

ID eines vorhandenen Pakets, dem das Programm zugeordnet werden soll. Weitere Informationen finden Sie im Abschnitt "Hinweise" weiter unten in diesem Thema.

PackageName
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: [Keine]

Der Name des Pakets, zu dem das Programm gehört.

PackageType
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: [Keine]

Der Typ des Pakets, zu dem das Programm gehört.

Wert Beschreibung
0 Reguläres Softwareverteilungspaket.
3 Treiberpaket.
4 Tasksequenzpaket.
5 Softwareupdatepaket.
6 Geräteeinstellungspaket.
257 Imagepaket.
258 Startabbildpaket.
259 Betriebssysteminstallationspaket.

PackageVersion
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: [Keine]

Die Version des Pakets, zu dem das Programm gehört.

ProgramFlags
Datentyp: UInt32

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: [Bits]

Flags, die die Installationsmerkmale des Programms identifizieren. Mögliche Werte sind unten aufgeführt. Die Standardwerte sind EVERYUSER, USEUNCPATH, USERCONTEXT und UNATTENDED.

Hinweis

Stellen Sie bei der programmgesteuerten Verwendung SMS_Program sicher, dass keine in Konflikt stehenden Werte ausgewählt sind. Beispielsweise sollten NOUSERLOGGEDIN und USERCONTEXT nicht zusammen verwendet werden.

Die folgenden Werte sind möglich:

Hexadezimal (Bit) Beschreibung
0x00000001 (0) AUTHORIZED_DYNAMIC_INSTALL. Das Programm ist für die dynamische Installation autorisiert.
0x00000002 (1) USECUSTOMPROGRESSMSG. Die Tasksequenz zeigt eine benutzerdefinierte Statusmeldung der Benutzeroberfläche an.
0x00000010 (4) DEFAULT_PROGRAM. Dies ist ein Standardprogramm.
0x00000020 (5) DISABLEMOMALERTONRUNNING. Deaktiviert MOM-Warnungen, während das Programm ausgeführt wird.
0x00000040 (6) MOMALERTONFAIL. Generiert eine MOM-Warnung, wenn das Programm fehlschlägt.
0x00000080 (7) RUN_DEPENDANT_ALWAYS. Wenn festgelegt, sollte das unmittelbar abhängige Programm immer ausgeführt werden.
0x00000100 (8) WINDOWS_CE. Gibt ein Geräteprogramm an. Wenn festgelegt, wird das Programm nicht für Desktopclients angeboten.
0x00000200 (9) Dieser Wert wird nicht verwendet.
0x00000400 (10) COUNTDOWN. Das Countdowndialogfeld wird nicht angezeigt.
0x00000800 (11) FORCERERUN. Dieser Wert wird nicht verwendet.
0x00001000 (12) DEAKTIVIERT. Das Programm ist deaktiviert.
0x00002000 (13) UNBEAUFSICHTIGTE. Das Programm erfordert keine Benutzerinteraktion.
0x00004000 (14) USERCONTEXT. Das Programm kann nur ausgeführt werden, wenn ein Benutzer angemeldet ist.
0x00008000 (15) ADMINISTRATORRECHTE. Das Programm muss als lokales Administratorkonto ausgeführt werden.
0x00010000 (16) EVERYUSER. Das Programm muss von jedem Benutzer ausgeführt werden, für den es gültig ist. Nur für obligatorische Aufträge gültig.
0x00020000 (17) NOUSERLOGGEDIN. Das Programm wird nur ausgeführt, wenn kein Benutzer angemeldet ist.
0x00040000 (18) OKTOQUIT. Das Programm startet den Computer neu.
0x00080000 (19) OKTOREBOOT. Configuration Manager startet den Computer neu, wenn das Programm erfolgreich ausgeführt wurde.
0x00100000 (20) USEUNCPATH. Verwenden Sie einen UNC-Pfad (kein Laufwerkbuchstabe), um auf den Verteilungspunkt zuzugreifen.
0x00200000 (21) PERSISTCONNECTION. Behält die Verbindung mit dem in der DriveLetter-Eigenschaft angegebenen Laufwerk bei. Das USEUNCPATH-Bitflag darf nicht festgelegt werden.
0x00400000 (22) RUNMINIMIZED. Führen Sie das Programm als minimiertes Fenster aus.
0x00800000 (23) RUNMAXIMIZED. Führen Sie das Programm als maximiertes Fenster aus.
x01000000 (24) HIDEWINDOW. Blenden Sie das Programmfenster aus.
0x02000000 (25) OKTOLOGOFF. Melden Sie den Benutzer ab, wenn das Programm erfolgreich abgeschlossen wurde.
0x04000000 (26) RUNACCOUNT. Dieser Wert wird nicht verwendet.
0x08000000 (27) ANY_PLATFORM. Überprüfung auf Plattformunterstützung außer Kraft setzen.
0x10000000 (28) STILL_RUNNING. Dieser Wert wird nicht verwendet.
0x20000000 (29) SUPPORT_UNINSTALL. Führen Sie die Deinstallation über den Registrierungsschlüssel aus, wenn die Ankündigung abläuft.
0x40000000 (30) Die Plattform wird nicht unterstützt.
0x80000000 (31) SHOW_IN_ARP. Dieser Wert wird nicht verwendet.

ProgramName
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: [Schlüssel, Not_null]

Eindeutiger Name, der dieses Programm darstellt.

RemovalKey
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: Keine

Registrierungsschlüssel, der das Deinstallationsskript für das Programm identifiziert. Das Skript muss sich im HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall Registrierungspfad befinden. Der Standardwert ist "".

Requirements
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: Keine

Beschreibung aller zusätzlichen Anforderungen des Programms. Der Standardwert ist "".

SecuredTypeID
Datentyp: UInt32

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: [Keine]

Geschützter Typ des verknüpften Pakets.

SupportedOperatingSystems
Datentyp: SMS_OS_Details Array

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: [lazy]

SMS_OS_Details Server-WMI-Klassenobjekte , die die Betriebssysteme darstellen, auf denen das Programm ausgeführt werden kann.

Wenn Sie in der ProgramFlags -Eigenschaft keine ANY_PLATFORM angeben, müssen Sie mindestens ein unterstütztes Betriebssystem angeben. SMS_SupportedPlatforms Server WMI-Klasse definiert die Liste der Plattformen, die Configuration Manager unterstützt.

TransformAnalysisDate
Datentyp: DateTime

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: [Keine]

Ausschließlich für interne Zwecke.

TransformDtID
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: [Keine]

Ausschließlich für interne Zwecke.

TransformReadiness
Datentyp: UInt32

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: [Keine]

Ausschließlich für interne Zwecke.

WorkingDirectory
Datentyp: String

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: Keine

Der Speicherort, von dem aus das Programm ausgeführt wird. Der Standardwert ist "".

Das Arbeitsverzeichnis kann ein absoluter Pfad auf dem Client oder ein Pfad relativ zum Verteilungspunktordner sein, der das Paket enthält. Wenn kein Arbeitsverzeichnis angegeben ist, verwendet Configuration Manager den Standardordner des Verteilungspunkts.

HinwBemerkungeneise

Für diese Klasse gibt es keine speziellen Klassenqualifizierer. Weitere Informationen sowohl zu den Klassenqualifizierern als auch zu den Eigenschaftenqualifizierern, die im Abschnitt Eigenschaften enthalten sind, finden Sie unter Configuration Manager Klassen- und Eigenschaftsqualifizierer.

Ein Programm ist immer einem übergeordneten Paket zugeordnet und stellt in der Regel das Installationsprogramm für das Paket dar. Beachten Sie, dass demselben Paket mehrere Programme zugeordnet werden können. Die Anwendung verwendet die PackageID -Eigenschaft, um diese Zuordnung vorzunehmen. Ihre Anwendung kann diese Eigenschaft nicht ändern, nachdem das SMS_Program Objekt erstellt wurde. Um das Programm einem anderen Paket zuzuordnen, muss die Anwendung das Objekt löschen und ein neues Objekt mit einem neuen PackageID Wert erstellen.

Wenn Ihre Anwendung ein SMS_Program Objekt löscht, wird es erst gelöscht, wenn die zugehörigen Komponenten, z. B. ihre Ankündigungen, gelöscht wurden. Stattdessen legt Configuration Manager die ActionInProgress -Eigenschaft auf DELETE (3) fest, um das Programm zum Löschen zu markieren. Um sicherzustellen, dass eine Abfrage keine Programme abruft, die zum Löschen markiert wurden, fügen Sie diesen Fall der WHERE-Klausel hinzu.

Wichtig

Wenn Sie Wartungsfenster für die Sammlung verwenden, in der das Programm ausgeführt wird, kann ein Konflikt auftreten, wenn der Wert der Duration Eigenschaft länger als das geplante Wartungsfenster ist. Wenn diese Eigenschaft auf Unbekannt festgelegt ist, wird das Programm während des Wartungsfensters gestartet, aber weiterhin ausgeführt, bis es abgeschlossen ist oder fehlschlägt, nachdem das Wartungsfenster geschlossen wurde.

Es wird empfohlen, die Duration Eigenschaft nicht auf Unknown festzulegen, da diese Eigenschaft für die folgenden zwei wichtigen Zwecke verwendet wird:

  • So überwachen Sie die Ergebnisse des Programms.

  • Um zu bestimmen, ob das Programm gestartet wird, wenn Wartungsfenster auf den Clientcomputern definiert wurden.

    Wenn Ihre Anwendung die Duration Eigenschaft festlegt, die Programmausführungszeit diese Dauer jedoch überschreitet, beendet Configuration Manager die Überwachung des Programms, beendet das Programm jedoch nicht. Dies ermöglicht es Configuration Manager, mit anderen Softwareverteilungsfunktionen fortzufahren, z. B. das Ausführen anderer angekündigter Programme. Der Manager führt folgendes nicht aus:

  • Beenden Sie das Programm.

  • Geben Sie alle Laufwerke frei, die für das angekündigte Programm zugeordnet wurden.

  • Geben Sie alle Netzwerkverbindungen frei, die für das angekündigte Programm hergestellt wurden.

  • Kostenlose Betriebssystemressourcen, die von Configuration Manager verwendet werden, wenn angekündigte Programme ausgeführt werden.

    Weitere Informationen finden Sie unter Informationen zu Wartungsfenstern.

Anforderungen

Laufzeitanforderungen

Weitere Informationen finden Sie unter anforderungen an Configuration Manager Server Runtime.

Entwicklungsanforderungen

Weitere Informationen finden Sie unter Configuration Manager Serverentwicklungsanforderungen.

Siehe auch

WMI-Klasse des SMS_Package-Servers
Erstellen eines Pakets
Erstellen eines Programms