classe WMI SMS_Program Server

La SMS_Program classe WMI (Windows Management Instrumentation) est une classe de serveur du fournisseur SMS, en Configuration Manager, qui représente un programme ou une commande à exécuter lorsque le logiciel est distribué à un ordinateur client.

La syntaxe suivante est simplifiée à partir du code MOF (Managed Object Format) et inclut toutes les propriétés héritées.

Syntaxe

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;  
};  

Méthodes

La SMS_Program classe ne définit aucune méthode.

Propriétés

ActionInProgress
Type de donnéesUInt32

Type d’accès : en lecture seule

Qualificateurs : [read, énumération]

Action en cours d’exécution sur le package associé au programme par Configuration Manager. Les valeurs possibles sont les suivantes :

Valeur Description
0 AUCUN
1 METTRE À JOUR
2 Ajouter
3 SUPPRIMER

Utilisez cette propriété dans une clause WHERE pour filtrer les programmes qui ont été marqués pour suppression mais qui n’ont pas encore été supprimés. Pour plus d’informations, consultez la section Remarques plus loin dans cette rubrique.

ApplicationHierarchy
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : Aucun

Hiérarchie d’applications pour le programme. La valeur par défaut est « ».

CommandLine
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : Aucun

Ligne de commande qui s’exécute au démarrage du programme. La valeur par défaut est « ».

Comment
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : Aucun

Commentaire décrivant le programme dans la console Configuration Manager. La valeur par défaut est « ».

DependentProgram
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : Aucun

Chaîne de texte mise en forme définissant tout programme qui doit être exécuté avant l’exécution de ce programme. Le format est défini en tant que <PackageID>;;< ProgramName>. Si le programme se trouve dans le même package, l’application appelante peut simplement spécifier ;;< ProgramName>. La valeur par défaut est « ».

La dépendance est conservée uniquement pour la première fois que le programme s’exécute. Une fois le programme exécuté, la dépendance est ignorée. Par exemple, vous ne pouvez pas créer un travail planifié périodique pour lequel la dépendance est conservée pour chaque exécution du programme.

Description
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : Aucun

Non utilisé.

DeviceFlags
Type de donnéesUInt32

Type d’accès : Lecture/écriture

Qualificateurs : Aucun

Indicateurs décrivant l’appareil associé au programme. Les valeurs possibles sont les suivantes :

Hexadécimal (bit) Description
0x01000000 (24) Affectez toujours le programme au client.
0x02000000 (25) Affectez uniquement si l’appareil est actuellement connecté à une connexion à bande passante élevée (par défaut au-dessus de 60 Kbits/s).
0x04000000 (26) Attribuez uniquement si l’appareil est ancré, c’est-à-dire qu’il est attaché à un bureau qui utilise ActiveSync.

DiskSpaceReq
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : Aucun

Espace disque approximatif requis par le programme. Le format est «< size><KB| Mo| GO> ». La valeur par défaut est « ».

Ces informations sont utilisées dans la console Configuration Manager et la publication pour fournir des alertes sur les besoins en espace disque du programme. L’utilisateur peut alors décider d’accepter la publication ou d’effectuer d’abord une tâche de gestion des disques.

DriveLetter
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : [SizeLimit(« 1 »), Range(« a-z »)]

Lettre de lecteur (un caractère dans la plage a-z) à laquelle le programme est mappé et à partir de laquelle s’exécute. La valeur par défaut est « ».

Duration
Type de donnéesUInt32

Type d’accès : Lecture/écriture

Qualificateurs : Aucun

Durée approximative, en minutes, de l’exécution du programme sur l’ordinateur client. Spécifiez cette valeur sous la forme d’un nombre entier supérieur ou égal à 0 (valeur par défaut) ou Inconnu (non recommandé). Si la propriété est définie sur Unknown, Configuration Manager définit la durée d’exécution maximale autorisée sur 720 minutes (12 heures). Pour plus d’informations, consultez la section Remarques plus loin dans cette rubrique.

Remarque

Sur les ordinateurs clients, la valeur spécifiée pour les programmes publiés apparaît dans Run Advertised Programs Panneau de configuration.

ExtendedData
Type de données : UInt8 Tableau

Type d’accès : Lecture/écriture

Qualificateurs : [large, paresseux]

Objet blob XML pour le déploiement d’images.

ExtendedDataSize
Type de donnéesUInt32

Type d’accès : Lecture/écriture

Qualificateurs : [paresseux]

Taille des données étendues, en octets. La valeur par défaut est 0.

Icon
Type de données : UInt8 Tableau

Type d’accès : Lecture/écriture

Qualificateurs : [large]

Informations d’icône associées à l’icône du programme, telles qu’affichées dans la console Configuration Manager.

IconSize
Type de donnéesUInt32

Type d’accès : Lecture/écriture

Qualificateurs : [paresseux]

Taille, en octets, de l’icône du programme. Définissez cette propriété sur 0 pour effacer l’icône.

ISVData
Type de données : UInt8 Tableau

Type d’accès : Lecture/écriture

Qualificateurs : [large, paresseux]

Informations qui permettent à un éditeur de logiciels indépendant de stocker des données relatives à un SMS_Program objet.

Il n’existe aucune restriction ni format défini pour les données isv. Toutefois, il est important de ne pas remplacer la propriété une fois la propriété ISV établie. Votre application doit d’abord lire les données existantes dans cette propriété. Si les données n’appartiennent pas à l’application, elles ne doivent pas être modifiées. Vous devez inclure un identificateur dans les données du programme afin que la propriété puisse être établie facilement.

ISVDataSize
Type de donnéesUInt32

Type d’accès : Lecture/écriture

Qualificateurs : [paresseux]

Taille, en octets, des données stockées dans ISVData. La valeur par défaut est 0.

ISVString
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : aucun

Chaîne pour l’extensibilité du partenaire.

MSIFilePath
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : Aucun

Chemin d’accès du package Windows Installer auquel le programme est associé. La valeur par défaut est « ».

MSIProductID
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : Aucun

ID de produit du package Windows Installer auquel le programme est associé. La valeur par défaut est « ».

PackageID
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : [key, Not_null]

ID d’un package existant auquel associer le programme. Pour plus d’informations, consultez la section Remarques plus loin dans cette rubrique.

PackageName
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : [None]

Nom du package auquel appartient le programme.

PackageType
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : [None]

Type du package auquel appartient le programme.

Valeur Description
0 Package de distribution de logiciels standard.
3 Package de pilotes.
4 Package de séquence de tâches.
5 Package de mise à jour logicielle.
6 Package de paramètres d’appareil.
257 Package d’image.
258 Package d’image de démarrage.
259 Package d’installation du système d’exploitation.

PackageVersion
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : [None]

Version du package auquel appartient le programme.

ProgramFlags
Type de donnéesUInt32

Type d’accès : Lecture/écriture

Qualificateurs : [bits]

Indicateurs identifiant les caractéristiques d’installation du programme. Les valeurs possibles sont répertoriées ci-dessous. Les valeurs par défaut sont EVERYUSER, USEUNCPATH, USERCONTEXT et UNATTENDED.

Remarque

Lors de l’utilisation SMS_Program par programmation, assurez-vous qu’aucune valeur en conflit n’est sélectionnée. Par exemple, NOUSERLOGGEDIN et USERCONTEXT ne doivent pas être utilisés ensemble.

Les valeurs possibles sont les suivantes :

Hexadécimal (bit) Description
0x00000001 (0) AUTHORIZED_DYNAMIC_INSTALL. Le programme est autorisé pour l’installation dynamique.
0x00000002 (1) USECUSTOMPROGRESSMSG. La séquence de tâches affiche un message d’interface utilisateur de progression personnalisée.
0x00000010 (4) DEFAULT_PROGRAM. Il s’agit d’un programme par défaut
0x00000020 (5) DISABLEMOMALERTONRUNNING. Désactive les alertes MOM pendant l’exécution du programme.
0x00000040 (6) MOMALERTONFAIL. Génère une alerte MOM en cas d’échec du programme.
0x00000080 (7) RUN_DEPENDANT_ALWAYS. S’il est défini, le dépendant immédiat de ce programme doit toujours être exécuté.
0x00000100 (8) WINDOWS_CE. Indique un programme d’appareil. S’il est défini, le programme n’est pas proposé aux clients de bureau.
0x00000200 (9) Cette valeur n’est pas utilisée.
0x00000400 (10) COUNTDOWN. La boîte de dialogue compte à rebours n’est pas affichée.
0x00000800 (11) FORCERERUN. Cette valeur n’est pas utilisée.
0x00001000 (12) HANDICAPÉS. Le programme est désactivé.
0x00002000 (13) SANS ASSISTANCE. Le programme ne nécessite aucune interaction de l’utilisateur.
0x00004000 (14) USERCONTEXT. Le programme peut s’exécuter uniquement lorsqu’un utilisateur est connecté.
0x00008000 (15) ADMINRIGHTS. Le programme doit être exécuté en tant que compte administrateur local.
0x00010000 (16) EVERYUSER. Le programme doit être exécuté par chaque utilisateur pour lequel il est valide. Valide uniquement pour les travaux obligatoires.
0x00020000 (17) NOUSERLOGGEDIN. Le programme est exécuté uniquement lorsqu’aucun utilisateur n’est connecté.
0x00040000 (18) OKTOQUIT. Le programme redémarre l’ordinateur.
0x00080000 (19) OKTOREBOOT. Configuration Manager redémarre l’ordinateur lorsque le programme a terminé son exécution.
0x00100000 (20) USEUNCPATH. Utilisez un chemin d’accès UNC (sans lettre de lecteur) pour accéder au point de distribution.
0x00200000 (21) PERSISTCONNECTION. Conserve la connexion au lecteur spécifié dans la propriété DriveLetter. L’indicateur de bits USEUNCPATH ne doit pas être défini.
0x00400000 (22) RUNMINIMIZED. Exécutez le programme en tant que fenêtre réduite.
0x00800000 (23) RUNMAXIMIZED. Exécutez le programme en tant que fenêtre agrandie.
x01000000 (24) HIDEWINDOW. Masquer la fenêtre du programme.
0x02000000 (25) OKTOLOGOFF. Déconnectez l’utilisateur lorsque le programme se termine correctement.
0x04000000 (26) RUNACCOUNT. Cette valeur n’est pas utilisée.
0x08000000 (27) ANY_PLATFORM. Remplacer la vérification de la prise en charge de la plateforme.
0x10000000 (28) STILL_RUNNING. Cette valeur n’est pas utilisée.
0x20000000 (29) SUPPORT_UNINSTALL. Exécutez la désinstallation à partir de la clé de Registre lorsque la publication expire.
0x40000000 (30) La plateforme n’est pas prise en charge.
0x80000000 (31) SHOW_IN_ARP. Cette valeur n’est pas utilisée.

ProgramName
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : [key, Not_null]

Nom unique qui représente ce programme.

RemovalKey
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : Aucun

Clé de Registre qui identifie le script de désinstallation du programme. Le script doit résider dans le chemin du HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall Registre. La valeur par défaut est « ».

Requirements
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : Aucun

Description des exigences supplémentaires du programme. La valeur par défaut est « ».

SecuredTypeID
Type de donnéesUInt32

Type d’accès : Lecture/écriture

Qualificateurs : [None]

Type sécurisé de package associé.

SupportedOperatingSystems
Type de données : SMS_OS_Details Tableau

Type d’accès : Lecture/écriture

Qualificateurs : [paresseux]

SMS_OS_Details Objets de classe WMI server représentant les systèmes d’exploitation sur lesquels le programme peut s’exécuter.

Si vous ne spécifiez pas ANY_PLATFORM dans la ProgramFlags propriété, vous devez spécifier un ou plusieurs systèmes d’exploitation pris en charge. SMS_SupportedPlatforms Server WMI Class définit la liste des plateformes prises en charge par Configuration Manager.

TransformAnalysisDate
Type de donnéesDateTime

Type d’accès : Lecture/écriture

Qualificateurs : [None]

À usage interne uniquement.

TransformDtID
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : [None]

À usage interne uniquement.

TransformReadiness
Type de donnéesUInt32

Type d’accès : Lecture/écriture

Qualificateurs : [None]

À usage interne uniquement.

WorkingDirectory
Type de donnéesString

Type d’accès : Lecture/écriture

Qualificateurs : Aucun

Emplacement à partir duquel le programme s’exécute. La valeur par défaut est « ».

Le répertoire de travail peut être un chemin d’accès absolu sur le client ou un chemin d’accès relatif au dossier du point de distribution qui contient le package. Si aucun répertoire de travail n’est spécifié, Configuration Manager utilise le dossier de point de distribution par défaut.

Remarques

Il n’existe aucun qualificateur de classe spécial pour cette classe. Pour plus d’informations sur les qualificateurs de classe et les qualificateurs de propriété inclus dans la section Propriétés, consultez Configuration Manager Qualificateurs de classe et de propriété.

Un programme est toujours associé à un package parent et représente généralement le programme d’installation du package. Notez que plusieurs programmes peuvent être associés au même package. L’application utilise la PackageID propriété pour établir cette association. Votre application ne peut pas modifier cette propriété après la création de l’objet SMS_Program . Pour associer le programme à un autre package, l’application doit supprimer l’objet et créer un nouvel objet avec une nouvelle PackageID valeur.

Lorsque votre application supprime un SMS_Program objet, il n’est pas supprimé tant que ses composants associés, tels que ses publicités, n’ont pas été supprimés. Au lieu de cela, Configuration Manager définit la ActionInProgress propriété sur DELETE (3) pour marquer le programme pour suppression. Pour vous assurer qu’une requête ne récupère pas les programmes qui ont été marqués pour suppression, ajoutez ce cas à la clause WHERE.

Importante

Si vous utilisez des fenêtres de maintenance pour le regroupement sur lequel le programme est exécuté, un conflit peut se produire si la valeur de la Duration propriété est supérieure à la fenêtre de maintenance planifiée. Si cette propriété est définie sur Inconnu, le programme démarre pendant la fenêtre de maintenance, mais continue à s’exécuter jusqu’à ce qu’il se termine ou échoue une fois la fenêtre de maintenance fermée.

Il est recommandé de ne pas définir la propriété sur Duration Unknown, car cette propriété est utilisée pour les deux objectifs importants suivants :

  • Pour surveiller les résultats du programme.

  • Pour déterminer si le programme sera lancé lorsque des fenêtres de maintenance ont été définies sur les ordinateurs clients.

    Si votre application définit la propriété mais que le Duration temps d’exécution du programme dépasse cette durée, Configuration Manager arrête la surveillance du programme, mais n’arrête pas le programme. Cela permet aux Configuration Manager de continuer avec d’autres fonctions de distribution de logiciels, telles que l’exécution d’autres programmes publiés. Le responsable ne :

  • Arrêtez le programme.

  • Libérez tous les lecteurs qui ont été mappés pour le programme publié.

  • Libérez toutes les connexions réseau effectuées pour le programme publié.

  • Ressources de système d’exploitation gratuites utilisées par Configuration Manager lorsque les programmes publiés sont en cours d’exécution.

    Pour plus d’informations, consultez À propos des Fenêtres de maintenance.

Configuration requise

Configuration requise pour l’exécution

Pour plus d’informations, consultez Configuration Manager Server Runtime Requirements.

Conditions requises pour le développement

Pour plus d’informations, consultez Configuration Manager Server Development Requirements.

Voir aussi

Classe WMI du serveur SMS_Package
Guide pratique pour créer un package
Guide pratique pour créer un programme