Classe WMI SMS_Program Server

La SMS_Program classe Windows Management Instrumentation (WMI) est une classe de serveur fournisseur SMS, dans Configuration Manager, qui représente un programme ou une commande à exécuter lors de la distribution d’un logiciel sur 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 : Lecture seule

Qualificatifs : [lire, é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

Qualificatifs : Aucun

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

CommandLine Type de données : String

Type d’accès : Lecture/écriture

Qualificatifs : 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

Qualificatifs : 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

Qualificatifs : Aucun

Chaîne de texte mise en forme définissant un programme devant être exécuté avant d’exécuter ce programme. Le format est défini comme suit < : PackageID> ;;<Nom du> programme. Si le programme est dans le même paquet, l’application appelante peut simplement spécifier ;;<Nom du> programme. La valeur par défaut est «  ».

La dépendance est conservée uniquement 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 une tâche planifiée récurrente pour laquelle la dépendance est maintenue pour chaque exécution du programme.

Description Type de données : String

Type d’accès : Lecture/écriture

Qualificatifs : Aucun

Non utilisé.

DeviceFlags Type de données : UInt32

Type d’accès : Lecture/écriture

Qualificatifs : Aucun

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

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

DiskSpaceReq Type de données : String

Type d’accès : Lecture/écriture

Qualificatifs : Aucun

Espace disque approximatif requis par le programme. Le format est "<taille><KB|MB|GB".> La valeur par défaut est «  ».

Ces informations sont utilisées dans la console du Configuration Manager et dans la publication pour fournir des alertes sur l’espace disque requis du programme. L’utilisateur peut alors décider d’accepter l’annonce 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) à partir de laquelle le programme est mappé et à partir de là. La valeur par défaut est «  ».

Duration Type de données : UInt32

Type d’accès : Lecture/écriture

Qualificatifs : 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 (par défaut) ou comme inconnu (déconseillé). Si la propriété est définie sur Inconnu, le 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 le Panneau de configuration.

ExtendedData Type de données : UInt8 tableau

Type d’accès : Lecture/écriture

Qualificatifs : [large, paresseux]

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

ExtendedDataSize Type de données : UInt32

Type d’accès : Lecture/écriture

Qualificatifs : [paresseux]

Taille de données étendue, 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 sur l’icône du programme associées à l’icône du programme, telles qu’elles sont affichées dans la console du Configuration Manager.

IconSize Type de données : UInt32

Type d’accès : Lecture/écriture

Qualificatifs : [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

Qualificatifs : [large, paresseux]

Des informations qui permettent à un seul éditeur de logiciels indépendant de stocker les données relatives à un SMS_Program objet.

Il n’existe aucune restriction ni format défini pour les données ISV. Cependant, il est important de ne pas écraser la propriété une fois que la propriété de l’ISV a été é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 identifiant 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

Qualificatifs : [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

Qualificatifs : aucun

Chaîne pour l’extensibilité des partenaires.

MSIFilePath Type de données : String

Type d’accès : Lecture/écriture

Qualificatifs : Aucun

Chemin d’accès au fichier 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

Qualificatifs : 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 : [Aucun]

Nom du package auquel le programme appartient.

PackageType Type de données : String

Type d’accès : Lecture/écriture

Qualificateurs : [Aucun]

Type du package auquel le programme appartient.

Valeur Description
0 Package de distribution de logiciels régulier.
3 Package de pilotes.
4 Package de séquence de tâches.
5 Package de mise à jour logicielle.
6 Package de réglage de l’appareil.
257 Package d’images.
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 : [Aucun]

Version du package auquel le programme appartient.

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 énumérées ci-dessous. Les valeurs par défaut sont EVERYUSER, USEUNCPATH, USERCONTEXT et UNATTENDED.

Remarque

Lors d’une 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 une 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. Si elle est définie, la dépendance immédiate de ce programme doit toujours être exécutée.
0x00000100 (8) WINDOWS_CE. Indique un programme d’appareil. Si cette option est définie, 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 de compte à rebours ne s’affiche pas.
0x00000800 (11) FORCERERUN. Cette valeur n’est pas utilisée.
0x00001000 (12) DÉSACTIVÉ. Le programme est désactivé.
0x00002000 (13) SANS SURVEILLANCE. Le programme ne nécessite aucune interaction de l’utilisateur.
0x00004000 (14) USERCONTEXT. Ce programme ne peut s’exécuter que quand un utilisateur est connecté.
0x00008000 (15) DROITS D’ADMINISTRATEUR. Le programme doit être exécuté en tant que compte Administrateur local.
0x00010000 (16) TOUT LE MONDE. Le programme doit être exécuté par tous les utilisateurs pour lesquels il est valide. Valide uniquement pour les emplois obligatoires.
0x00020000 (17) NOUSERLOGGEDIN. Le programme n’est exécuté que si aucun utilisateur n’est connecté.
0x00040000 (18) OKTOQUIT. Le programme redémarre l’ordinateur.
0x00080000 (19) OKTOREBOOT. Configuration Manager redémarre l’ordinateur lorsque l’exécution du programme est terminée.
0x00100000 (20) USEUNCPATH. Utilisez un chemin 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) RUNMINIMISÉ. Exécuter le programme en tant que fenêtre réduite.
0x00800000 (23) RUNMAXIMIZED. Exécuter le programme en tant que fenêtre agrandie.
x01000000 (24) FENÊTRE MASQUÉE. Masquer la fenêtre du programme.
0x02000000 (25) OKTOLOGOFF. Déconnecter l’utilisateur lorsque le programme se termine avec succès.
0x04000000 (26) COMPTE.EXÉCUTION. Cette valeur n’est pas utilisée.
0x08000000 (27) ANY_PLATFORM. Remplacer la 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 dès l’expiration de la publication.
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

Qualificatifs : Aucun

Clé de Registre qui identifie le script de désinstallation pour le programme. Le script doit résider dans le chemin d’accès au 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

Qualificatifs : Aucun

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

SecuredTypeID Type de données : UInt32

Type d’accès : Lecture/écriture

Qualificateurs : [Aucun]

Type sécurisé de colis associé.

SupportedOperatingSystems Type de données : SMS_OS_Details tableau

Type d’accès : Lecture/écriture

Qualificatifs : [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 ANY_PLATFORM dans la ProgramFlags propriété, vous devez spécifier un ou plusieurs systèmes d’exploitation pris en charge. SMS_SupportedPlatforms classe WMI Server définit la liste des plates-formes que Configuration Manager prend en charge.

TransformAnalysisDate Type de données : DateTime

Type d’accès : Lecture/écriture

Qualificateurs : [Aucun]

À usage interne uniquement.

TransformDtID Type de données : String

Type d’accès : Lecture/écriture

Qualificateurs : [Aucun]

À usage interne uniquement.

TransformReadiness Type de données : UInt32

Type d’accès : Lecture/écriture

Qualificateurs : [Aucun]

À usage interne uniquement.

WorkingDirectory Type de données : String

Type d’accès : Lecture/écriture

Qualificatifs : 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’y a pas de qualifications spéciales pour cette classe. Pour plus d’informations sur les qualificateurs de classe et de propriété inclus dans la section Propriétés, voir Qualificateurs de classe et de propriété du Configuration Manager.

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 faire 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 objet avec une nouvelle PackageID valeur.

Lorsque votre application supprime un SMS_Program objet, elle n’est pas supprimée tant que ses composants associés, tels que ses publicités, ne sont pas 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 marqués pour suppression, ajoutez ce cas à la clause WHERE.

Importante

Si vous utilisez des fenêtres de maintenance pour la collection sur laquelle le programme est exécuté, un conflit peut se produire si la valeur de la Duration propriété est plus longue que 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 de s’exécuter jusqu’à ce qu’il se termine ou échoue après la fermeture de la fenêtre de maintenance.

Il est recommandé de ne pas définir la Duration propriété sur Inconnu, car cette propriété est utilisée à deux fins importantes suivantes :

  • Surveiller les résultats du programme.

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

    Si votre application définit la propriété mais que la Duration durée d’exécution du programme dépasse cette durée, le Gestionnaire de Configuration Manager cesse de surveiller le programme, mais ne le met pas fin. Cela permet à Configuration Manager de continuer avec d’autres fonctions de distribution de logiciels, telles que l’exécution d’autres programmes publiés. Le gestionnaire ne :

  • Arrêter le programme.

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

  • Libérez toutes les connexions réseau établies pour le programme annoncé.

  • Ressources de système d’exploitation gratuites utilisées par Configuration Manager lors de l’exécution de programmes publiés.

    Pour plus d’informations, reportez-vous à À propos des fenêtres de maintenance.

Configuration requise

Configuration requise pour l’exécution

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

Configuration requise pour le développement

Pour plus d’informations, consultez Configuration requise pour le développement du serveur Configuration Manager.

Voir aussi

Classe WMI SMS_Package ServerProcédure pour créer un packageProcédure pour créer un programme