SMS_Program Server WMI-Klasse

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

Die folgende Syntax wurde aus 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

Qualifiers: [read, enumeration]

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

Wert Beschreibung
0 KEINE
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 weiter unten in diesem Thema im Abschnitt "Hinweise".

ApplicationHierarchy Datentyp: String

Zugriffstyp: Lesen/Schreiben

Qualifikanten: Keine

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

CommandLine Datentyp: String

Zugriffstyp: Lesen/Schreiben

Qualifikanten: Keine

Die Befehlszeile, die beim Starten des Programms ausgeführt wird. Der Standardwert ist "".

Comment Datentyp: String

Zugriffstyp: Lesen/Schreiben

Qualifikanten: Keine

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

DependentProgram Datentyp: String

Zugriffstyp: Lesen/Schreiben

Qualifikanten: Keine

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

Die Abhängigkeit bleibt nur bei der ersten Ausführung des Programms erhalten. Nachdem das Programm ausgeführt wurde, wird die Abhängigkeit ignoriert. Sie können z. B. keinen wiederkehrenden geplanten Auftrag erstellen, bei dem die Abhängigkeit für jede Programmausführung beibehalten wird.

Description Datentyp: String

Zugriffstyp: Lesen/Schreiben

Qualifikanten: Keine

Nicht verwendet.

DeviceFlags Datentyp: UInt32

Zugriffstyp: Lesen/Schreiben

Qualifikanten: Keine

Diese Flags beschreiben das Gerät, das dem Programm zugeordnet ist. Die folgenden Werte sind möglich:

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

DiskSpaceReq Datentyp: String

Zugriffstyp: Lesen/Schreiben

Qualifikanten: Keine

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

Diese Informationen werden in der Configuration Manager-Konsole und in der Ankündigung verwendet, um Warnungen über den Speicherplatzbedarf des Programms bereitzustellen. Der Benutzer kann dann entscheiden, ob er die Ankündigung akzeptiert oder zuerst eine Datenträgerverwaltungsaufgabe ausführt.

DriveLetter Datentyp: String

Zugriffstyp: Lesen/Schreiben

Qualifier: [SizeLimit("1"), Bereich("a-z")]

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

Duration Datentyp: UInt32

Zugriffstyp: Lesen/Schreiben

Qualifikanten: Keine

Die ungefähre Dauer der Programmausführung auf dem Clientcomputer in Minuten. Geben Sie diesen Wert als ganze Zahl, die größer oder gleich 0 (Standard) ist, 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 der Systemsteuerung angezeigtRun Advertised Programs.

ExtendedData Datentyp: UInt8 Array

Zugriffstyp: Lesen/Schreiben

Qualifikanten: [groß, faul]

Der XML-BLOB für die Imagebereitstellung.

ExtendedDataSize Datentyp: UInt32

Zugriffstyp: Lesen/Schreiben

Qualifikanten: [faul]

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

Icon Datentyp: UInt8 Array

Zugriffstyp: Lesen/Schreiben

Qualifikanten: [groß]

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

IconSize Datentyp: UInt32

Zugriffstyp: Lesen/Schreiben

Qualifikanten: [faul]

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

ISVData Datentyp: UInt8 Array

Zugriffstyp: Lesen/Schreiben

Qualifikanten: [groß, faul]

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 festgestellt 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 aufnehmen, damit der Besitz leicht festgestellt werden kann.

ISVDataSize Datentyp: UInt32

Zugriffstyp: Lesen/Schreiben

Qualifikanten: [faul]

Die Größe der Daten ISVDatain . Der Standardwert ist 0.

ISVString Datentyp: String

Zugriffstyp: Lesen/Schreiben

Qualifikanten: keine

Zeichenfolge für die Partnererweiterbarkeit.

MSIFilePath Datentyp: String

Zugriffstyp: Lesen/Schreiben

Qualifikanten: Keine

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

MSIProductID Datentyp: String

Zugriffstyp: Lesen/Schreiben

Qualifikanten: Keine

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

PackageID Datentyp: String

Zugriffstyp: Lesen/Schreiben

Qualifiers: [key, Not_null]

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

PackageName Datentyp: String

Zugriffstyp: Lesen/Schreiben

Qualifikanten: [Keine]

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

PackageType Datentyp: String

Zugriffstyp: Lesen/Schreiben

Qualifikanten: [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 Installationspaket für das Betriebssystem.

PackageVersion Datentyp: String

Zugriffstyp: Lesen/Schreiben

Qualifikanten: [Keine]

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

ProgramFlags Datentyp: UInt32

Zugriffstyp: Lesen/Schreiben

Qualifier: [bits]

Flags, welche die Installationsmerkmale des Programms angeben. 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 auf 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 gesetzt, sollte der unmittelbar abhängige Schlüssel dieses Programms immer ausgeführt werden.
0x00000100 (8) WINDOWS_CE. Gibt ein Geräteprogramm an. Falls festgelegt, wird das Programm Desktopclients nicht angeboten.
0x00000200 (9) Dieser Wert wird nicht verwendet.
0x00000400 (10) COUNTDOWN. Das Countdown-Dialogfeld wird nicht angezeigt.
0x00000800 (11) FORCERERUN ANGEWENDET. Dieser Wert wird nicht verwendet.
0x00001000 (12) DEAKTIVIERT. Das Programm ist deaktiviert.
0x00002000 (13) UNBEAUFSICHTIGT. Das Programm erfordert keine Benutzerinteraktion.
0x00004000 (14) USERCONTEXT ANZUZEIGEN. 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) JEDER BENUTZER. Das Programm muss von jedem Benutzer ausgeführt werden, für den es gültig ist. Gilt nur für Pflichtjobs.
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 die Ausführung des Programms erfolgreich abgeschlossen ist.
0x00100000 (20) USEUNCPATH. Verwenden Sie einen UNC-Pfad (ohne Laufwerkbuchstaben), um auf den Verteilungspunkt zuzugreifen.
0x00200000 (21) PERSISTCONNECTION. Behält die Verbindung zu dem in der DriveLetter-Eigenschaft angegebenen Laufwerk bei. Das USEUNCPATH-Bitflag darf nicht gesetzt sein.
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. Programmfenster ausblenden.
0x02000000 (25) OKTOLOGOFF. Benutzer abmelden, wenn das Programm erfolgreich abgeschlossen wurde.
0x04000000 (26) AUSGEFÜHRT WERDEN. Dieser Wert wird nicht verwendet.
0x08000000 (27) ANY_PLATFORM. Außerkraftsetzung der Überprüfung auf Plattformunterstützung.
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: Lesen/Schreiben

Qualifiers: [key, Not_null]

Eindeutiger Name, der dieses Programm repräsentiert.

RemovalKey Datentyp: String

Zugriffstyp: Lesen/Schreiben

Qualifikanten: 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: Lesen/Schreiben

Qualifikanten: Keine

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

SecuredTypeID Datentyp: UInt32

Zugriffstyp: Lesen/Schreiben

Qualifikanten: [Keine]

Gesicherter Typ des zugehörigen Pakets.

SupportedOperatingSystems Datentyp: SMS_OS_Details Array

Zugriffstyp: Lesen/Schreiben

Qualifikanten: [faul]

SMS_OS_Details Server WMI-Klasse-Objekte , die die Betriebssysteme darstellen, unter 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 unterstützten Plattformen, die Configuration Manager unterstützen.

TransformAnalysisDate Datentyp: DateTime

Zugriffstyp: Lesen/Schreiben

Qualifikanten: [Keine]

Ausschließlich für interne Zwecke.

TransformDtID Datentyp: String

Zugriffstyp: Lesen/Schreiben

Qualifikanten: [Keine]

Ausschließlich für interne Zwecke.

TransformReadiness Datentyp: UInt32

Zugriffstyp: Lesen/Schreiben

Qualifikanten: [Keine]

Ausschließlich für interne Zwecke.

WorkingDirectory Datentyp: String

Zugriffstyp: Lesen/Schreiben

Qualifikanten: 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 Ordner des Verteilungspunkts sein, der das Paket enthält. Wenn kein Arbeitsverzeichnis angegeben ist, verwendet Configuration Manager den Standardordner für Verteilungspunkte.

Hinweise

Für diese Klasse gibt es keine speziellen Klassenqualifikationen. Weitere Informationen zu den Klassen- und Eigenschaftskennzeichnern, die im Abschnitt Eigenschaften enthalten sind, finden Sie unter Klassen- und Eigenschaftsbegrenzungszeichen im Configuration Manager.

Ein Programm ist immer mit einem übergeordneten Paket verknüpft und stellt in der Regel das Installationsprogramm für das Paket dar. Mehrere Programme können demselben Paket zugeordnet werden. Die Anwendung verwendet die PackageID Eigenschaft, um diese Zuordnung vorzunehmen. Ihre Anwendung kann diese Eigenschaft nach dem Erstellen des SMS_Program Objekts nicht mehr ändern. 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. die Werbung, gelöscht werden. Stattdessen legt der Configuration Manager die ActionInProgress Eigenschaft auf DELETE (3) fest, um das Programm zum Löschen zu markieren. Um sicherzustellen, dass eine Abfrage keine zum Löschen markierten Programme abruft, fügen Sie diesen Fall der WHERE-Klausel hinzu.

Wichtig

Wenn Sie Wartungsfenster für die Sammlung verwenden, für die 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 so lange ausgeführt, bis es abgeschlossen ist oder nach dem Schließen des Wartungsfensters fehlschlägt.

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

  • Zur Überwachung der Ergebnisse des Programms.

  • So ermitteln Sie, ob das Programm gestartet wird, wenn Wartungsfenster auf den Clientcomputern definiert wurden.

    Wenn Ihre Anwendung die Duration Eigenschaft festlegt, die Programmlaufzeit diese Dauer jedoch überschreitet, beendet Configuration Manager die Überwachung des Programms, beendet das Programm jedoch nicht. Auf diese Weise kann Configuration Manager mit anderen Softwareverteilungsfunktionen fortfahren, z. B. dem Ausführen anderer angekündigter Programme. Der Manager hat nicht:

  • Halten Sie das Programm an.

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

  • Geben Sie alle für das angekündigte Programm hergestellten Netzwerkverbindungen frei.

  • 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 die Configuration Manager Server-Laufzeit.

Entwicklungsanforderungen

Weitere Informationen finden Sie unter Entwicklungsanforderungen für Configuration Manager Server.

Siehe auch

WMI-Klasse für SMS_Package Server So erstellen Sie ein Paket, so erstellen Sie ein Programm