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