Bonjour, je rencontre actuellement un problème , lors que j'essaye d'obtenir le CPU d'un process winword en passant par le code :
$numeroID = (get-process "winword").id (correctement renseigné)
Get-WmiObject -class Win32_PerfFormattedData_PerfProc_Process -filter "IDProcess ='$numeroID'"
cette ligne me retourne une erreur :
Get-WmiObject : Classe non valide « Win32_PerfFormattedData_PerfProc_Process » Au caractère Ligne:1 : 1 + Get-WmiObject -class Win32_PerfFormattedData_PerfProc_Process -filter ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidType: (:) [Get-WmiObject], ManagementException + FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
a d'autre moment avec toujours la meme ligne de commande , il me retourne des informations mais je me retrouve avec un ProcessID à zéro donc impossible de faire le lien avec $numeroID qui lui est bien renseigné.
retour dans powershell : _
_GENUS : 2
__CLASS : Win32_PerfFormattedData_PerfProc_Process
__SUPERCLASS : Win32_PerfFormattedData __DYNASTY : CIM_StatisticalInformation __RELPATH : Win32_PerfFormattedData_PerfProc_Process.Name="WINWORD" __PROPERTY_COUNT : 35 __DERIVATION : {Win32_PerfFormattedData, Win32_Perf, CIM_StatisticalInformation} __SERVER : MAMACHINE __NAMESPACE : root\cimv2 __PATH : \MAMACHINE\root\cimv2:Win32_PerfFormattedData_PerfProc_Process.Name="WINWORD" Caption : CreatingProcessID : 3936 Description : ElapsedTime : XXXX Frequency_Object : Frequency_PerfTime : Frequency_Sys100NS : HandleCount : XXX IODataBytesPersec : 0 IODataOperationsPersec : 0 IOOtherBytesPersec : 0 IOOtherOperationsPersec : 0 IOReadBytesPersec : 0 IOReadOperationsPersec : 0 IOWriteBytesPersec : 0 IOWriteOperationsPersec : 0
Name : WINWORD
PageFaultsPersec : 0 PageFileBytes : XXXXXX PercentPrivilegedTime : 0
PercentProcessorTime : 0
PercentUserTime : 0 PoolNonpagedBytes : XXXXX PoolPagedBytes : XXXXX PriorityBase : 8 PrivateBytes : XXXXXXX
ProcessID : 0
ThreadCount : 9 Timestamp_Object : Timestamp_PerfTime : Timestamp_Sys100NS : VirtualBytes : XXXXXX WorkingSet : XXXXXXX WorkingSetPeak : XXXXXXX WorkingSetPrivate : XXXXXX
PSComputerName : MAMACHINE
les XXXXXX sont des valeurs numériques , le processID est à zero donc impossible de retrouver son CPU , que ce soit avec un filtre "IDProcess ='$numeroID'" ou "Name = 'WINWORD'"
je ne sais plus quoi faire
j'ai deja plusieurs fois essayer de reparer le WMI , rien n'y fait , l'erreur de classe introuvable apparait de facon random sans vraiment savoir pourquoi , parfois elle existe parfois non , et quand elle est bien retrouvé , le processID est à 0 a la place de la valeur obtenu a l'aide de cette ligne :
(get-process "winword").id
merci de votre retour Mon PC est un windows server 2016 64 bits