J'apprends PowerShell 2.0 sur Windows 7.PowerShell: comment obtenir des informations détaillées sur un événement WMI?
Ma tâche est simple: je veux écouter un événement WMI et ensuite afficher quelques informations à son sujet.
Voici ce que je fais actuellement:
Register-WmiEvent -class win32_ProcessStartTrace -sourceIdentifier processStart
Wait-Event
Il semble fonctionner. En effet, je reçois quand je commence un processus:
ComputerName :
RunspaceId : bb0f38b9-2f2e-4f7c-98ec-ec3811e8e601
EventIdentifier : 11
Sender : System.Management.ManagementEventWatcher
SourceEventArgs : System.Management.EventArrivedEventArgs
SourceArgs : {System.Management.ManagementEventWatcher, System.Management.EventArrivedEventArgs}
SourceIdentifier : processStart
TimeGenerated : 26/09/2009 15:19:25
MessageData :
Le problème est, je ne sais pas comment obtenir des informations détaillées sur l'événement. Par exemple, comment obtenir le nom du processus qui vient de démarrer? Idéalement, je voudrais quelque chose comme ceci:
__GENUS : 2
__CLASS : Win32_ProcessStartTrace
__SUPERCLASS : Win32_ProcessTrace
__DYNASTY : __SystemClass
__RELPATH :
__PROPERTY_COUNT : 7
__DERIVATION : {Win32_ProcessTrace, Win32_SystemTrace, __ExtrinsicEvent, __Event...}
__SERVER :
__NAMESPACE :
__PATH :
ParentProcessID : 1480
ProcessID : 6860
ProcessName : notepad++.exe
SECURITY_DESCRIPTOR :
SessionID : 1
Sid : {1, 5, 0, 0...}
TIME_CREATED : 128984449371986347
je peux obtenir les informations ci-dessus quand je fais
(get-event).sender.waitfornextevent()
Mais, de toute évidence, ce n'est pas vraiment ce que j'avais à l'esprit - je ne veux pas pour attendre un autre événement, je veux des infos sur l'actuel.
Merci beaucoup, j'ai ma réponse maintenant. Je dois utiliser "$ Event.SourceEventArgs.NewEvent", qui contient toutes les informations dont j'ai besoin. –