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 ISVData
gespeicherten 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