<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Deviations : Powershell</title><link>http://blogs.msdn.com/deviations/archive/tags/Powershell/default.aspx</link><description>Tags: Powershell</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Are you a terminating process? Then please pay the toll…</title><link>http://blogs.msdn.com/deviations/archive/2008/10/06/process-toll-road.aspx</link><pubDate>Mon, 06 Oct 2008 02:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8977356</guid><dc:creator>ptadcs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/deviations/comments/8977356.aspx</comments><wfw:commentRss>http://blogs.msdn.com/deviations/commentrss.aspx?PostID=8977356</wfw:commentRss><description>&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=Calibri&gt;&amp;nbsp; Recently, I had the chance to participate in a performance review of a Line of Business application which dynamically creates portable document files (PDF, in short) which are then sent to the web user over the wire. The process of PDF creation has several steps which include some database querying, some file system operations and then a process is spawn, which is responsible for the creation of the output.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=Calibri&gt;&amp;nbsp; Both the database querying steps and the file system operations can be instrumented to a degree which enables us to measure their performance. However, the high frequency of process spawning and termination makes it hard to figure out the slice of the processing time spent by these processes. Of course, you could measure everything else and then, by subtracting the overall processing time (if available), you’d get a pretty good figure for that matter, assuming no other variables would exist.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp; Fortunately, there seems to be a cool solution for this. As if processes were cars, make them collect a ticket when entering the highway and then paying the &lt;/FONT&gt;&lt;A href="http://en.wikipedia.org/wiki/Toll_road" mce_href="http://en.wikipedia.org/wiki/Toll_road"&gt;&lt;FONT color=#0000ff size=2 face=Calibri&gt;toll&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2&gt;&lt;FONT face=Calibri&gt; when exiting. Great! But who’s the authority and where will you put your plazas? The answer (the same for many, many questions if you’re into IT management) is &lt;B&gt;&lt;A href="http://en.wikipedia.org/wiki/Windows_Management_Instrumentation" mce_href="http://en.wikipedia.org/wiki/Windows_Management_Instrumentation"&gt;&lt;FONT color=#0000ff&gt;Windows Management Instrumentation&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt;. With WMI, not only can you query for the current state of an object in a Windows-based system, but you can also subscribe events such as the creation, modification and deletion of those same objects. By using this mechanism, you’ll have a dynamic view over your system, instead of discrete samples, which would only luckily capture the information you needed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=Calibri&gt;&amp;nbsp; So, how does it work? Well, take a look into the following script and I’ll dive into each fragment, so as to ensure that it may be of use as a template for your specific needs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;Set htProcesses = CreateObject("Scripting.Dictionary")&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;Dim ticket(2)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;Set colMonitoredProcesses = objWMIService. _&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ExecNotificationQuery("select * from __instanceoperationevent " _ &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp; " within 10 where TargetInstance isa 'Win32_Process'")&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;i = 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;Do While i = 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set objLatestEvent = colMonitoredProcesses.NextEvent&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select Case objLatestEvent.Path_.Class&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case "__InstanceCreationEvent"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ticket(0) = objLatestEvent.TargetInstance.ProcessId&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ticket(1) = objLatestEvent.TargetInstance.Name&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ticket(2) = objLatestEvent.TIME_CREATED&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htProcesses.add objLatestProcess.TargetInstance.ProcessId, ticket&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case "__InstanceDeletionEvent"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pid = objLatestEvent.TargetInstance.ProcessId&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if htProcesses.Exists(pid) then&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wscript.echo (htProcesses(pid)(0) &amp;amp; " " &amp;amp; _&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;htProcesses(pid)(1) &amp;amp; " " &amp;amp; _&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htProcesses(pid)(2) &amp;amp; " " &amp;amp; _&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objLatestEvent.TIME_CREATED &amp;amp; " " &amp;amp; _ &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objLatestEvent.TIME_CREATED - htProcesses(pid)(2)) &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Select&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;Loop&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=Calibri&gt;&amp;nbsp; Confused? Well, great! It only means you tried to figure it out. So, let’s dive into it and try to understand the details.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;Set htProcesses = CreateObject("Scripting.Dictionary")&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;Dim ticket(2)&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=Calibri&gt;&amp;nbsp; These two lines instantiate the supporting data model for the script. We’ll be needing both an &lt;B&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/t7zd6etz(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/t7zd6etz(VS.85).aspx"&gt;&lt;FONT color=#0000ff&gt;array&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt; for holding each process data upon creation – getting back to our metaphor, this will be a ticket the driver gets when entering the highway – and a &lt;B&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/x4k5wbx4.aspx" mce_href="http://msdn.microsoft.com/en-us/library/x4k5wbx4.aspx"&gt;&lt;FONT color=#0000ff&gt;hashtable&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt; for keeping all processes information – this would be the highway authority database, with enough information about all cars currently driving through the highway.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;Set colMonitoredProcesses = objWMIService. _&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ExecNotificationQuery("select * from __instanceoperationevent " _ &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp; " within 10 where TargetInstance isa 'Win32_Process'")&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=Calibri&gt;&amp;nbsp; These lines create the connection to WMI, by subscribing the operation events – creation, modification and termination – for Windows processes. Think of it as placing your plazas on every entrance and exit of your highway. In fact, by also subscribing to modification events, you’re also getting information on your cars as they move along the highway. These events will be ignored, as you’ll see. The plazas are placed, we’re set to go!&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;i = 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;Do While i = 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set objLatestEvent = colMonitoredProcesses.NextEvent&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; […]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;Loop&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=Calibri&gt;&amp;nbsp; Here’s the endless loop in which the information is gathered and displayed as output. Of course, the script can be canceled and the loop will end. Next, let’s take a look at the handling of process creation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;Select Case objLatestEvent.Path_.Class&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case "__InstanceCreationEvent"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ticket(0) = objLatestEvent.TargetInstance.ProcessId&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ticket(1) = objLatestEvent.TargetInstance.Name&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ticket(2) = objLatestEvent.TIME_CREATED&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htProcesses.add objLatestEvent.TargetInstance.ProcessId, ticket&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=Calibri&gt;&amp;nbsp; The first line above will decide what the event is about. As you’ve seen, we are subscribing events belonging to the WMI class &lt;B&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa394652(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/aa394652(VS.85).aspx"&gt;&lt;FONT color=#0000ff&gt;__instanceoperationevent&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt;. This class is the superclass of three other classes - &lt;B&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa394649(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/aa394649(VS.85).aspx"&gt;&lt;FONT color=#0000ff&gt;__instancecreationevent&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt;, &lt;B&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa394651(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/aa394651(VS.85).aspx"&gt;&lt;FONT color=#0000ff&gt;__instancemodificationevent&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt; and &lt;B&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa394650(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/aa394650(VS.85).aspx"&gt;&lt;FONT color=#0000ff&gt;__instancedeletionevent&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt; – so we’re, in fact, getting events of these specialized classes. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp; By having the code look into the actual class of the event instance being handled (&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa393780(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/aa393780(VS.85).aspx"&gt;objLatestEvent.Path_.Class&lt;/A&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT size=2&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT face=Calibri&gt;), you can decide what to do with that event. In case of process creation, we need to add the process information to the ticket array. If it is a process termination, the following code will print out the data, along with the time span between creation and termination in nanoseconds. As the process ID is known when it is terminating, we can look it up in the hashtable and extract the information we added when that process was started.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&lt;SPAN style="COLOR: #244061; TEXT-DECORATION: none; mso-themecolor: accent1; mso-themeshade: 128; text-underline: none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case "__InstanceDeletionEvent"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="COLOR: #244061; TEXT-DECORATION: none; mso-themecolor: accent1; mso-themeshade: 128; text-underline: none"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pid = objLatestEvent.TargetInstance.ProcessId&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="COLOR: #244061; TEXT-DECORATION: none; mso-themecolor: accent1; mso-themeshade: 128; text-underline: none"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&lt;SPAN style="COLOR: #244061; TEXT-DECORATION: none; mso-themecolor: accent1; mso-themeshade: 128; text-underline: none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if htProcesses.Exists(pid) then&lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="COLOR: #244061; TEXT-DECORATION: none; mso-themecolor: accent1; mso-themeshade: 128; text-underline: none"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&lt;SPAN style="COLOR: #244061; TEXT-DECORATION: none; mso-themecolor: accent1; mso-themeshade: 128; text-underline: none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wscript.echo (htProcesses(pid)(0) &amp;amp; " " &amp;amp; _&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="COLOR: #244061; TEXT-DECORATION: none; mso-themecolor: accent1; mso-themeshade: 128; text-underline: none"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&lt;SPAN style="COLOR: #244061; TEXT-DECORATION: none; mso-themecolor: accent1; mso-themeshade: 128; text-underline: none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htProcesses(pid)(1) &amp;amp; " " &amp;amp; _&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="COLOR: #244061; TEXT-DECORATION: none; mso-themecolor: accent1; mso-themeshade: 128; text-underline: none"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&lt;SPAN style="COLOR: #244061; TEXT-DECORATION: none; mso-themecolor: accent1; mso-themeshade: 128; text-underline: none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htProcesses(pid)(2) &amp;amp; " " &amp;amp; _&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="COLOR: #244061; TEXT-DECORATION: none; mso-themecolor: accent1; mso-themeshade: 128; text-underline: none"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objLatestEvent.TIME_CREATED &amp;amp; " " &amp;amp; _ &lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="COLOR: #244061; TEXT-DECORATION: none; mso-themecolor: accent1; mso-themeshade: 128; text-underline: none"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&lt;SPAN style="COLOR: #244061; TEXT-DECORATION: none; mso-themecolor: accent1; mso-themeshade: 128; text-underline: none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objLatestEvent.TIME_CREATED - htProcesses(pid)(2)) &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="COLOR: #244061; TEXT-DECORATION: none; mso-themecolor: accent1; mso-themeshade: 128; text-underline: none"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&lt;SPAN style="COLOR: #244061; TEXT-DECORATION: none; mso-themecolor: accent1; mso-themeshade: 128; text-underline: none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="COLOR: #244061; TEXT-DECORATION: none; mso-themecolor: accent1; mso-themeshade: 128; text-underline: none"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&lt;SPAN style="COLOR: #244061; TEXT-DECORATION: none; mso-themecolor: accent1; mso-themeshade: 128; text-underline: none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Select&lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="COLOR: #244061; TEXT-DECORATION: none; mso-themecolor: accent1; mso-themeshade: 128; text-underline: none"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=Calibri&gt;&amp;nbsp; The car has exited the highway and the ticket is paid. Hopefully, things are clearer now. A couple of remarks, though:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-ansi-language: EN-US; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol" lang=EN-US&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=2&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=Calibri&gt;The first one is that these classes representing events do not have the &lt;B&gt;TIME_CREATED&lt;/B&gt; attribute (a value that represents the number of 100-nanosecond intervals after January 1, 1601) in Windows 2000 and older operating systems.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-ansi-language: EN-US; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol" lang=EN-US&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=2&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=Calibri&gt;The second one is that you’re subscribing these events forever, but if you cancel the script, there will still be a subscription hanging around. Be sure to use this script (or its variants, according to your needs) with moderation, or you will risk overburdening your system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=Calibri&gt;&amp;nbsp; Of course, you could be using &lt;B&gt;Windows PowerShell 2.0&lt;/B&gt; (or its latest &lt;B&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=60deac2b-975b-41e6-9fa0-c2fd6aa6bc89" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=60deac2b-975b-41e6-9fa0-c2fd6aa6bc89"&gt;&lt;FONT color=#0000ff&gt;CTP&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt;, by the time this post was written) and you’d be able to use things such as &lt;B&gt;&lt;A href="http://www.microsoft.com/technet/scriptcenter/topics/winpsh/events.mspx" mce_href="http://www.microsoft.com/technet/scriptcenter/topics/winpsh/events.mspx"&gt;Eventing&lt;/A&gt;&lt;/B&gt;, which are great, as you can see below.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;$ht = New-Object System.Collections.Hashtable&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;$query = New-Object System.Management.WqlEventQuery "__InstanceOperationEvent",&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp; (New-Object TimeSpan 0,0,1),&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp; "TargetInstance isa 'Win32_Process'"&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;$watcher = New-Object System.Management.ManagementEventWatcher $query&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;Register-ObjectEvent $watcher "EventArrived" -SupportEvent "WMI.ProcessCreated" -Action { &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp; [void] (New-PsEvent "PowerShell.ProcessEvent" -Sender $args[0] -EventArguments $args[1].SourceEventArgs.NewEvent) &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;Register-PsEvent "PowerShell.ProcessEvent" -Action { &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp; $process = $args[1].SourceArgs[0].TargetInstance&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp; switch ($args[1].SourceArgs[0].__CLASS)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "__InstanceCreationEvent" { &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ht[$process.ProcessId] = $process.Name, ([WMI]'').ConvertToDateTime($process.CreationDate), $args[1].SourceArgs[0].TIME_CREATED&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "__InstanceDeletionEvent" { &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host $ht[$process.ProcessId][0],&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ht[$process.ProcessId][1].ToString("HH:mm:ss.fff"), &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ([System.Convert]::ToDecimal($args[1].SourceArgs[0].TIME_CREATED) - [System.Convert]::ToDecimal($ht[$process.ProcessId][2]))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt 35.4pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #244061; FONT-SIZE: 8pt; mso-ansi-language: EN-US; mso-themecolor: accent1; mso-themeshade: 128" lang=EN-US&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=Calibri&gt;&amp;nbsp; I won’t be getting into the details, as this is using pretty much the same principles stated for the VBScript version. One thing is sure, though: I’m definitely moving towards &lt;B&gt;PowerShell&lt;/B&gt;. If that is also your way, be sure to make &lt;B&gt;&lt;A href="http://thepowershellguy.com/blogs/posh/" mce_href="http://thepowershellguy.com/blogs/posh/"&gt;&lt;FONT color=#0000ff&gt;The PowerShell Guy&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt; your best friend!&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2 face=Calibri&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2 face=Calibri&gt;&amp;nbsp; See you soon,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2 face=Calibri&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT size=2 face=Calibri&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://blogs.msdn.com/deviations/pages/resume-manuel-oliveira.aspx" mce_href="http://blogs.msdn.com/deviations/pages/resume-manuel-oliveira.aspx"&gt;Manuel Oliveira&lt;/A&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8977356" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/deviations/archive/tags/WMI/default.aspx">WMI</category><category domain="http://blogs.msdn.com/deviations/archive/tags/Monitoring/default.aspx">Monitoring</category><category domain="http://blogs.msdn.com/deviations/archive/tags/Powershell/default.aspx">Powershell</category></item></channel></rss>