Win32_Process, classe
La classe WMI Win32_Process représente un processus sur un système d’exploitation.
La syntaxe suivante est simplifiée par rapport au code MOF (Managed Object Format) et inclut toutes les propriétés héritées.
Notes
Pour une discussion générale sur les processus et les threads dans Windows, consultez la rubrique Processus et threads.
Syntaxe
[Dynamic, Provider("CIMWin32"), SupportsCreate, CreateBy("Create"), SupportsDelete, DeleteBy("DeleteInstance"), UUID("{8502C4DC-5FBB-11D2-AAC1-006008C78BC7}"), DisplayName("Processes"), AMENDMENT]
class Win32_Process : CIM_Process
{
string CreationClassName;
string Caption;
string CommandLine;
datetime CreationDate;
string CSCreationClassName;
string CSName;
string Description;
string ExecutablePath;
uint16 ExecutionState;
string Handle;
uint32 HandleCount;
datetime InstallDate;
uint64 KernelModeTime;
uint32 MaximumWorkingSetSize;
uint32 MinimumWorkingSetSize;
string Name;
string OSCreationClassName;
string OSName;
uint64 OtherOperationCount;
uint64 OtherTransferCount;
uint32 PageFaults;
uint32 PageFileUsage;
uint32 ParentProcessId;
uint32 PeakPageFileUsage;
uint64 PeakVirtualSize;
uint32 PeakWorkingSetSize;
uint32 Priority;
uint64 PrivatePageCount;
uint32 ProcessId;
uint32 QuotaNonPagedPoolUsage;
uint32 QuotaPagedPoolUsage;
uint32 QuotaPeakNonPagedPoolUsage;
uint32 QuotaPeakPagedPoolUsage;
uint64 ReadOperationCount;
uint64 ReadTransferCount;
uint32 SessionId;
string Status;
datetime TerminationDate;
uint32 ThreadCount;
uint64 UserModeTime;
uint64 VirtualSize;
string WindowsVersion;
uint64 WorkingSetSize;
uint64 WriteOperationCount;
uint64 WriteTransferCount;
};
Membres
La classe Win32_Process comporte les types de membres suivants :
Méthodes
La classe Win32_Process a ces méthodes.
Méthode | Description |
---|---|
AttachDebugger | Lance le débogueur actuellement inscrit pour un processus. |
Créer | Crée un processus. |
GetAvailableVirtualSize | Récupère la taille actuelle, en octets, de l’espace d’adressage virtuel libre disponible pour le processus. Windows Server 2012, Windows 8, Windows 7, Windows Server 2008 et Windows Vista : cette méthode n’est pas prise en charge avant Windows 8.1 et Windows Server 2012 R2. |
GetOwner | Récupère le nom d’utilisateur et le nom de domaine sous lesquels le processus s’exécute. |
GetOwnerSid | Récupère l’identificateur de sécurité (SID) du propriétaire d’un processus. |
SetPriority | Modifie la priorité d’exécution d’un processus. |
Terminate | Termine un processus et tous ses threads. |
Propriétés
La classe Win32_Process possède ces propriétés.
-
Caption
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : MaxLen (64), DisplayName (« Caption »)
Brève description d’un objet : une chaîne d’une ligne.
Cette propriété est héritée de CIM_ManagedSystemElement.
-
-
CommandLine
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : DisplayName (« Ligne de commande pour démarrer le processus »)
Ligne de commande utilisée pour démarrer un processus spécifique, le cas échéant.
-
-
CreationClassName
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : CIM_Key, MaxLen (256), DisplayName (« Nom de classe »)
Nom de la classe ou de la sous-classe utilisée dans la création d’un instance. Lorsqu’elle est utilisée avec d’autres propriétés de clé de la classe, cette propriété permet à toutes les instances de la classe et à ses sous-classes d’être identifiées de manière unique.
Cette propriété est héritée de CIM_Process.
-
-
CreationDate
-
-
Type de données : datetime
-
Type d'accès : Lecture seule
-
Qualificateurs : Fixed, DisplayName (« CreationDate »)
Date de début de l’exécution du processus.
Cette propriété est héritée de CIM_Process.
-
-
CSCreationClassName
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : propagé (« CIM_OperatingSystem. CSCreationClassName »), CIM_Key, MaxLen (256), DisplayName (« Nom de classe système de l’ordinateur »)
Nom de la classe de création du système informatique d’étendue.
Cette propriété est héritée de CIM_Process.
-
-
CSName
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : propagé (« CIM_OperatingSystem. CSName « ), CIM_Key, MaxLen (256), DisplayName (« Nom du système de l’ordinateur »)
Nom du système informatique d’étendue.
Cette propriété est héritée de CIM_Process.
-
-
Description
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : DisplayName (« Description »)
Description d’un objet.
Cette propriété est héritée de CIM_ManagedSystemElement.
-
-
ExecutablePath
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : Privilèges (« SeDebugPrivilege »), MappingStrings (« Win32API | Structures d’aide de l’outil | MODULEENTRY32|szExePath »), DisplayName (« Chemin exécutable »)
Chemin d’accès au fichier exécutable du processus.
Exemple : « C:\Windows\System\Explorer.Exe »
-
-
ExecutionState
-
-
Type de données : uint16
-
Type d'accès : Lecture seule
-
Qualificateurs : DisplayName (« État d’exécution »)
Condition de fonctionnement actuelle du processus.
Cette propriété est héritée de CIM_Process.
-
-
Inconnu (0)
-
Unknown
-
Autre (1)
-
Autres
-
Prêt (2)
-
En cours d’exécution (3)
-
Bloqué (4)
-
Bloqué
-
Suspendu bloqué (5)
-
Suspendu prêt (6)
-
Terminé (7)
-
Arrêté (8)
-
Croissance (9)
Handle
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : Key, MaxLen (256), DisplayName (« Handle »)
Identificateur de processus.
Cette propriété est héritée de CIM_Process.
HandleCount
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| État du processus| SYSTEM_PROCESS_INFORMATION| HandleCount »), DisplayName (« Handle Count »)
Nombre total de handles ouverts appartenant au processus. HandleCount est la somme des handles actuellement ouverts par chaque thread de ce processus. Un handle est utilisé pour examiner ou modifier les ressources système. Chaque handle a une entrée dans une table qui est gérée en interne. Les entrées contiennent les adresses des ressources et des données permettant d’identifier le type de ressource.
InstallDate
-
Type de données : datetime
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« MIF. DMTF| ComponentID|001.5 »), DisplayName (« Date d’installation »)
Date d’installation d’un objet. L’objet peut être installé sans qu’une valeur soit écrite dans cette propriété.
Cette propriété est héritée de CIM_ManagedSystemElement.
KernelModeTime
-
Type de données : uint64
-
Type d'accès : Lecture seule
-
Qualificateurs : Override (« KernelModeTime »), Units (« 100 nanoseconds »)
Temps en mode noyau, en millisecondes. Si ces informations ne sont pas disponibles, utilisez la valeur 0 (zéro).
Pour plus d’informations sur l’utilisation de valeurs uint64 dans des scripts, voir Scripts dans WMI.
MaximumWorkingSetSize
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : Privilèges (« SeDebugPrivilege »), MappingStrings (« Win32 | WINNT. H| QUOTA_LIMITS| MaximumWorkingSetSize »), DisplayName (« Taille maximale du jeu de travail »), Units (« kilo-octets »)
Taille maximale du jeu de travail du processus. L’ensemble de travail d’un processus est l’ensemble de pages mémoire visibles par le processus dans la RAM physique. Ces pages sont résidentes et peuvent être utilisées par une application sans déclencher d’erreur de page.
Exemple : 1413120
MinimumWorkingSetSize
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : Privilèges (« SeDebugPrivilege »), MappingStrings (« Win32 | WINNT. H| QUOTA_LIMITS| MinimumWorkingSetSize), DisplayName (« Taille minimale du jeu de travail »), Units (« kilo-octets »)
Taille minimale du jeu de travail du processus. L’ensemble de travail d’un processus est l’ensemble de pages mémoire visibles par le processus dans la RAM physique. Ces pages résident et peuvent être utilisées par une application sans déclencher de défaillance de page.
Exemple : 20480
Nom
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : DisplayName (« Name »)
Nom du fichier exécutable responsable du processus, équivalent à la propriété Nom de l’image dans le Gestionnaire des tâches.
En cas d’héritage par une sous-classe, la propriété peut être remplacée pour être une propriété de clé. Le nom est codé en dur dans l’application elle-même et n’est pas affecté par la modification du nom de fichier. Par exemple, même si vous renommez Calc.exe, le nom Calc.exe s’affiche toujours dans le Gestionnaire des tâches et dans tous les scripts WMI qui récupèrent le nom du processus.
Cette propriété est héritée de CIM_ManagedSystemElement.
OSCreationClassName
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : propagé (« CIM_OperatingSystem. CreationClassName »), CIM_Key, MaxLen (256), DisplayName (« Nom de classe de système d’exploitation »)
Nom de la classe de création du système d’exploitation d’étendue.
Cette propriété est héritée de CIM_Process.
OSName
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : propagé (« CIM_OperatingSystem. Nom »), CIM_Key, MaxLen (256), DisplayName (« Nom du système d’exploitation »)
Nom du système d’exploitation d’étendue.
Cette propriété est héritée de CIM_Process.
OtherOperationCount
-
Type de données : uint64
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de processus et de threads | SYSTEM_PROCESS_INFORMATION| OtherOperationCount »), DisplayName (« Other Operation Count »)
Nombre d’opérations d’E/S effectuées qui ne sont pas des opérations de lecture ou d’écriture.
Pour plus d’informations sur l’utilisation de valeurs uint64 dans des scripts, voir Scripts dans WMI.
OtherTransferCount
-
Type de données : uint64
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de processus et de threads | SYSTEM_PROCESS_INFORMATION| OtherTransferCount »), DisplayName (« Other Transfer Count »), Units (« bytes »)
Quantité de données transférées pendant des opérations qui ne sont pas des opérations de lecture ou d’écriture.
Pour plus d’informations sur l’utilisation de valeurs uint64 dans des scripts, voir Scripts dans WMI.
PageFaults
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| État du processus| SYSTEM_PROCESS_INFORMATION| PageFaultCount »), DisplayName (« nombre d’erreurs de page »)
Nombre d’erreurs de page générées par un processus.
Exemple : 10
PageFileUsage
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| État du processus| SYSTEM_PROCESS_INFORMATION| PagefileUsage »), DisplayName (« Utilisation du fichier de page »), Unités (« kilo-octets »)
Quantité d’espace de fichier de page qu’un processus utilise actuellement. Cette valeur est cohérente avec la valeur VMSize dans TaskMgr.exe.
Exemple : 102435
ParentProcessId
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| État du processus| SYSTEM_PROCESS_INFORMATION| InheritedFromUniqueProcessId »), DisplayName (« Parent Process ID »)
Identificateur unique du processus qui crée un processus. Les numéros d’identificateur de processus étant réutilisés, ils identifient uniquement un processus pendant la durée de vie de ce processus. Il est possible que le processus identifié par ParentProcessId soit terminé, de sorte que ParentProcessId peut ne pas faire référence à un processus en cours d’exécution. Il est également possible que ParentProcessId fasse référence incorrectement à un processus qui réutilise un identificateur de processus. Vous pouvez utiliser la propriété CreationDate pour déterminer si le parent spécifié a été créé après le processus représenté par ce Win32_Process instance a été créé.
PeakPageFileUsage
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| État du processus | SYSTEM_PROCESS_INFORMATION| PeakPagefileUsage »), DisplayName (« Pic d’utilisation du fichier de page »), Units (« kilo-octets »)
Quantité maximale d’espace de fichier de page utilisée pendant la durée d’un processus.
Exemple : 102367
PeakVirtualSize
-
Type de données : uint64
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| État du processus | SYSTEM_PROCESS_INFORMATION| PeakVirtualSize »), DisplayName (« Pic d’utilisation de l’espace d’adressage viruel »), Unités (« octets »)
Espace d’adressage virtuel maximal qu’un processus utilise à tout moment. L’utilisation de l’espace d’adressage virtuel n’implique pas nécessairement l’utilisation correspondante de disques ou de pages de mémoire main. Toutefois, l’espace virtuel est limité et, en utilisant trop, le processus peut ne pas être en mesure de charger des bibliothèques.
Pour plus d’informations sur l’utilisation de valeurs uint64 dans des scripts, voir Scripts dans WMI.
PeakWorkingSetSize
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| État du processus | SYSTEM_PROCESS_INFORMATION| PeakWorkingSetSize »), DisplayName (« Peak Working Set Size »), Units (« kilo-octets »)
Taille maximale de l’ensemble de travail d’un processus.
Exemple : 1413120
Priorité
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : Remplacer (« Priorité »), MappingStrings (« Win32API| État du processus | SYSTEM_PROCESS_INFORMATION| BasePriority « ), DisplayName (« Priority »)
Priorité de planification d’un processus dans un système d’exploitation. Plus la valeur est élevée, plus un processus reçoit une priorité élevée. Les valeurs de priorité peuvent varier de 0 (zéro), qui est la priorité la plus faible à 31, qui est la priorité la plus élevée.
Exemple : 7
PrivatePageCount
-
Type de données : uint64
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| État du processus | SYSTEM_PROCESS_INFORMATION| PrivatePageCount »), DisplayName (« Private Page Count »)
Nombre actuel de pages allouées qui ne sont accessibles qu’au processus représenté par ce Win32_Process instance.
Pour plus d’informations sur l’utilisation de valeurs uint64 dans des scripts, voir Scripts dans WMI.
Processid
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de processus et de threads | PROCESS_INFORMATION|dwProcessId »), DisplayName (« ID de processus »)
Identificateur numérique utilisé pour distinguer un processus d’un autre. Les ID de processus sont valides depuis le moment de la création du processus jusqu’à l’arrêt du processus. À l’arrêt, ce même identificateur numérique peut être appliqué à un nouveau processus.
Cela signifie que vous ne pouvez pas utiliser ProcessID seul pour surveiller un processus particulier. Par exemple, une application peut avoir un ProcessID de 7, puis échouer. Lorsqu’un nouveau processus est démarré, le nouveau processus peut se voir attribuer ProcessID 7. Un script qui a vérifié uniquement un ProcessID spécifié peut donc être « trompé » en pensant que l’application d’origine était toujours en cours d’exécution.
QuotaNonPagedPoolUsage
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| État du processus | SYSTEM_PROCESS_INFORMATION| QuotaNonPagedPoolUsage »), DisplayName (« Quota d’utilisation du pool non paginé »)
Quantité de quota d’utilisation du pool non paginé pour un processus.
Exemple : 15
QuotaPagedPoolUsage
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| État du processus | SYSTEM_PROCESS_INFORMATION| QuotaPagedPoolUsage »), DisplayName (« Quota d’utilisation du pool paginé »)
Quantité de quota d’utilisation du pool paginé pour un processus.
Exemple : 22
QuotaPeakNonPagedPoolUsage
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| État du processus | SYSTEM_PROCESS_INFORMATION| QuotaPeakNonPagedPoolUsage »), DisplayName (« Quota d’utilisation de pool non paginé de pointe »)
Quantité maximale de quota d’utilisation du pool non paginé pour un processus.
Exemple : 31
QuotaPeakPagedPoolUsage
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| État du processus | SYSTEM_PROCESS_INFORMATION| QuotaPeakPagedPoolUsage »), DisplayName (« Quota d’utilisation du pool paginé de pointe »)
Quantité maximale de quota d’utilisation du pool paginé pour un processus.
Exemple : 31
ReadOperationCount
-
Type de données : uint64
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de processus et de threads | SYSTEM_PROCESS_INFORMATION| ReadOperationCount »), DisplayName (« Nombre d’opérations en lecture »)
Nombre d’opérations de lecture effectuées.
Pour plus d’informations sur l’utilisation de valeurs uint64 dans des scripts, voir Scripts dans WMI.
ReadTransferCount
-
Type de données : uint64
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de processus et de threads | SYSTEM_PROCESS_INFORMATION| ReadTransferCount »), DisplayName (« Nombre de transferts en lecture »), Unités (« octets »)
Quantité de données lues.
Pour plus d’informations sur l’utilisation de valeurs uint64 dans des scripts, voir Scripts dans WMI.
SessionId
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| État du processus | SYSTEM_PROCESS_INFORMATION| SessionId »), DisplayName (« ID de session »)
Identificateur unique généré par un système d’exploitation lors de la création d’une session. Une session s’étend sur une période comprise entre l’ouverture de session et la déconnexion à partir d’un système spécifique.
État
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : MaxLen (10), DisplayName (« Status »)
Cette propriété n’est pas implémentée et n’est renseignée pour aucune instance de cette classe. Elle est toujours NULL.
Cette propriété est héritée de CIM_ManagedSystemElement.
Les valeurs sont notamment les suivantes :
OK (« OK »)
Erreur (« Erreur »)
Dégradé (« Dégradé »)
Inconnu (« Inconnu »)
Échec du prédé (« Échec anticipé »)
Démarrage (« Démarrage »)
Arrêt (« Arrêt »)
Service (« Service »)
Stressé (« Stressé »)
NonRecover (« NonRecover »)
Aucun contact (« Aucun contact »)
Lost Comm (« Lost Comm »)
TerminationDate
-
Type de données : datetime
-
Type d'accès : Lecture seule
-
Qualificateurs : DisplayName (« Date de fin »)
Le processus a été arrêté ou arrêté. Pour obtenir l’heure d’arrêt, un handle du processus doit être maintenu ouvert. Sinon, cette propriété renvoie null.
Cette propriété est héritée de CIM_Process.
ThreadCount
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| État du processus| SYSTEM_PROCESS_INFORMATION| NumberOfThreads »), DisplayName (« Nombre de threads »)
Nombre de threads actifs dans un processus. Une instruction est l’unité d’exécution de base dans un processeur, et un thread est l’objet qui exécute une instruction. Chaque processus en cours d’exécution a au moins un thread.
UserModeTime
-
Type de données : uint64
-
Type d'accès : Lecture seule
-
Qualificateurs : Override (« UserModeTime »), Units (« 100 nanoseconds »)
Temps en mode utilisateur, en unités de 100 nanosecondes. Si ces informations ne sont pas disponibles, utilisez la valeur 0 (zéro).
Pour plus d’informations sur l’utilisation de valeurs uint64 dans des scripts, voir Scripts dans WMI.
VirtualSize
-
Type de données : uint64
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| État du processus| SYSTEM_PROCESS_INFORMATION| VirtualSize »), DisplayName (« Utilisation de l’espace d’adressage virtuel »), Unités (« octets »)
Taille actuelle de l’espace d’adressage virtuel qu’un processus utilise, et non la mémoire physique ou virtuelle réellement utilisée par le processus. L’utilisation de l’espace d’adressage virtuel n’implique pas nécessairement l’utilisation correspondante de pages de disque ou de mémoire main. L’espace virtuel est limité et, en utilisant trop, le processus peut ne pas être en mesure de charger des bibliothèques. Cette valeur est cohérente avec ce que vous voyez dans Perfmon.exe.
Pour plus d’informations sur l’utilisation de valeurs uint64 dans des scripts, voir Scripts dans WMI.
WindowsVersion
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Fonctions de processus et de thread | GetProcessVersion »), DisplayName (« Version Windows »)
Version de Windows dans laquelle le processus est en cours d’exécution.
Exemple : 4.0
WorkingSetSize
-
Type de données : uint64
-
Type d'accès : Lecture seule
-
Qualificateurs : DisplayName (« Taille du jeu de travail »), Unités (« octets »)
Quantité de mémoire en octets dont un processus a besoin pour s’exécuter efficacement, pour un système d’exploitation qui utilise la gestion de la mémoire basée sur les pages. Si le système n’a pas suffisamment de mémoire (inférieure à la taille du jeu de travail), un battage se produit. Si la taille du jeu de travail n’est pas connue, utilisez NULL ou 0 (zéro). Si des données de jeu de travail sont fournies, vous pouvez surveiller les informations pour comprendre les besoins en mémoire changeants d’un processus.
Pour plus d’informations sur l’utilisation de valeurs uint64 dans des scripts, voir Scripts dans WMI.
Cette propriété est héritée de CIM_Process.
WriteOperationCount
-
Type de données : uint64
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de processus et de threads | SYSTEM_PROCESS_INFORMATION| WriteOperationCount »), DisplayName (« Nombre d’opérations d’écriture »)
Nombre d’opérations d’écriture effectuées.
Pour plus d’informations sur l’utilisation de valeurs uint64 dans des scripts, voir Scripts dans WMI.
WriteTransferCount
-
Type de données : uint64
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32API| Structures de processus et de threads | SYSTEM_PROCESS_INFORMATION| WriteTransferCount « ), DisplayName (« Nombre de transferts d’écriture »), Unités (« octets »)
Quantité de données écrites.
Pour plus d’informations sur l’utilisation de valeurs uint64 dans des scripts, voir Scripts dans WMI.
Notes
La classe Win32_Process est dérivée de CIM_Process. Le processus appelant qui utilise cette classe doit avoir le privilège SE_RESTORE_NAME sur l’ordinateur sur lequel réside le Registre. Pour plus d’informations, consultez Exécution d’opérations privilégiées.
Vue d’ensemble
Les processus sous-tendent presque tout ce qui se passe sur un ordinateur. En fait, la cause racine de la plupart des problèmes informatiques peut être tracée dans les processus; par exemple, un trop grand nombre de processus peut être en cours d’exécution sur un ordinateur (et se disputer pour un ensemble fini de ressources), ou un seul processus peut utiliser plus que sa part de ressources. Ces facteurs rendent important de garder un watch étroit sur les processus en cours d’exécution sur un ordinateur. La surveillance des processus, l’activité main dans la gestion des processus, vous permet de déterminer ce que fait réellement un ordinateur, quelles applications l’ordinateur exécute et comment ces applications sont affectées par les modifications apportées à l’environnement informatique.
Surveillance d’un processus
La surveillance régulière des processus vous permet de vous assurer qu’un ordinateur s’exécute à un maximum d’efficacité et qu’il exécute ses tâches nommées comme prévu. Par exemple, en surveillant les processus, vous pouvez être averti immédiatement de toute application qui a cessé de répondre, puis prendre des mesures pour mettre fin à ce processus. En outre, la surveillance des processus vous permet d’identifier les problèmes avant qu’ils ne se produisent. Par exemple, en vérifiant à plusieurs reprises la quantité de mémoire utilisée par un processus, vous pouvez identifier une fuite de mémoire. Vous pouvez ensuite arrêter le processus avant que l’application errante utilise toute la mémoire disponible et arrête l’ordinateur.
La surveillance des processus permet également de réduire les interruptions causées par les pannes planifiées pour les mises à niveau et la maintenance. Par exemple, en vérifiant la status d’une application de base de données s’exécutant sur des ordinateurs clients, vous pouvez déterminer l’impact de la mise hors connexion de la base de données afin de mettre à niveau le logiciel.
Surveillance de la disponibilité des processus. Mesure le pourcentage de temps pendant lequel un processus est disponible. La disponibilité est généralement surveillée à l’aide d’une sonde simple, qui indique si le processus est toujours en cours d’exécution. En effectuant le suivi des résultats de chaque sonde, vous pouvez calculer la disponibilité du processus. Par exemple, un processus qui est sondé 100 fois et qui répond à 95 de ces occasions a une disponibilité de 95 %. Ce type de surveillance est généralement réservé aux bases de données, aux programmes de messagerie et aux autres applications qui sont censés s’exécuter à tout moment. Il n’est pas approprié pour les programmes de traitement de texte, les feuilles de calcul ou d’autres applications qui sont régulièrement démarrées et arrêtées plusieurs fois par jour.
Vous pouvez créer une instance de la classe Win32_ProcessStartup pour configurer le processus.
Vous pouvez surveiller les performances des processus avec la classe Win32_PerfFormattedData_PerfProc_Process et un objet d’actualisation WMI, tel que SWbemRefresher. Pour plus d’informations, consultez Supervision des données de performances.
Exemples
L’exemple de code PowerShell List the Properties of WMI Classes sur TechNet Gallery décrit la classe Win32_Process et affiche les résultats au format Excel.
Le processus Terminer l’exécution sur plusieurs serveurs met fin à un processus en cours d’exécution sur un ou plusieurs ordinateurs.
Dans la rubrique Exemple : appel d’une méthode de fournisseur , le code utilise C++ pour appeler Win32_Process afin de créer un processus.
La disponibilité est la forme la plus simple de surveillance des processus : avec cette approche, vous vous assurez simplement que le processus est en cours d’exécution. Lorsque vous surveillez la disponibilité des processus, vous récupérez généralement une liste de processus en cours d’exécution sur un ordinateur, puis vous vérifiez qu’un processus particulier est toujours actif. Si le processus est actif, il est considéré comme disponible. Si le processus n’est pas actif, il n’est pas disponible. L’exemple VBScript suivant surveille la disponibilité des processus en vérifiant la liste des processus en cours d’exécution sur un ordinateur et en émettant une notification si le processus Database.exe est introuvable.
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'Database.exe'")
If colProcesses.Count = 0 Then
Wscript.Echo "Database.exe is not running."
Else
Wscript.Echo "Database.exe is running."
End If
L’exemple VBScript suivant surveille la création de processus à l’aide d’un consommateur d’événements temporaire.
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService.ExecNotificationQuery("SELECT * FROM __InstanceCreationEvent " _
& "WITHIN 10 WHERE TargetInstance ISA 'Win32_Process'")
i = 0
Do While i = 0
Set objLatestProcess = colMonitoredProcesses.NextEvent
Wscript.Echo objLatestProcess.TargetInstance.Name, Now
Loop
Le VBScript suivant analyse les informations de performances du processus.
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("SELECT * FROM Win32_Process")
For Each objProcess in colProcessList
Wscript.Echo "Process: " & objProcess.Name
Wscript.Echo "Process ID: " & objProcess.ProcessID
Wscript.Echo "Thread Count: " & objProcess.ThreadCount
Wscript.Echo "Page File Size: " & objProcess.PageFileUsage
Wscript.Echo "Page Faults: " & objProcess.PageFaults
Wscript.Echo "Working Set Size: " & objProcess.WorkingSetSize
Next
L’exemple de code VBScript suivant montre comment obtenir le propriétaire de chaque processus sur un ordinateur local. Vous pouvez utiliser ce script pour obtenir des données à partir d’un ordinateur distant, par exemple, pour déterminer quels utilisateurs ont des processus exécutant le serveur Terminal Server. Remplacez le nom de l’ordinateur distant par « » dans la première ligne. Vous devez également être administrateur sur l’ordinateur distant.
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("select * from win32_process" )
For Each objProcess in colProcesses
If objProcess.GetOwner ( User, Domain ) = 0 Then
Wscript.Echo "Process " & objProcess.Caption & " belongs to " & Domain & "\" & User
Else
Wscript.Echo "Problem " & Rtn & " getting the owner for process " & objProcess.Caption
End If
Next
L’exemple de code VBScript suivant montre comment obtenir la session d’ouverture de session associée à un processus en cours d’exécution. Un processus doit être en cours d’exécution Notepad.exe avant le démarrage du script. L’exemple localise les instances de Win32_LogonSession associées au Win32_Process qui représente Notepad.exe. Win32_SessionProcess est spécifié en tant que classe d’association. Pour plus d’informations, consultez ASSOCIATORS OF Statement..
On error resume next
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'Notepad.exe'")
For Each objProcess in colProcesses
ProcessId = objProcess.ProcessId
Set colLogonSessions = objWMIService.ExecQuery("Associators of {Win32_Process='" & ProcessId & "'} " _
& "Where Resultclass = Win32_LogonSession Assocclass = Win32_SessionProcess", "WQL", 48)
If Err <> 0 Then
WScript.Echo "Error on associators query= " & Err.number & " " & Err.Description
WScript.Quit
End If
For Each LogonSession in colLogonSessions
Wscript.Echo " Logon id is " & LogonSession.LogonId
Next
Next
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows Vista |
Serveur minimal pris en charge |
Windows Server 2008 |
Espace de noms |
Racine\CIMV2 |
MOF |
|
DLL |
|
Voir aussi