<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://powershell.com/cs/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>Search results for 'app:weblogs' matching tags 'troubleshooting' and 'performance'</title><link>http://powershell.com/cs/search/SearchResults.aspx?q=app:weblogs&amp;tag=troubleshooting,performance&amp;orTags=0&amp;o=DateDescending</link><description>Search results for 'app:weblogs' matching tags 'troubleshooting' and 'performance'</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 (Build: 30929.2835)</generator><item><title>Use PowerShell to Troubleshoot Software Installation</title><link>http://powershell.com/cs/blogs/hey-scriptingguy/archive/2011/07/13/use-powershell-to-troubleshoot-software-installation.aspx</link><pubDate>Wed, 13 Jul 2011 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:11367</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;: Use Windows PowerShell to troubleshoot software installation.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img title="Hey, Scripting Guy! Question" border="0" alt="Hey, Scripting Guy! Question" align="left" src="http://img.microsoft.com/library/media/1033/technet/images/scriptcenter/qanda/q-sm.jpg" width="34" height="34" /&gt;Hey, Scripting Guy! I am having a problem troubleshooting the installation of an MSI package. I am using Group Policy to deploy the MSI package, and on some computers, it seems to work, but on other computers it fails. After having read your most recent series of articles about troubleshooting Windows, I thought I could use a trace log, but after spending more than an hour trying to click all of those little folders (why is there no search on the log name?), I could not find a trace log that seemed to make sense. Anyway, I guess I am asking you how to troubleshoot remote installation of a MSI package. Hope you can help.&lt;/p&gt;
&lt;p&gt;&amp;mdash;LT&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img title="Hey, Scripting Guy! Answer" border="0" alt="Hey, Scripting Guy! Answer" align="left" src="http://img.microsoft.com/library/media/1033/technet/images/scriptcenter/qanda/a-sm.jpg" width="34" height="34" /&gt;Hello LT,&lt;/p&gt;
&lt;p&gt;Microsoft Scripting Guy Ed Wilson here. This morning, the Scripting Wife and I got to do something we have been looking forward to for nearly two months. When we were at Tech∙Ed 2011 in Atlanta, we got to meet a couple of scripters that work for a company that has a headquarters in the Charlotte area. We exchanged email, and this morning the Scripting Wife and I went to their office and made a three-hour &amp;ldquo;Introduction to Windows PowerShell&amp;rdquo; presentation. It was a lot of fun. One of the questions they had was related to troubleshooting remote systems.&lt;/p&gt;
&lt;p&gt;LT, you are not alone in your queries. In addition to the customer I was talking to this morning, there was also &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2011/07/11/use-dates-types-to-filter-event-trace-logs-in-powershell.aspx#comments"&gt;a comment on Monday&amp;rsquo;s blog post&lt;/a&gt; from &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2011/05/08/lessons-learned-from-the-2011-scripting-games.aspx"&gt;Klaus Schulte&lt;/a&gt; (winner of the Beginner division of the 2011 Scripting Games) asking about troubleshooting installation packages.&lt;/p&gt;
&lt;p&gt;LT, there is a search for trace logs. It is called Windows PowerShell. I have given up attempting to navigate through the hundreds of logs in all the different folders (there are 492 logs on my Windows 7 Ultimate workstation). Instead, if I am searching for a log related to something, I use Windows PowerShell.&lt;/p&gt;
&lt;p&gt;In &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2011/07/09/use-powershell-to-troubleshoot-windows.aspx"&gt;Saturday&amp;rsquo;s Weekend Scripter article&lt;/a&gt;, I talked about working with Event Tracing for Windows (ETW) logs. I discussed how to enable and disable the logs, and how to use the &lt;b&gt;Get-WinEvent&lt;/b&gt; cmdlet to find and to read the trace. &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2011/07/11/use-dates-types-to-filter-event-trace-logs-in-powershell.aspx"&gt;Monday, I continued the ETW discussion&lt;/a&gt; by examining the &lt;b&gt;datetime&lt;/b&gt; stamp that is generated for each event. &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2011/07/12/parse-windows-trace-logs-by-using-powershell.aspx"&gt;Yesterday, I explored parsing the message property&lt;/a&gt; of the WMI Activity Trace log.&lt;/p&gt;
&lt;p&gt;If I do not supply a value to the &lt;i&gt;listlog &lt;/i&gt;parameter, an error appears. If I provide the name of a specific log, certain information about the log returns. If I use the &lt;b&gt;*&lt;/b&gt; wildcard character, information about every log on the system is displayed in the Windows PowerShell console. If I use a more comprehensive wildcard character pattern, I can limit the number of logs that return. An example of searching for trace logs that relate to &lt;b&gt;install&lt;/b&gt;&lt;i&gt; &lt;/i&gt;is shown here:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\Windows\system32&amp;gt; Get-WinEvent -ListLog *install* -force | select logname&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;LogName&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;&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&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;&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Microsoft-Windows-AxInstallService/Log&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;&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;&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;&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;&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;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Microsoft-Windows-WPD-ClassInstaller/Analytic&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Microsoft-Windows-WPD-ClassInstaller/Operational&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I can use the same technique to search for logs that relate to &lt;b&gt;msi&lt;/b&gt;&lt;i&gt;.&lt;/i&gt; In the following output, only one log relates to MSI, but it is associated with AppLocker. Therefore, it will not pick up any trace information from a generic MSI installation:&lt;i&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\Windows\system32&amp;gt; Get-WinEvent -ListLog *msi* -force | select logname&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;LogName&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;&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&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;&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Microsoft-Windows-AppLocker/MSI and Script&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;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;At times, either I cannot find a trace log that I like, or I grow impatient from the search and then use one of my favorite tricks: query all the logs at once. Sure, it is inefficient, but if I am working locally, it is not a big deal. However, it can take a &lt;i&gt;very&lt;/i&gt; long time for the command to complete (on my workstation, it takes nearly four minutes to complete the command). The thing to keep in mind is that after the first portion of time&amp;mdash;it might be seconds or a minute or so depending on how much data you are returning and how recent your time filter is&amp;mdash;new information will no longer be returned to the screen. This is the time when the command is continuing to process log files, but there is no longer any data to return even though the filter coming after the command to return all the event logs is still working. The (inefficient) command to return log files that have a timestamp that occurs later than &amp;quot;7/11/11 10:35:08 pm&amp;quot; follows this paragraph. To make the information display a bit better, I send the information to a table. In the following command the &lt;b&gt;Get-WinEvent&lt;/b&gt; cmdlet returns all information from all log files. The returned entries are piped to the &lt;b&gt;Where-Object&lt;/b&gt; cmdlet (&lt;b&gt;?&lt;/b&gt; Is an alias for the &lt;b&gt;Where-Object&lt;/b&gt; cmdlet), which filters log entries after a specific time. The results are piped to the &lt;b&gt;Format-Table&lt;/b&gt; cmdlet (&lt;b&gt;ft&lt;/b&gt; is an alias for &lt;b&gt;Format-Table&lt;/b&gt; cmdlet), and three properties are selected. The command is shown here:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Get-WinEvent | ? {$_.TimeCreated -gt &amp;quot;7/11/11 10:35:08 pm&amp;quot; } | ft logname, id, message&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The following figure illustrates running the command in the Windows PowerShell ISE and displays the associated output.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/0361.HSG_2D00_7_2D00_13_2D00_11_2D00_01.png"&gt;&lt;img style="border:0px;" title="Image of command running in Windows PowerShell ISE and associated output" alt="Image of command running in Windows PowerShell ISE and associated output" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/0361.HSG_2D00_7_2D00_13_2D00_11_2D00_01.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If I want to tighten up the output and create a more efficient use of the space in my output pane in the Windows PowerShell ISE, I can add the &lt;i&gt;autosize &lt;/i&gt;parameter to the &lt;b&gt;Format-Table&lt;/b&gt; cmdlet. In addition, I can display the entire message if I use the &lt;i&gt;wrap&lt;/i&gt; parameter. However, when I add these parameters to the previous command, it will take the most of the time (five minutes or so) the command runs before displaying output. This is because to calculate the amount of space to allocate for the columns, Windows PowerShell needs to look at all of the data. This reduces the efficiency of the streaming behavior that I took advantage of earlier. The revised command is shown here:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Get-WinEvent | ? {$_.TimeCreated -gt &amp;quot;7/11/11 10:35:08 pm&amp;quot; } | ft logname, id, message -AutoSize &amp;ndash;wrap&lt;/p&gt;
&lt;p&gt;Clearly, a more efficient method of working with log files is required.&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;For more information about using the &lt;i&gt;FilterHashTable&lt;/i&gt; parameter, see &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2011/01/24/use-powershell-cmdlet-to-filter-event-log-for-easy-parsing.aspx"&gt;Use a PowerShell Cmdlet to Filter Event Log for Easy Parsing&lt;/a&gt; and &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2011/01/25/use-powershell-to-parse-saved-event-logs-for-errors.aspx"&gt;Use PowerShell to Parse Saved Event Logs for Errors&lt;/a&gt;. For more information about improving the performance of event log queries, see &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2011/03/08/how-to-improve-the-performance-of-a-powershell-event-log-query.aspx"&gt;How to Improve the Performance of a PowerShell Event Log Query&lt;/a&gt;. For issues surrounding working remotely with Windows Vista and Windows XP event logs, refer to &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2011/03/09/discover-how-to-filter-remote-event-log-entries-in-windows-vista.aspx"&gt;Discover How to Filter Remote Event Log Entries in Windows Vista&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The following table is copied from my &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2011/01/25/use-powershell-to-parse-saved-event-logs-for-errors.aspx"&gt;Use PowerShell to Parse Saved Event Logs for Errors&lt;/a&gt; Hey, Scripting Guy! Blog post from January 2011.&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p class="TableHead"&gt;&lt;strong&gt;Event Log Viewer name&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p class="TableHead"&gt;&lt;strong&gt;FilterHashTable parameter key name&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;Log Name&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;LogName&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;Source&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;ProviderName&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;Event ID&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;ID&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;Level&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;Level&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;User&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;UserID&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;Op Code&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;*&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;Logged&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;*&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;Task Category&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;*&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;Keywords&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;*&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;Computer&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;N/A use &amp;ndash;&lt;i&gt;ComputerName&lt;/i&gt; parameter&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;Details&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p class="TableText"&gt;Data&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If I attempt to use my trick of using the &lt;b&gt;Get-Winevent&lt;/b&gt; cmdlet to list all log entries, and I use a &lt;b&gt;FilterHashTable&lt;/b&gt; to attempt to filter based on time at the &lt;b&gt;Get-Winevent&lt;/b&gt; cmdlet instead of on the other side of the pipeline, an error returns that states I must specify either a log, provider, or path. The command and associated error appear here:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\Windows\system32&amp;gt; Get-WinEvent -FilterHashTable @{StartTime = &amp;quot;7/11/11 10:35:08 pm&amp;quot;}&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Get-WinEvent : You must specify at least one Log, Provider or Path key-value pair.&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;At line:1 char:13&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;+ Get-WinEvent &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;nbsp; -FilterHashTable @{StartTime = &amp;quot;7/11/11 10:35:08 pm&amp;quot;}&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + CategoryInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : InvalidArgument: (:) [Get-WinEvent], Exception&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + FullyQualifiedErrorId : LogProviderOrPathNeeded,Microsoft.PowerShell.Commands.GetWinEventCommand&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I decide to modify the command to use a wildcard character for the &lt;b&gt;logname&lt;/b&gt; key for the &lt;b&gt;FilterHashTable&lt;/b&gt;&lt;i&gt;.&lt;/i&gt; The command works great and returns data nearly immediately:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Get-WinEvent -FilterHashtable @{StartTime = &amp;quot;7/11/11 10:35:08 pm&amp;quot;; LogName = &amp;quot;*&amp;quot;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The nice thing about the above command is it returns information from multiple logs and multiple providers. This is useful, for example, when troubleshooting installation problems that may be unrelated to the actual installer. To check a specific installation, it may be useful to filter based on not only the time, but also on the provider. For MSI installed software, the provider is the &lt;b&gt;msiInstaller&lt;/b&gt; provider. The following command is broken at the pipe character for readability purposes. In reality it is a single command:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Get-WinEvent -FilterHashtable @{StartTime = &amp;quot;7/11/11 10:35:08 pm&amp;quot;; ProviderName = &amp;quot;msiInstaller&amp;quot;} |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;ft logname, id, message -AutoSize &amp;ndash;wrap&lt;/p&gt;
&lt;p&gt;The command and associated output appear in the following figure.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/6428.HSG_2D00_7_2D00_13_2D00_11_2D00_02.png"&gt;&lt;img style="border:0px;" title="Image of command and associated output" alt="Image of command and associated output" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/6428.HSG_2D00_7_2D00_13_2D00_11_2D00_02.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;LT, that is all there is to using Windows PowerShell to look at Windows Installer logging. Troubleshooting Windows week will continue tomorrow.&lt;/p&gt;
&lt;p&gt;I invite you to follow me on &lt;a href="http://bit.ly/scriptingguystwitter" target="_blank"&gt;Twitter&lt;/a&gt; and &lt;a href="http://bit.ly/scriptingguysfacebook"&gt;Facebook&lt;/a&gt;. If you have any questions, send email to me at &lt;a href="mailto:scripter@microsoft.com" target="_blank"&gt;scripter@microsoft.com&lt;/a&gt;, or post your questions on the &lt;a href="http://bit.ly/scriptingforum" target="_blank"&gt;Official Scripting Guys Forum&lt;/a&gt;. See you tomorrow. Until then, peace.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ed Wilson, Microsoft Scripting Guy&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3440927" width="1" height="1" alt="" /&gt;</description></item><item><title>Parse Windows Trace Logs by Using PowerShell</title><link>http://powershell.com/cs/blogs/hey-scriptingguy/archive/2011/07/12/parse-windows-trace-logs-by-using-powershell.aspx</link><pubDate>Tue, 12 Jul 2011 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:11339</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;: Learn how to use Windows PowerShell to parse Windows trace logs.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img title="Hey, Scripting Guy! Question" border="0" alt="Hey, Scripting Guy! Question" align="left" src="http://img.microsoft.com/library/media/1033/technet/images/scriptcenter/qanda/q-sm.jpg" width="34" height="34" /&gt;Hey, Scripting Guy! Is it possible to filter the results from an ETW log?&lt;/p&gt;
&lt;p&gt;&amp;mdash;DK&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img title="Hey, Scripting Guy! Answer" border="0" alt="Hey, Scripting Guy! Answer" align="left" src="http://img.microsoft.com/library/media/1033/technet/images/scriptcenter/qanda/a-sm.jpg" width="34" height="34" /&gt;Hello DK,&lt;/p&gt;
&lt;p&gt;Microsoft Scripting Guy Ed Wilson here. Sure there is.&lt;/p&gt;
&lt;p&gt;In &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2011/07/09/use-powershell-to-troubleshoot-windows.aspx"&gt;Saturday&amp;rsquo;s Weekend Scripter article&lt;/a&gt;, I talked about working with Event Tracing for Windows (ETW) logs. I discussed how to enable and disable the logs, and how to use the &lt;b&gt;Get-WinEvent&lt;/b&gt; cmdlet to find and to read the trace. &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2011/07/11/use-dates-types-to-filter-event-trace-logs-in-powershell.aspx"&gt;Yesterday, I continued the ETW discussion&lt;/a&gt; by examining the &lt;b&gt;datetime&lt;/b&gt; stamp that is generated for each event.&lt;/p&gt;
&lt;p&gt;In this article, I will continue exploring the WMI activity trace log. By way of a quick review, the first thing I need to remember is to use the &lt;i&gt;force&lt;/i&gt; parameter when searching for trace logs&amp;mdash;it will not be visible otherwise. I also should remember that I do not need to type the entire log name because I can use wildcard characters to assist. After I have found the proper log name, I can store the log name in a variable for quick access. When reading a trace log, I must remember to use the &lt;i&gt;Oldest &lt;/i&gt;switched parameter. The commands that follow illustrate these techniques.&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Get-WinEvent -ListLog *wmi*trace* -force&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;(Get-WinEvent -ListLog *wmi*trace* -force).logname&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;$WmiLog = (Get-WinEvent -ListLog *wmi*trace* -force).logname&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Get-WinEvent -LogName $wmiLog -Oldest&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;To parse a trace log, you monkey around with the &lt;i&gt;message&lt;/i&gt; portion of the trace log entry. This means that any of the &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/tags/windows+powershell/getting+started/string+manipulation/"&gt;parse text&lt;/a&gt; type of articles, or &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/tags/windows+powershell/getting+started/regular+expressions/"&gt;regular expression&lt;/a&gt;&lt;i&gt; &lt;/i&gt;type of articles will be extremely useful when it comes to examining these logs. I am not going to repeat all that type of information here.&lt;/p&gt;
&lt;p&gt;After I have the reference to the WMI trace log stored in the &lt;b&gt;$wmiLog&lt;/b&gt; variable, I use it in my query to the &lt;b&gt;Get-WinEvent&lt;/b&gt; cmdlet. The command returns all the entries (remember the &lt;i&gt;Oldest&lt;/i&gt; switched parameter is required in these types of queries). I pipe the resulting trace log contents to the &lt;b&gt;Where-Object&lt;/b&gt; cmdlet (&lt;b&gt;?&lt;/b&gt; Is an alias for the &lt;b&gt;Where-Object&lt;/b&gt; cmdlet), and I look for entries that contain the word &lt;i&gt;execquery&lt;/i&gt;, which is one of the commands used by WMI when performing a query. I use the &lt;b&gt;Select-Object&lt;/b&gt; cmdlet (&lt;b&gt;select&lt;/b&gt; is an alias for the &lt;b&gt;Select-Object&lt;/b&gt; cmdlet) to choose only the &lt;b&gt;message&lt;/b&gt; property, and I expand the property so I can see all the information contained in the particular entry. The command (broken into two lines at the pipe character for clarity) and associated output are shown here:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\&amp;gt; Get-WinEvent -LogName $wmiLog -Oldest |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;? { $_.message -match &amp;#39;execquery&amp;#39; } | select -ExpandProperty message&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;GroupOperationId = 486; OperationId = 487; Operation = Start IWbemServices::Exe&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;cQuery - select * from win32_bios; ClientMachine = NEWMRED; User = IAMMRED\Admi&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;nistrator; ClientProcessId = 4392; NamespaceName = \\.\root\cimv2&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I like this view because it makes it rather easy to look at related entries. It is much faster than clicking entries in Event Viewer. In the entry above, the WMI query, namespace, computer name, and username all appear in the entry. This makes it easy to troubleshoot WMI failures.&lt;/p&gt;
&lt;p&gt;If I have a trace log with a large number of entries (even a large number of entries that may match my query), I add a &lt;b&gt;more&lt;/b&gt;&lt;i&gt; &lt;/i&gt;command to the end of the command. The revised command appears here (I break the command at the pipe character for display on the blog; I do not break the command inside the Windows PowerShell console):&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Get-WinEvent -LogName $wmiLog -Oldest | ? { $_.message -match &amp;#39;execquery&amp;#39; } |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;select -ExpandProperty message | more&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Rather than using the &lt;b&gt;Select-Object&lt;/b&gt; cmdlet, at times I like to use the &lt;b&gt;Format-Table&lt;/b&gt; cmdlet (&lt;b&gt;ft&lt;/b&gt; is an alias for the &lt;b&gt;Format-Table&lt;/b&gt; cmdlet) with the &lt;i&gt;wrap &lt;/i&gt;switched parameter. This is particularly true if I want to use two or more properties. (I will use &lt;b&gt;Format-Table&lt;/b&gt; for 2&amp;ndash;5 properties. If I have more than 5 properties, I generally use &lt;b&gt;Format-List&lt;/b&gt;). In the following query, I query the WMI trace log and look for entries that have the word &lt;i&gt;reference&lt;/i&gt; in the &lt;b&gt;message&lt;/b&gt; property. The word &lt;i&gt;reference&lt;/i&gt; appears in &lt;b&gt;referencesof&lt;/b&gt; types of WMI queries. In general, these &lt;b&gt;referencesof&lt;/b&gt; types of queries are used by WMI in preparation for performing the actual &lt;b&gt;Select&lt;/b&gt; command (although, it is perfectly valid&amp;mdash;if advanced&amp;mdash;for a user to write a &lt;b&gt;referencesof&lt;/b&gt; type of query directly). All of the matching entries from the logs are then displayed in a table with the ID in the first position, and the message wrapped for readability. The &lt;i&gt;autosize&lt;/i&gt; switched parameter tightens up the display and makes for better output. The command and associated output are shown here.&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\&amp;gt; Get-WinEvent -LogName $wmiLog -Oldest |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;? { $_.message -match &amp;#39;reference&amp;#39; } | ft id, message -Wrap -AutoSize&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span style="text-decoration:underline;"&gt;Id Message&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;1 GroupOperationId = 490; OperationId = 494; Operation = Start IWbemServices::&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; ExecQuery - references of {__Win32Provider.Name=&amp;quot;WmiPerfClass&amp;quot;}; ClientMachi&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; ne = Local; User = IAMMRED\Administrator; ClientProcessId = 0; NamespaceName&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; = \\.\root\CIMV2&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;1 GroupOperationId = 490; OperationId = 496; Operation = Start IWbemServices::&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; ExecQuery - references of {__Win32Provider.Name=&amp;quot;CIMWin32&amp;quot;}; ClientMachine =&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Local; User = IAMMRED\Administrator; ClientProcessId = 0; NamespaceName = \&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; \.\root\CIMV2&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;1 GroupOperationId = 490; OperationId = 498; Operation = Start IWbemServices::&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; ExecQuery - references of {__Win32Provider.Name=&amp;quot;CIMWin32&amp;quot;}; ClientMachine =&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Local; User = IAMMRED\Administrator; ClientProcessId = 0; NamespaceName = \&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; \.\root\CIMV2&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;1 GroupOperationId = 501; OperationId = 504; Operation = Start IWbemServices::&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; ExecQuery - references of {__Win32Provider.Name=&amp;quot;WmiPerfClass&amp;quot;}; ClientMachi&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; ne = Local; User = IAMMRED\Administrator; ClientProcessId = 0; NamespaceName&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; = \\.\root\CIMV2&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;1 GroupOperationId = 501; OperationId = 506; Operation = Start IWbemServices::&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; ExecQuery - references of {__Win32Provider.Name=&amp;quot;WmiPerfClass&amp;quot;}; ClientMachi&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; ne = Local; User = IAMMRED\Administrator; ClientProcessId = 0; NamespaceName&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; = \\.\root\CIMV2&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;When troubleshooting WMI, one of my favorite techniques is to search the trace log for the specific WMI class name. This allows me to trace the operations related to a particular search or WMI query. As shown in the query and results below, the WMI provider for a specific class must be located before executing the actual &lt;b&gt;Select * win32_bios&lt;/b&gt; WMI query:&lt;i&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\&amp;gt; Get-WinEvent -LogName $wmiLog -Oldest |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;? { $_.message -match &amp;#39;win32_bios&amp;#39; } | ft id, message -Wrap -AutoSize&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span style="text-decoration:underline;"&gt;Id Message&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;1 GroupOperationId = 490; OperationId = 491; Operation = Start IWbemServices::&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; ExecQuery - select * from win32_bios; ClientMachine = NEWMRED; User = IAMMRE&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; D\Administrator; ClientProcessId = 4392; NamespaceName = \\.\root\cimv2&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;2 ProviderInfo for GroupOperationId = 490; Operation = Provider::CreateInstanc&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; eEnum - Win32_BIOS; ProviderName = CIMWin32; ProviderGuid = {d63a5850-8f16-1&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; 1cf-9f47-00aa00bf345c}; Path = %systemroot%\system32\wbem\cimwin32.dll&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;1 GroupOperationId = 490; OperationId = 499; Operation = Start IWbemServices::&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; GetObject - win32_bios; ClientMachine = Local; User = IAMMRED\Administrator;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The two-column output from the previous command is pretty decent from a readability perspective. As discussed in yesterday&amp;rsquo;s Hey Scripting Guy! Blog post, the ETW log provider is such a high performer that many entries have exactly the same time stamp (down to the tick); therefore, filtering (or even displaying) the time stamp does little to aid understanding. This is illustrated in the following output (where I add the time stamp to the previous output):&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\&amp;gt; Get-WinEvent -LogName $wmiLog -Oldest | ? { $_.message -match &amp;#39;win32_bio&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;s&amp;#39; } | ft TimeCreated, id, message -Wrap -AutoSize&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span style="text-decoration:underline;"&gt;TimeCreated&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration:underline;"&gt;Id Message&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/11/2011 3:23:47 PM&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; 1 GroupOperationId = 490; OperationId = 491; Operation =&lt;/p&gt;
&lt;p style="padding-left:210px;"&gt;Start IWbemServices::ExecQuery - select * from win32_bi&lt;/p&gt;
&lt;p style="padding-left:210px;"&gt;os; ClientMachine = NEWMRED; User = IAMMRED\Administrat&lt;/p&gt;
&lt;p style="padding-left:210px;"&gt;or; ClientProcessId = 4392; NamespaceName = \\.\root\ci&lt;/p&gt;
&lt;p style="padding-left:210px;"&gt;mv2&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/11/2011 3:23:47 PM&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; 2 ProviderInfo for GroupOperationId = 490; Operation = Pr&lt;/p&gt;
&lt;p style="padding-left:210px;"&gt;ovider::CreateInstanceEnum - Win32_BIOS; ProviderName =&lt;/p&gt;
&lt;p style="padding-left:210px;"&gt;CIMWin32; ProviderGuid = {d63a5850-8f16-11cf-9f47-00aa&lt;/p&gt;
&lt;p style="padding-left:210px;"&gt;00bf345c}; Path = %systemroot%\system32\wbem\cimwin32.d&lt;/p&gt;
&lt;p style="padding-left:210px;"&gt;ll&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/11/2011 3:23:47 PM&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; 1 GroupOperationId = 490; OperationId = 499; Operation =&lt;/p&gt;
&lt;p style="padding-left:210px;"&gt;Start IWbemServices::GetObject - win32_bios; ClientMach&lt;/p&gt;
&lt;p style="padding-left:210px;"&gt;ine = Local; User = IAMMRED\Administrator; ClientProces&lt;/p&gt;
&lt;p style="padding-left:210px;"&gt;sId = 0; NamespaceName = \\.\root\CIMV2&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As is shown in the previous output, all three entries happened at the same time, so the time stamp does not improve output (in fact, it reduces readability by causing additional wrapping of the message output).&lt;/p&gt;
&lt;p&gt;DK, that is all there is to using the &lt;b&gt;Get-WinEvent&lt;/b&gt; cmdlet to parse WMI activity/trace logs. I encourage you to take some time to review the last couple of articles as well as this one, and play around with querying the &lt;b&gt;message&lt;/b&gt;&lt;i&gt; &lt;/i&gt;property. After all, you know what you need to find. Troubleshooting Windows Week will continue tomorrow when I will show you a really cool technique for automating the enabling and disabling of trace logs. Stay tuned: same batch time, same batch channel.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I invite you to follow me on &lt;a href="http://bit.ly/scriptingguystwitter" target="_blank"&gt;Twitter&lt;/a&gt; and &lt;a href="http://bit.ly/scriptingguysfacebook"&gt;Facebook&lt;/a&gt;. If you have any questions, send email to me at &lt;a href="mailto:scripter@microsoft.com" target="_blank"&gt;scripter@microsoft.com&lt;/a&gt;, or post your questions on the &lt;a href="http://bit.ly/scriptingforum" target="_blank"&gt;Official Scripting Guys Forum&lt;/a&gt;. See you tomorrow. Until then, peace.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ed Wilson, Microsoft Scripting Guy&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3440760" width="1" height="1" alt="" /&gt;</description></item><item><title>Use Date Types to Filter Event Trace Logs in PowerShell</title><link>http://powershell.com/cs/blogs/hey-scriptingguy/archive/2011/07/11/use-date-types-to-filter-event-trace-logs-in-powershell.aspx</link><pubDate>Mon, 11 Jul 2011 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:11316</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;: Learn how to use date types to filter event trace logs in Windows PowerShell.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img title="Hey, Scripting Guy! Question" border="0" alt="Hey, Scripting Guy! Question" align="left" src="http://img.microsoft.com/library/media/1033/technet/images/scriptcenter/qanda/q-sm.jpg" width="34" height="34" /&gt;Hey, Scripting Guy! I am wondering, oh great scripting master: can I use Windows PowerShell to parse an ETW log file?&lt;/p&gt;
&lt;p&gt;&amp;mdash;JM&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img title="Hey, Scripting Guy! Answer" border="0" alt="Hey, Scripting Guy! Answer" align="left" src="http://img.microsoft.com/library/media/1033/technet/images/scriptcenter/qanda/a-sm.jpg" width="34" height="34" /&gt;Hello JM,&lt;/p&gt;
&lt;p&gt;Microsoft Scripting Guy Ed Wilson here. It is &amp;ldquo;oh dark thirty&amp;rdquo; in the &lt;a href="http://en.wikipedia.org/wiki/Piedmont_(United_States)"&gt;Piedmont region of the United States&lt;/a&gt;. For some reason, I woke up early. It is Thursday as I write this article, and the Scripting Wife and I were up late last night listening to the &lt;a href="http://powerscripting.wordpress.com/"&gt;PowerScripting Podcast&lt;/a&gt;. I thought Spencer Brown did a great job as the guest, and as usual, Hal Rottenberg was in top form as he played the suave and debonair talk show host. Jonathan Walz was grooving in the background&amp;mdash;audiophile extraordinaire. The Scripting Wife loves the chat room conversation because it gives her a chance to hang out with her friends from all over the world. Anyway, because I was up late, and then again up early, I decided it would make for a great excuse to have a &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2009/03/04/how-do-i-migrate-my-vbscript-wmi-queries-to-windows-powershell.aspx"&gt;coffee day&lt;/a&gt;. My last coffee day occurred back in January when I was talking about &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2011/01/12/schedule-powershell-scripts-that-require-input-values.aspx"&gt;scheduling Windows PowerShell scripts that require input values&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Anyway, JM, the &amp;ldquo;standard answer&amp;rdquo; is that Windows PowerShell can do anything. The other day on Twitter, someone asked if Windows PowerShell could be made to mow the grass. I believe it could be (here is a cool article about &lt;a href="http://channel9.msdn.com/coding4fun/articles/Part-2-Controlling-a-Microbric-Viper-Robot-with-an-IR-Serial-Port-using-NET-and-PowerShell"&gt;using Windows PowerShell to control robots&lt;/a&gt;). Now all you need is a robot lawn mower.&lt;/p&gt;
&lt;p&gt;In &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2011/07/09/use-powershell-to-troubleshoot-windows.aspx"&gt;Saturday&amp;rsquo;s Weekend Scripter article&lt;/a&gt;, I talked about working with Event Tracing for Windows (ETW) logs. I discussed how to enable and disable the logs, and how to use the &lt;b&gt;Get-WinEvent&lt;/b&gt; cmdlet to find and to read the trace.&lt;/p&gt;
&lt;p&gt;The first thing to do is to obtain the name of the log and to store it in a variable. I do this because it makes working interactively from the Windows PowerShell line easier to do. The actual log name I want to work with today is &lt;i&gt;Microsoft-Windows-WMI-Activity/Trace&lt;/i&gt;. I can find the log name from one of the trace entries when I look in Event Viewer. Such an entry appears in the following figure.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/0407.HSG_2D00_7_2D00_11_2D00_11_2D00_01.png"&gt;&lt;img style="border:0px;" title="Image of finding log name from trace entry in Event Viewer" alt="Image of finding log name from trace entry in Event Viewer" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/0407.HSG_2D00_7_2D00_11_2D00_11_2D00_01.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After I have the log name stored in a variable, I can use the &lt;b&gt;Get-WinEvent&lt;/b&gt; cmdlet to retrieve the &lt;b&gt;message&lt;/b&gt; property (or other properties as appropriate). The following two commands store the &lt;i&gt;Microsoft-Windows-WMI-Activity/Trace &lt;/i&gt;log name in a variable, and return the &lt;b&gt;message&lt;/b&gt; property from each of the entries in the WMI Activity trace ETW log:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;$wmiLog = (Get-WinEvent -ListLog *wmi*trace -force).logname&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Get-WinEvent -LogName $wmilog -Oldest | select message&lt;/p&gt;
&lt;p&gt;The two commands and associated output are shown in the following figure.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/5226.HSG_2D00_7_2D00_11_2D00_11_2D00_02.png"&gt;&lt;img style="border:0px;" title="Image of two commands and associated output" alt="Image of two commands and associated output" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/5226.HSG_2D00_7_2D00_11_2D00_11_2D00_02.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the previous figure, the output of the &lt;b&gt;message&lt;/b&gt; property appears truncated. At times, a truncated output provides enough information to allow for quick identification of a particular problem. In the case of the above output, there is not enough detailed information to allow for much exploration. The solution is to expand the &lt;b&gt;message&lt;/b&gt; property. To expand the &lt;b&gt;message&lt;/b&gt; property, use the &lt;b&gt;expandproperty&lt;/b&gt;&lt;i&gt; &lt;/i&gt;property from the &lt;b&gt;Select-Object&lt;/b&gt; cmdlet. Here is the syntax of this command:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Get-WinEvent -LogName $wmilog -Oldest | select -ExpandProperty message&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The command and associated output are shown in the following figure.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/3808.HSG_2D00_7_2D00_11_2D00_11_2D00_03.png"&gt;&lt;img style="border:0px;" title="Image of command and associated output" alt="Image of command and associated output" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/3808.HSG_2D00_7_2D00_11_2D00_11_2D00_03.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In attempting to work with individual event entries, it would be logical to use the date timestamp in a filter. I therefore take the time, cast it to a &lt;b&gt;system.datetime&lt;/b&gt; object, and use it with a &lt;b&gt;Where-Object&lt;/b&gt; filter. Unfortunately, no records are returned from the query. The two commands are shown here:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;$date = [datetime]&amp;quot;7/6/2011 6:03:51 PM&amp;quot;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Get-WinEvent -LogName $wmilog -Oldest | where-object { $_.timecreated -eq $date }&lt;/p&gt;
&lt;p&gt;If I change the operator from &lt;b&gt;equals&lt;/b&gt; to &lt;b&gt;greater than&lt;/b&gt;, the command produces output. The revised command and associated output are shown here (the &lt;b&gt;?&lt;/b&gt; character is an alias for &lt;b&gt;Where-Object&lt;/b&gt;).&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\&amp;gt; Get-WinEvent -LogName $wmilog -Oldest | ? { $_.timecreated -gt $date }&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span style="text-decoration:underline;"&gt;TimeCreated&lt;/span&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; &lt;span style="text-decoration:underline;"&gt;ProviderName&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="text-decoration:underline;"&gt;Id Message&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 1 GroupOperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 1 GroupOperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 1 GroupOperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 1 GroupOperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 3 Stop OperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 1 GroupOperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 3 Stop OperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 3 Stop OperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 1 GroupOperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 3 Stop OperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 1 GroupOperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 3 Stop OperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 1 GroupOperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 3 Stop OperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 3 Stop OperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 1 GroupOperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 1 GroupOperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 3 Stop OperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 2 ProviderInfo for...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:04:01 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 3 Stop OperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:04:42 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 3 Stop OperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:04:42 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 3 Stop OperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The reason the equality operator does not return any objects is because the &lt;b&gt;timecreated&lt;/b&gt; property is an instance of a &lt;b&gt;system.datetime&lt;/b&gt; object, and as such the property is more complex than a simple string. The following command explores the &lt;b&gt;timecreated&lt;/b&gt; property. Both the command and associated output are shown here (the command is broken at the pipeline character for the sake of readability; in reality, it is normally typed on a single line):&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\&amp;gt; Get-WinEvent -LogName $wmilog -Oldest -MaxEvents 1 |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Get-Member -Name timecreated&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; TypeName: System.Diagnostics.Eventing.Reader.EventLogRecord&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span style="text-decoration:underline;"&gt;Name&lt;/span&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; &lt;span style="text-decoration:underline;"&gt;MemberType&lt;/span&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; &lt;span style="text-decoration:underline;"&gt;Definition&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;TimeCreated Property&amp;nbsp;&amp;nbsp; System.Nullable`1[[System.DateTime, mscorlib, Version...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I can use the &lt;b&gt;maxevents&lt;/b&gt; property to help retrieve a single record for exploration. In the following command, I store the &lt;b&gt;eventlogrecord&lt;/b&gt; object in a variable named &lt;b&gt;$record&lt;/b&gt;&lt;i&gt;.&lt;/i&gt; I then display the &lt;b&gt;timecreated&lt;/b&gt; property. The commands and output follow:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\&amp;gt; $record = Get-WinEvent -LogName $wmilog -Oldest -MaxEvents 1&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\&amp;gt; $record.TimeCreated&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Wednesday, July 06, 2011 6:03:51 PM&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;To get a better idea of what is involved in the &lt;b&gt;datetime&lt;/b&gt; object, I send the results from the &lt;b&gt;TimeCreated&lt;/b&gt; property across the pipeline to the &lt;b&gt;Format-List&lt;/b&gt; cmdlet. I use the &lt;i&gt;force&lt;/i&gt; parameter to ensure that any hidden properties display. The command and associated output are shown here.&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\&amp;gt; $record.TimeCreated | Format-List -Force&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 7/6/2011 12:00:00 AM&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Day&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 6&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;DayOfWeek&amp;nbsp;&amp;nbsp; : Wednesday&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;DayOfYear&amp;nbsp;&amp;nbsp; : 187&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Hour&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 18&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Kind&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Local&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Millisecond : 776&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Minute&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 3&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Month&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 7&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Second&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 51&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Ticks&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 634455722317760648&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;TimeOfDay&amp;nbsp;&amp;nbsp; : 18:03:51.7760648&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Year&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2011&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;DateTime&amp;nbsp;&amp;nbsp;&amp;nbsp; : Wednesday, July 06, 2011 6:03:51 PM&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If I hone in on the &lt;b&gt;timeofday&lt;/b&gt; property from the &lt;b&gt;timecreated&lt;/b&gt;&lt;i&gt; &lt;/i&gt;property, I see that another object is returned. The command and associated output are shown here.&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\&amp;gt; $record.TimeCreated.TimeOfDay&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Days&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; : 0&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Hours&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 18&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Minutes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 3&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Seconds&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 51&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Milliseconds&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 776&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Ticks&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 650317760648&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;TotalDays&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 0.752682593342593&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;TotalHours&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 18.0643822402222&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;TotalMinutes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 1083.86293441333&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;TotalSeconds&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 65031.7760648&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;TotalMilliseconds : 65031776.0648&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;When I am only interested in the type of object contained in a property, I use the &lt;b&gt;gettype&lt;/b&gt; method directly. The use of the &lt;b&gt;gettype&lt;/b&gt; method and associated output are shown here:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\&amp;gt; ($record.TimeCreated.TimeOfDay).gettype()&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span style="text-decoration:underline;"&gt;IsPublic&lt;/span&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; &lt;span style="text-decoration:underline;"&gt;IsSerial&lt;/span&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; &lt;span style="text-decoration:underline;"&gt;Name&lt;/span&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; &lt;span style="text-decoration:underline;"&gt;BaseType&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;True&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; True&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; TimeSpan&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.ValueType&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It is possible to use the ticks to filter records. There are a couple of ticks available for this use. The first is a tick associated with the &lt;b&gt;timespan&lt;/b&gt; object. &lt;a href="http://msdn.microsoft.com/en-us/library/system.timespan.ticks.aspx"&gt;This tick&lt;/a&gt; represents 100 nanoseconds since midnight. The tick is the smallest unit of time. In the code that follows, the &lt;b&gt;ticks&lt;/b&gt; property from the &lt;b&gt;timespan&lt;/b&gt; object contained in the &lt;b&gt;timeofday&lt;/b&gt; property is displayed. Next, I store the tick in the &lt;b&gt;$ticks&lt;/b&gt;&lt;i&gt; &lt;/i&gt;variable, and use it to display event log entries that occur at the same time of day. The commands and associated output are shown here.&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\&amp;gt; $record.TimeCreated.TimeOfDay.Ticks&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;650317760648&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\&amp;gt; $ticks = $record.TimeCreated.TimeOfDay.Ticks&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\&amp;gt; Get-WinEvent -LogName $wmilog -Oldest |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;? { $_.timecreated.timeofday.ticks -eq $ticks }&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span style="text-decoration:underline;"&gt;TimeCreated&lt;/span&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; &lt;span style="text-decoration:underline;"&gt;ProviderName&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration:underline;"&gt;Id Message&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 1 GroupOperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 1 GroupOperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 1 GroupOperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 1 GroupOperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 3 Stop OperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 1 GroupOperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 3 Stop OperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 3 Stop OperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 1 GroupOperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 3 Stop OperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 1 GroupOperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft-Window...&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; 3 Stop OperationId...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The other &lt;b&gt;ticks&lt;/b&gt;&lt;i&gt; &lt;/i&gt;property that is available is the one directly on the &lt;b&gt;system.datetime&lt;/b&gt; object stored in the &lt;b&gt;timecreated&lt;/b&gt; property. &lt;a href="http://msdn.microsoft.com/en-us/library/system.datetime.ticks.aspx"&gt;This &lt;b&gt;ticks&lt;/b&gt; property&lt;/a&gt; represents the number of 100-nanosecond intervals that have elapsed since 12:00:00 midnight, January 1, 0001. The value of &lt;b&gt;ticks&lt;/b&gt; from the &lt;b&gt;datetime&lt;/b&gt; object is shown here:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\&amp;gt; $record.TimeCreated.Ticks&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;634455722317760648&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;JM, that is all there is to filtering ETW logs in the &lt;b&gt;Get-WinEvent&lt;/b&gt; cmdlet using time stamps. Troubleshooting Windows Week will continue tomorrow when I will talk about searching the message results.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I invite you to follow me on &lt;a href="http://bit.ly/scriptingguystwitter" target="_blank"&gt;Twitter&lt;/a&gt; and &lt;a href="http://bit.ly/scriptingguysfacebook"&gt;Facebook&lt;/a&gt;. If you have any questions, send email to me at &lt;a href="mailto:scripter@microsoft.com" target="_blank"&gt;scripter@microsoft.com&lt;/a&gt;, or post your questions on the &lt;a href="http://bit.ly/scriptingforum" target="_blank"&gt;Official Scripting Guys Forum&lt;/a&gt;. See you tomorrow. Until then, peace.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ed Wilson, Microsoft Scripting Guy&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3440394" width="1" height="1" alt="" /&gt;</description></item><item><title>Use PowerShell to Troubleshoot Windows</title><link>http://powershell.com/cs/blogs/hey-scriptingguy/archive/2011/07/09/use-powershell-to-troubleshoot-windows.aspx</link><pubDate>Sat, 09 Jul 2011 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:11299</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;&lt;b&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/2043.wes_2D00_7_2D00_9_2D00_11_2D00_02.png"&gt;&lt;/a&gt;Summary&lt;/b&gt;: Learn how to use Windows PowerShell to troubleshoot Windows by working with ETW logs.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;Weekend Scripter: Troubleshooting Windows&lt;/h1&gt;
&lt;p&gt;Microsoft Scripting Guy Ed Wilson here. I do not know about you, but I enjoy troubleshooting Microsoft Windows. There is something rewarding about seeing a problem, diagnosing the problem, and resolving the issue. With Windows 7, troubleshooting is quite a bit easier than it was in previous versions. One reason for this is because of all the new diagnostic logs that are available (these logs first became available with Windows Vista and Windows Server 2008; they are also available in Windows Server 2008 R2). The Event Tracing for Windows (ETW) logs are visible in Event Viewer as seen in the figure that follows.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/1440.HSG_2D00_7_2D00_9_2D00_11_2D00_01.png"&gt;&lt;img style="border:0px;" title="Image of ETW logs in Event Viewer" alt="Image of ETW logs in Event Viewer" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/1440.HSG_2D00_7_2D00_9_2D00_11_2D00_01.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Two things must happen before using the analytic and debug logs. The first is to make them visible. To do this, open Event Viewer by typing eventvwr in Windows PowerShell; or, click the &lt;b&gt;Start&lt;/b&gt; button, click &lt;b&gt;Control Panel&lt;/b&gt;, click &lt;b&gt;Administrative Tools&lt;/b&gt;, and then click &lt;b&gt;Event Viewer&lt;/b&gt;. On the &lt;b&gt;View&lt;/b&gt; menu in Event viewer, click &lt;b&gt;Show Analytic and Debug Logs&lt;/b&gt;, which is shown in the following figure.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The second thing that must happen before using one of the analytic and debug logs is enabling the specific log. In most cases, these advanced analytic and debug logs are disabled because of performance reasons, so they must be specifically enabled. To enable a trace log, right-click the specific log and click &lt;b&gt;Enable Log&lt;/b&gt; in the shortcut menu, as shown in the following figure.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/6433.wes_2D00_7_2D00_9_2D00_11_2D00_03.png"&gt;&lt;img style="border:0px;" title="Image of Enable Log option" alt="Image of Enable Log option" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/6433.wes_2D00_7_2D00_9_2D00_11_2D00_03.png" width="349" height="604" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;&amp;nbsp; &amp;nbsp;Keep in mind that enabling a trace log requires administrator rights. If you attempt to enable the trace log without administrator rights, an &amp;ldquo;Access is denied&amp;rdquo; will be displayed. You must click &lt;b&gt;OK&lt;/b&gt;, and restart Event Viewer with administrator rights. If the account you used to click &lt;b&gt;Show Analytic and Debug Logs&lt;/b&gt; in the &lt;b&gt;View&lt;/b&gt; menu is different from the one with administrator rights, you will need to reselect the option to show the analytic and debug logs.&amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;The best way to see how to work with the ETW logs is to &amp;ldquo;play around&amp;rdquo; with them. Enable the WMI-Activity Trace log by right clicking the log name and choosing &lt;b&gt;Enable Log&lt;/b&gt; from the shortcut menu. A warning message appears that states that you might lose events when enabled, but there are no events in the log anyway, so the message doesn&amp;rsquo;t apply in this case. The warning appears in the following figure.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/1033.wes_2D00_7_2D00_9_2D00_11_2D00_04.png"&gt;&lt;img style="border:0px;" title="Image of warning that doesn&amp;#39;t apply in this case" alt="Image of warning that doesn&amp;#39;t apply in this case" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/1033.wes_2D00_7_2D00_9_2D00_11_2D00_04.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After the WMI-Activity Trace log is enabled, generate some WMI activity by performing a query via the &lt;b&gt;Get-WMIObject&lt;/b&gt; cmdlet. Here is the command I use:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Get-WmiObject win32_bios&lt;/p&gt;
&lt;p&gt;Now disable the WMI-Activity Trace log by right clicking it in Event Viewer and then clicking &lt;b&gt;Disable Log&lt;/b&gt;. Press F5 to refresh the view of the WMI-Activity Trace log, and the logging activity seen in the following figure is shown.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/0576.wes_2D00_7_2D00_9_2D00_11_2D00_05.png"&gt;&lt;img style="border:0px;" title="Image of logging activity" alt="Image of logging activity" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/0576.wes_2D00_7_2D00_9_2D00_11_2D00_05.png" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The &lt;b&gt;Get-WinEvent&lt;/b&gt; Windows PowerShell cmdlet is used to query ETW logs. The first task is to find the WMI-Activity Trace log.&lt;/p&gt;
&lt;p&gt;It is possible to use wild cards to assist in finding trace logs. Unfortunately, when I attempt this nothing is returned. This command and its associated error output are shown here:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\Windows\system32&amp;gt; Get-WinEvent -ListLog *wmi* | select logname&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Get-WinEvent : There is not an event log on the localhost computer that matches &amp;quot;*wmi*&amp;quot;.&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;At line:1 char:13&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;+ Get-WinEvent &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;nbsp; -ListLog *wmi* | select logname&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + CategoryInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ObjectNotFound: (:) [Get-WinEvent], Exception&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + FullyQualifiedErrorId : NoMatchingLogsFound,Microsoft.PowerShell.Commands.GetWinEventCommand&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\Windows\system32&amp;gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;An error appears because you must make analytic and debug logs visible to the &lt;b&gt;Get-WinEvent&lt;/b&gt; cmdlet by using the &lt;i&gt;force&lt;/i&gt; switched parameter. The revised command and associated output are shown here:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\Windows\system32&amp;gt; Get-WinEvent -ListLog *wmi* -force | select logname&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span style="text-decoration:underline;"&gt;LogName&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Microsoft-Windows-EventLog-WMIProvider/Debug&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Microsoft-Windows-WMI-Activity/Trace&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There are two logs that match the wildcard character pattern &lt;b&gt;*wmi*&lt;/b&gt;. No problem! I add the word &lt;b&gt;trace&lt;/b&gt; to the end of my wildcard character pattern, and now I retrieve only the log name I am interested in viewing. The command and associated output are shown here:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\Windows\system32&amp;gt; Get-WinEvent -ListLog *wmi*trace -force | select logname&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;LogName&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;-------&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Microsoft-Windows-WMI-Activity/Trace&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Because the wildcard character pattern only returns a single item, it is possible to retrieve the log name directly by using a dotted notation. When completed, I can use the &lt;b&gt;Get-WinEvent&lt;/b&gt; cmdlet to retrieve contents from the WMI trace log file. Unfortunately, an error occurs. The command and associated error are shown here:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\Windows\system32&amp;gt; $wmiLog = (Get-WinEvent -ListLog *wmi*trace -force).logname&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\Windows\system32&amp;gt; Get-WinEvent -LogName $wmilog&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Get-WinEvent : The Microsoft-Windows-WMI-Activity/Trace event log can be read only in the forward chronological order because it is an analytical or a debug log. To see events from the Microsoft-Windows-WMI-Activity/Trace event log, use the Oldest parameter in the command.&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;At line:1 char:13&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;+ Get-WinEvent &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;nbsp; -LogName $wmilog&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + CategoryInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : InvalidArgument: (Microsoft-Windows-WMI-Activity/Trace:String) [Get-WinEvent], Exception&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + FullyQualifiedErrorId : SpecifyOldestForLog,Microsoft.PowerShell.Commands.GetWinEventCommand&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The needed clue appears in the error message, &amp;ldquo;&amp;hellip;use the Oldest parameter in the command.&amp;rdquo; After I modify the command, the command works. The revised command and associated output are shown here:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\Windows\system32&amp;gt; Get-WinEvent -LogName $wmilog -Oldest&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span style="text-decoration:underline;"&gt;TimeCreated&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="text-decoration:underline;"&gt;ProviderName&lt;/span&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;&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;&lt;span style="text-decoration:underline;"&gt;Id Message&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 1 GroupOperationId = 398; Op...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 1 GroupOperationId = 399; Op...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 1 GroupOperationId = 399; Op...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 1 GroupOperationId = 399; Op...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 3 Stop OperationId = 402&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 1 GroupOperationId = 399; Op...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 3 Stop OperationId = 403&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 3 Stop OperationId = 401&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 1 GroupOperationId = 399; Op...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 3 Stop OperationId = 404&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 1 GroupOperationId = 399; Op...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 3 Stop OperationId = 405&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 1 GroupOperationId = 406; Op...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 3 Stop OperationId = 406&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 3 Stop OperationId = 407&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 1 GroupOperationId = 399; Op...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 1 GroupOperationId = 399; Op...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 3 Stop OperationId = 408&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:03:51 PM&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; Microsoft-Windows-WMI-Acti...&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; 2 ProviderInfo for GroupOper...&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:04:01 PM&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; Microsoft-Windows-WMI-Acti...&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; 3 Stop OperationId = 400&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:04:42 PM&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; Microsoft-Windows-WMI-Acti...&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; 3 Stop OperationId = 387&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;7/6/2011 6:04:42 PM&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; Microsoft-Windows-WMI-Acti...&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; 3 Stop OperationId = 398&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;PS C:\Windows\system32&amp;gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Well, that is enough for a Saturday. Tomorrow, I have a great guest article by James Brundage. On Monday, I will pick up where we left off today, and we will begin to analyze the WMI trace log. For more information about using the &lt;b&gt;Get-WinEvent&lt;/b&gt; cmdlet, refer to &lt;a href="http://blogs.technet.com/search/searchresults.aspx?q=Get-WinEvent&amp;amp;sections=7618"&gt;this collection of Hey, Scripting Guy! Blog posts&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I invite you to follow me on &lt;a href="http://bit.ly/scriptingguystwitter" target="_blank"&gt;Twitter&lt;/a&gt; and &lt;a href="http://bit.ly/scriptingguysfacebook"&gt;Facebook&lt;/a&gt;. If you have any questions, send email to me at &lt;a href="mailto:scripter@microsoft.com" target="_blank"&gt;scripter@microsoft.com&lt;/a&gt;, or post your questions on the &lt;a href="http://bit.ly/scriptingforum" target="_blank"&gt;Official Scripting Guys Forum&lt;/a&gt;. See you tomorrow. Until then, peace.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ed Wilson, Microsoft Scripting Guy &lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3440390" width="1" height="1" alt="" /&gt;</description></item><item><title>Use PowerShell to Identify Causes of Internet Explorer Crashes</title><link>http://powershell.com/cs/blogs/hey-scriptingguy/archive/2010/10/08/use-powershell-to-identify-causes-of-internet-explorer-crashes.aspx</link><pubDate>Fri, 08 Oct 2010 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:7810</guid><dc:creator>Anonymous</dc:creator><description>Summary : The Microsoft Scripting Guys show how to use Windows PowerShell to identify applications that cause Internet Explorer to crash. &amp;#160; Hey, Scripting Guy! I am the network administrator where I work. I do mean the network administrator. I do...(&lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2010/10/08/use-powershell-to-identify-causes-of-internet-explorer-crashes.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3360393" width="1" height="1" alt="" /&gt;</description></item></channel></rss>