Delen via


WMI-klasse SMS_Program-server

De SMS_Program WMI-klasse (Windows Management Instrumentation) is een sms-providerserverklasse, in Configuration Manager, die een programma of opdracht vertegenwoordigt die moet worden uitgevoerd wanneer software wordt gedistribueerd naar een clientcomputer.

De volgende syntaxis is vereenvoudigd van MOF-code (Managed Object Format) en bevat alle overgenomen eigenschappen.

Syntaxis

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

De SMS_Program klasse definieert geen methoden.

Eigenschappen

ActionInProgress
Gegevenstype: UInt32

Toegangstype: Alleen-lezen

Kwalificatie: [lezen, opsomming]

Huidige actie die wordt uitgevoerd op het pakket dat is gekoppeld aan het programma door Configuration Manager. Mogelijke waarden zijn:

Waarde Beschrijving
0 GEEN
1 UPDATE
2 TOEVOEGEN
3 VERWIJDEREN

Gebruik deze eigenschap in een WHERE-component om programma's te filteren die zijn gemarkeerd voor verwijdering, maar nog niet zijn verwijderd. Zie de sectie Opmerkingen verderop in dit onderwerp voor meer informatie.

ApplicationHierarchy
Gegevenstype: String

Toegangstype: Lezen/schrijven

Kwalificatie: Geen

De toepassingshiërarchie voor het programma. De standaardwaarde is ''.

CommandLine
Gegevenstype: String

Toegangstype: Lezen/schrijven

Kwalificatie: Geen

De opdrachtregel die wordt uitgevoerd wanneer het programma wordt gestart. De standaardwaarde is ''.

Comment
Gegevenstype: String

Toegangstype: Lezen/schrijven

Kwalificatie: Geen

Opmerking waarin het programma in de Configuration Manager-console wordt beschreven. De standaardwaarde is ''.

DependentProgram
Gegevenstype: String

Toegangstype: Lezen/schrijven

Kwalificatie: Geen

Een opgemaakte tekenreeks die een programma definieert dat moet worden uitgevoerd voordat dit programma wordt uitgevoerd. De indeling wordt gedefinieerd als <PackageID>;;<ProgramName>. Als het programma zich in hetzelfde pakket bevindt, kan de aanroepende toepassing gewoon opgeven;;<ProgramName>. De standaardwaarde is ''.

De afhankelijkheid wordt alleen gehandhaafd voor de eerste keer dat het programma wordt uitgevoerd. Nadat het programma is uitgevoerd, wordt de afhankelijkheid genegeerd. U kunt bijvoorbeeld geen terugkerende geplande taak maken waarvoor de afhankelijkheid wordt gehandhaafd voor elke uitvoering van het programma.

Description
Gegevenstype: String

Toegangstype: Lezen/schrijven

Kwalificatie: Geen

Niet gebruikt.

DeviceFlags
Gegevenstype: UInt32

Toegangstype: Lezen/schrijven

Kwalificatie: Geen

Vlaggen die het apparaat beschrijven dat aan het programma is gekoppeld. Mogelijke waarden zijn:

Hexadecimaal (bit) Beschrijving
0x01000000 (24) Wijs altijd een programma toe aan de client.
0x02000000 (25) Wijs alleen toe als het apparaat momenteel is verbonden met een verbinding met hoge bandbreedte (standaard hoger dan 60 KBps).
0x04000000 (26) Wijs alleen toe als het apparaat is gekoppeld aan een bureaublad dat Gebruikmaakt van ActiveSync.

DiskSpaceReq
Gegevenstype: String

Toegangstype: Lezen/schrijven

Kwalificatie: Geen

Geschatte schijfruimte die het programma nodig heeft. De notatie is '<grootte><KB|MB|GB>'. De standaardwaarde is ''.

Deze informatie wordt gebruikt in de Configuration Manager-console en de advertentie om waarschuwingen te geven over de schijfruimtevereisten van het programma. De gebruiker kan vervolgens besluiten de advertentie te accepteren of eerst een schijfbeheertaak uit te voeren.

DriveLetter
Gegevenstype: String

Toegangstype: Lezen/schrijven

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

Stationsletter (één teken in het bereik a-z) waaraan het programma is toegewezen en van waaruit het programma wordt uitgevoerd. De standaardwaarde is ''.

Duration
Gegevenstype: UInt32

Toegangstype: Lezen/schrijven

Kwalificatie: Geen

De geschatte duur, in minuten, van de uitvoering van het programma op de clientcomputer. Geef deze waarde op als een geheel getal groter dan of gelijk aan 0 (standaard) of als Onbekend (niet aanbevolen). Als de eigenschap is ingesteld op Onbekend, stelt Configuration Manager de maximaal toegestane uitvoeringstijd in op 720 minuten (12 uur). Zie de sectie Opmerkingen verderop in dit onderwerp voor meer informatie.

Opmerking

Op clientcomputers wordt de opgegeven waarde voor gepubliceerde programma's weergegeven in Run Advertised Programs Configuratiescherm.

ExtendedData
Gegevenstype: UInt8 Matrix

Toegangstype: Lezen/schrijven

Kwalificatie: [groot, lui]

De XML-blob voor installatiekopieënimplementatie.

ExtendedDataSize
Gegevenstype: UInt32

Toegangstype: Lezen/schrijven

Kwalificatie: [lui]

De uitgebreide gegevensgrootte, in bytes. De standaardwaarde is 0.

Icon
Gegevenstype: UInt8 Matrix

Toegangstype: Lezen/schrijven

Kwalificatie: [groot]

Pictogramgegevens die zijn gekoppeld aan het programmapictogram, zoals weergegeven in de Configuration Manager-console.

IconSize
Gegevenstype: UInt32

Toegangstype: Lezen/schrijven

Kwalificatie: [lui]

Grootte, in bytes, van het programmapictogram. Stel deze eigenschap in op 0 om het pictogram te wissen.

ISVData
Gegevenstype: UInt8 Matrix

Toegangstype: Lezen/schrijven

Kwalificatie: [groot, lui]

Informatie waarmee één ISV gegevens met betrekking tot een SMS_Program object kan opslaan.

Er zijn geen beperkingen of gedefinieerde indelingen voor de ISV-gegevens. Het is echter belangrijk om de eigenschap niet te overschrijven nadat het eigendom van de ISV is vastgesteld. Uw toepassing moet eerst de bestaande gegevens in deze eigenschap lezen. Als de gegevens niet tot de toepassing behoren, mag deze niet worden gewijzigd. U moet een id opnemen in de gegevens voor het programma, zodat het eigendom eenvoudig kan worden vastgesteld.

ISVDataSize
Gegevenstype: UInt32

Toegangstype: Lezen/schrijven

Kwalificatie: [lui]

De grootte, in bytes, van de gegevens die zijn opgeslagen in ISVData. De standaardwaarde is 0.

ISVString
Gegevenstype: String

Toegangstype: Lezen/schrijven

Kwalificatie: geen

Tekenreeks voor uitbreidbaarheid van partners.

MSIFilePath
Gegevenstype: String

Toegangstype: Lezen/schrijven

Kwalificatie: Geen

Het bestandspad van het Windows Installer-pakket waaraan het programma is gekoppeld. De standaardwaarde is ''.

MSIProductID
Gegevenstype: String

Toegangstype: Lezen/schrijven

Kwalificatie: Geen

De product-id van het Windows Installer-pakket waaraan het programma is gekoppeld. De standaardwaarde is ''.

PackageID
Gegevenstype: String

Toegangstype: Lezen/schrijven

Kwalificatie: [sleutel, Not_null]

Id van een bestaand pakket waaraan het programma moet worden gekoppeld. Zie de sectie Opmerkingen verderop in dit onderwerp voor meer informatie.

PackageName
Gegevenstype: String

Toegangstype: Lezen/schrijven

Kwalificatie: [Geen]

De naam van het pakket waartoe het programma behoort.

PackageType
Gegevenstype: String

Toegangstype: Lezen/schrijven

Kwalificatie: [Geen]

Het type pakket waartoe het programma behoort.

Waarde Beschrijving
0 Reguliere softwaredistributiepakket.
3 Stuurprogrammapakket.
4 Takenreekspakket.
5 Software-updatepakket.
6 Pakket voor apparaatinstellingen.
257 Installatiekopieënpakket.
258 Opstartinstallatiekopiepakket.
259 Installatiepakket van het besturingssysteem.

PackageVersion
Gegevenstype: String

Toegangstype: Lezen/schrijven

Kwalificatie: [Geen]

De versie van het pakket waartoe het programma behoort.

ProgramFlags
Gegevenstype: UInt32

Toegangstype: Lezen/schrijven

Kwalificatie: [bits]

Vlaggen waarmee de installatiekenmerken van het programma worden geïdentificeerd. Mogelijke waarden worden hieronder vermeld. De standaardwaarden zijn EVERYUSER, USEUNCPATH, USERCONTEXT en UNATTENDED.

Opmerking

Wanneer u programmatisch gebruikt SMS_Program , moet u ervoor zorgen dat er geen conflicterende waarden zijn geselecteerd. NOUSERLOGGEDIN en USERCONTEXT mogen bijvoorbeeld niet samen worden gebruikt.

Mogelijke waarden zijn:

Hexadecimaal (bit) Beschrijving
0x00000001 (0) AUTHORIZED_DYNAMIC_INSTALL. Het programma is geautoriseerd voor dynamische installatie.
0x00000002 (1) USECUSTOMPROGRESSMSG. In de takenreeks wordt een bericht over de gebruikersinterface van de aangepaste voortgang weergegeven.
0x00000010 (4) DEFAULT_PROGRAM. Dit is een standaardprogramma
0x00000020 (5) DISABLEMOMALERTONRUNNING. Hiermee schakelt u MOM-waarschuwingen uit terwijl het programma wordt uitgevoerd.
0x00000040 (6) MOMALERTONFAIL. Hiermee wordt een MOM-waarschuwing gegenereerd als het programma mislukt.
0x00000080 (7) RUN_DEPENDANT_ALWAYS. Als dit is ingesteld, moet de directe afhankelijke van dit programma altijd worden uitgevoerd.
0x00000100 (8) WINDOWS_CE. Geeft een apparaatprogramma aan. Als dit is ingesteld, wordt het programma niet aangeboden aan desktopclients.
0x00000200 (9) Deze waarde wordt niet gebruikt.
0x00000400 (10) COUNTDOWN. Het dialoogvenster Aftellen wordt niet weergegeven.
0x00000800 (11) FORCERERUN. Deze waarde wordt niet gebruikt.
0x00001000 (12) HANDICAP. Het programma is uitgeschakeld.
0x00002000 (13) INSTALLATIE ZONDER TOEZICHT. Het programma vereist geen gebruikersinteractie.
0x00004000 (14) USERCONTEXT. Het programma kan alleen worden uitgevoerd wanneer een gebruiker is aangemeld.
0x00008000 (15) ADMINRIGHTS. Het programma moet worden uitgevoerd als het lokale administrator-account.
0x00010000 (16) ELKE GEBRUIKER. Het programma moet worden uitgevoerd door elke gebruiker voor wie het geldig is. Alleen geldig voor verplichte taken.
0x00020000 (17) NOUSERLOGGEDIN. Het programma wordt alleen uitgevoerd wanneer er geen gebruiker is aangemeld.
0x00040000 (18) OKTOQUIT. Het programma start de computer opnieuw op.
0x00080000 (19) OKTOREBOOT. Configuration Manager start de computer opnieuw op wanneer het programma is voltooid.
0x00100000 (20) USEUNCPATH. Gebruik een UNC-pad (geen stationsletter) om toegang te krijgen tot het distributiepunt.
0x00200000 (21) PERSISTCONNECTION. Hiermee blijft de verbinding met het station behouden dat is opgegeven in de eigenschap DriveLetter. De bitvlag USEUNCPATH mag niet worden ingesteld.
0x00400000 (22) RUNMINIMIZED. Voer het programma uit als een geminimaliseerd venster.
0x00800000 (23) RUNMAXIMIZED. Voer het programma uit als een gemaximaliseerd venster.
x01000000 (24) HIDEWINDOW. Het programmavenster verbergen.
0x02000000 (25) OKTOLOGOFF. Gebruiker afmelden wanneer het programma is voltooid.
0x04000000 (26) RUNACCOUNT. Deze waarde wordt niet gebruikt.
0x08000000 (27) ANY_PLATFORM. Controle op platformondersteuning overschrijven.
0x10000000 (28) STILL_RUNNING. Deze waarde wordt niet gebruikt.
0x20000000 (29) SUPPORT_UNINSTALL. Voer verwijderen uit vanaf de registersleutel wanneer de advertentie verloopt.
0x40000000 (30) Het platform wordt niet ondersteund.
0x80000000 (31) SHOW_IN_ARP. Deze waarde wordt niet gebruikt.

ProgramName
Gegevenstype: String

Toegangstype: Lezen/schrijven

Kwalificatie: [sleutel, Not_null]

Unieke naam die dit programma vertegenwoordigt.

RemovalKey
Gegevenstype: String

Toegangstype: Lezen/schrijven

Kwalificatie: Geen

Registersleutel waarmee het verwijderingsscript voor het programma wordt geïdentificeerd. Het script moet zich in het HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall registerpad bevinden. De standaardwaarde is ''.

Requirements
Gegevenstype: String

Toegangstype: Lezen/schrijven

Kwalificatie: Geen

Beschrijving van eventuele extra vereisten van het programma. De standaardwaarde is ''.

SecuredTypeID
Gegevenstype: UInt32

Toegangstype: Lezen/schrijven

Kwalificatie: [Geen]

Beveiligd type gerelateerd pakket.

SupportedOperatingSystems
Gegevenstype: SMS_OS_Details Matrix

Toegangstype: Lezen/schrijven

Kwalificatie: [lui]

SMS_OS_Details WMI-klasse-objecten van de server die de besturingssystemen vertegenwoordigen waarop het programma kan worden uitgevoerd.

Als u geen ANY_PLATFORM opgeeft in de ProgramFlags eigenschap, moet u een of meer ondersteunde besturingssystemen opgeven. SMS_SupportedPlatforms Server WMI-klasse definieert de lijst met platforms die Configuration Manager ondersteunt.

TransformAnalysisDate
Gegevenstype: DateTime

Toegangstype: Lezen/schrijven

Kwalificatie: [Geen]

Alleen voor intern gebruik.

TransformDtID
Gegevenstype: String

Toegangstype: Lezen/schrijven

Kwalificatie: [Geen]

Alleen voor intern gebruik.

TransformReadiness
Gegevenstype: UInt32

Toegangstype: Lezen/schrijven

Kwalificatie: [Geen]

Alleen voor intern gebruik.

WorkingDirectory
Gegevenstype: String

Toegangstype: Lezen/schrijven

Kwalificatie: Geen

De locatie van waaruit het programma wordt uitgevoerd. De standaardwaarde is ''.

De werkmap kan een absoluut pad op de client zijn of een pad ten opzichte van de distributiepuntmap die het pakket bevat. Als er geen werkmap is opgegeven, gebruikt Configuration Manager de standaarddistributiepuntmap.

Opmerkingen

Er zijn geen speciale klassenkwalificaties voor deze klasse. Zie Configuration Manager Class en Property Qualifiers voor meer informatie over zowel de klassekwalificaties als de eigenschappen die zijn opgenomen in de sectie Eigenschappen.

Een programma is altijd gekoppeld aan een bovenliggend pakket en vertegenwoordigt doorgaans het installatieprogramma voor het pakket. Er kunnen meerdere programma's aan hetzelfde pakket worden gekoppeld. De toepassing gebruikt de PackageID eigenschap om deze koppeling te maken. Deze eigenschap kan niet worden gewijzigd nadat het SMS_Program object is gemaakt. Als u het programma aan een ander pakket wilt koppelen, moet de toepassing het object verwijderen en een nieuw object met een nieuwe PackageID waarde maken.

Wanneer uw toepassing een SMS_Program object verwijdert, wordt het pas verwijderd wanneer de gerelateerde onderdelen, zoals de advertenties, zijn verwijderd. In plaats daarvan stelt Configuration Manager de ActionInProgress eigenschap in op DELETE (3) om het programma te markeren voor verwijdering. Voeg deze case toe aan de WHERE-component om ervoor te zorgen dat een query geen programma's ophaalt die zijn gemarkeerd voor verwijdering.

Belangrijk

Als u onderhoudsvensters gebruikt voor de verzameling waarop het programma wordt uitgevoerd, kan er een conflict optreden als de waarde van de Duration eigenschap langer is dan het geplande onderhoudsvenster. Als deze eigenschap is ingesteld op Onbekend, wordt het programma gestart tijdens het onderhoudsvenster, maar blijft het actief totdat het is voltooid of mislukt nadat het onderhoudsvenster is gesloten.

Het is raadzaam de Duration eigenschap niet in te stellen op Onbekend, omdat deze eigenschap wordt gebruikt voor de volgende twee belangrijke doeleinden:

  • Om de resultaten van het programma te bewaken.

  • Bepalen of het programma wordt gestart wanneer onderhoudsvensters zijn gedefinieerd op de clientcomputers.

    Als uw toepassing de eigenschap instelt, maar de Duration uitvoeringstijd van het programma deze duur overschrijdt, stopt Configuration Manager met het bewaken van het programma, maar wordt het programma niet beëindigd. Hierdoor kunnen Configuration Manager doorgaan met andere softwaredistributiefuncties, zoals het uitvoeren van andere geadverteerde programma's. De manager doet het volgende niet:

  • Stop het programma.

  • Gratis alle stations die zijn toegewezen voor het geadverteerde programma.

  • Gratis netwerkverbindingen die zijn gemaakt voor het geadverteerde programma.

  • Gratis besturingssysteemresources die worden gebruikt door Configuration Manager wanneer geadverteerde programma's worden uitgevoerd.

    Zie Over onderhoudsvensters voor meer informatie.

Vereisten

Runtimevereisten

Zie runtimevereisten voor Configuration Manager server voor meer informatie.

Ontwikkelingsvereisten

Zie vereisten voor Configuration Manager serverontwikkeling voor meer informatie.

Zie ook

WMI-klasse SMS_Package-server
Een pakket maken
Een programma maken