Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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ées: UInt32
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ées: String
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ées: String
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ées: String
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ées: String
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ées: String
Type d’accès : Lecture/écriture
Qualificateurs : Aucun
Non utilisé.
DeviceFlags Type de données: UInt32
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ées: String
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ées: String
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ées: UInt32
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ées: UInt32
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ées: UInt32
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ées: UInt32
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ées: String
Type d’accès : Lecture/écriture
Qualificateurs : aucun
Chaîne pour l’extensibilité du partenaire.
MSIFilePath Type de données: String
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ées: String
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ées: String
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ées: String
Type d’accès : Lecture/écriture
Qualificateurs : [None]
Nom du package auquel appartient le programme.
PackageType Type de données: String
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ées: String
Type d’accès : Lecture/écriture
Qualificateurs : [None]
Version du package auquel appartient le programme.
ProgramFlags Type de données: UInt32
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) | COMPTE À REBOURS. La boîte de dialogue compte à rebours ne s’affiche pas. |
| 0x00000800 (11) | FORCERERUN. Cette valeur n’est pas utilisée. |
| 0x00001000 (12) | HANDICAPÉ. 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 (aucune 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. Remplacez case activée pour 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ées: String
Type d’accès : Lecture/écriture
Qualificateurs : [key, Not_null]
Nom unique qui représente ce programme.
RemovalKey Type de données: String
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ées: String
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ées: UInt32
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 Les 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ées: DateTime
Type d’accès : Lecture/écriture
Qualificateurs : [None]
À usage interne uniquement.
TransformDtID Type de données: String
Type d’accès : Lecture/écriture
Qualificateurs : [None]
À usage interne uniquement.
TransformReadiness Type de données: UInt32
Type d’accès : Lecture/écriture
Qualificateurs : [None]
À usage interne uniquement.
WorkingDirectory Type de données: String
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. 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é une fois l’objet SMS_Program créé. 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 connexes, 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
Durationtemps 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 établies 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
SMS_Package Server WMI ClassHow to Create a PackageHow to Create a Program