<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Richard Siddaway's Blog</title><link>http://msmvps.com/blogs/richardsiddaway/default.aspx</link><description>Of PowerShell and Other Things</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Windows 7 – Pet Hate #1</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/21/windows-7-pet-hate-1.aspx</link><pubDate>Sat, 21 Nov 2009 10:30:13 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1741264</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1741264</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/21/windows-7-pet-hate-1.aspx#comments</comments><description>&lt;p&gt;I’ve been using Windows 7 since January and as I’ve reported several times I have been really happy with it.&amp;#160; One source of irritation has arisen – the Action Center.&lt;/p&gt;  &lt;p&gt;This is a reporting system for system issues such as security (firewall turned off) or maintenance (backups not configured).&amp;#160; This is fine but the thing takes over. Once it has popped its window up to say there is a problem it won’t go away. Not good.&lt;/p&gt;  &lt;p&gt;I don’t mind been reminded of things but not to the point where I am then effectively stopped working because these windows are configured to always remain on top.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e8c5ad31-7dee-4d13-9801-81d859562aab" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Windows+7" rel="tag"&gt;Windows 7&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Action+center" rel="tag"&gt;Action center&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1741264" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>WMICookbook: Read Routing Table</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/20/wmicookbook-read-routing-table.aspx</link><pubDate>Fri, 20 Nov 2009 16:59:33 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1741035</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1741035</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/20/wmicookbook-read-routing-table.aspx#comments</comments><description>&lt;p&gt;When we need to troubleshoot networking problems we will sometimes need to read the routing table on a machine. The routing table contains the information on the routes known to the network interfaces. This can be created automatically or manually . On the local machine we can use the route command to find this information – but how do we find it on a remote machine. WMI has a class that enables us to read the routing table. &lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:638px;padding-right:5px;font-family:consolas,lucida console;height:1136px;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;004               &lt;br /&gt;005               &lt;br /&gt;006               &lt;br /&gt;007               &lt;br /&gt;008               &lt;br /&gt;009               &lt;br /&gt;010               &lt;br /&gt;011               &lt;br /&gt;012               &lt;br /&gt;013               &lt;br /&gt;014               &lt;br /&gt;015               &lt;br /&gt;016               &lt;br /&gt;017               &lt;br /&gt;018               &lt;br /&gt;019               &lt;br /&gt;020               &lt;br /&gt;021               &lt;br /&gt;022               &lt;br /&gt;023               &lt;br /&gt;024               &lt;br /&gt;025               &lt;br /&gt;026               &lt;br /&gt;027               &lt;br /&gt;028               &lt;br /&gt;029               &lt;br /&gt;030               &lt;br /&gt;031               &lt;br /&gt;032               &lt;br /&gt;033               &lt;br /&gt;034               &lt;br /&gt;035               &lt;br /&gt;036               &lt;br /&gt;037               &lt;br /&gt;038               &lt;br /&gt;039               &lt;br /&gt;040               &lt;br /&gt;041               &lt;br /&gt;042               &lt;br /&gt;043               &lt;br /&gt;044               &lt;br /&gt;045               &lt;br /&gt;046               &lt;br /&gt;047               &lt;br /&gt;048               &lt;br /&gt;049               &lt;br /&gt;050               &lt;br /&gt;051               &lt;br /&gt;052               &lt;br /&gt;053               &lt;br /&gt;054               &lt;br /&gt;055               &lt;br /&gt;056               &lt;br /&gt;057               &lt;br /&gt;058               &lt;br /&gt;059               &lt;br /&gt;060               &lt;br /&gt;061               &lt;br /&gt;062               &lt;br /&gt;063               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#00008b;"&gt;function&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;Get-RouteTable&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#00008b;"&gt;param&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;[&lt;/span&gt;&lt;span style="color:#add8e6;"&gt;parameter&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;ValueFromPipeline&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$true&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;]&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#008080;"&gt;[string]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$computer&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;.&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;span style="color:#006400;"&gt;## create class for object&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$source&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;@&amp;quot;                &lt;br /&gt;public class WmiIPRoute                 &lt;br /&gt;{                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; private string _destination;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; private string _mask;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; private string _nexthop;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; private string _interface;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; private int _metric;                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public string Destination {                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; get {return _destination;}                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; set {_destination = value;}                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public string Mask {                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; get {return _mask;}                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; set {_mask = value;}                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public string NextHop {                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; get {return _nexthop;}                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; set {_nexthop = value;}                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public string Interface {                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; get {return _interface;}                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; set {_interface = value;}                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public int Metric {                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; get {return _metric;}                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; set {_metric = value;}                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }                 &lt;br /&gt;}                 &lt;br /&gt;&amp;quot;@&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#0000ff;"&gt;Add-Type&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-TypeDefinition&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$source&lt;/span&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$data&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;@(&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Get-WmiObject&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Class&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;Win32_IP4RouteTable&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-ComputerName&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$computer&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$route&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;New-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-TypeName&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;WmiIPRoute&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$route&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Destination&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Destination&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$route&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Mask&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Mask&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$route&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;NextHop&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;NextHop&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$route&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Metric&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Metric1&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$filt&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;InterfaceIndex=&amp;#39;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;InterfaceIndex&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;&amp;#39;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$ip&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Get-WmiObject&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Class&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;Win32_NetworkAdapterConfiguration&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Filter&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$filt&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-ComputerName&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$computer&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;IPAddress&lt;/span&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;InterfaceIndex&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-eq&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$route&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Interface&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;127.0.0.1&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;elseif&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$ip&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;length&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-eq&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;2&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$route&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Interface&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$ip&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;[&lt;/span&gt;&lt;span style="color:#800080;"&gt;0&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;else&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$route&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Interface&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$ip&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$data&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;+=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$route&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$data&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Format-Table&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-AutoSize&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Our function takes a single parameter – a computer name (or IP address) I’ve used the advanced function parameters to this function operates on the pipeline.&amp;#160; We then create a .NET class to hold our data – we will be accessing a couple of WMI classes so we’ll make the presentation neat.&amp;#160; The class is added using Add-Type.&lt;/p&gt;  &lt;p&gt;As an aside I really like this technique for collecting data together into a single object.&amp;#160; Its neater and easier to use than Add-Member.&lt;/p&gt;  &lt;p&gt;We can then use Get-WmiObject -Class Win32_IP4RouteTable -ComputerName $computer to retrieve the routing information. We create an instance of our object and populate the properties.&amp;#160; One thing we need to know is the Interface ie which address on our machine is using this route,&amp;#160; We can find this from the Win32_NetworkAdapterConfiguration&amp;#160; class.&amp;#160; There isn’t an association but we can find the address by using the InterfaceIndex as a filter – its the same value in both classes.&amp;#160; if the InterfaceIndex = 1 its the Loopback Adapter on 127.0.0.1&lt;/p&gt;  &lt;p&gt;We can then add our route to the data. When all the routes are collected we can display the data.&amp;#160; The data could be output onto the pipeline but at the moment I can’t think what else to do with it so we’ll leave it like this for now.&lt;/p&gt;  &lt;p&gt;Note: Win32_IP4RouteTable is only available on Windows 2003 and later&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ee88c3e3-93b5-4304-9eca-33ced95d7869" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WMI" rel="tag"&gt;WMI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Networking" rel="tag"&gt;Networking&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Routing+Table" rel="tag"&gt;Routing Table&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1741035" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+and+WMI/default.aspx">PowerShell and WMI</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+V2/default.aspx">PowerShell V2</category></item><item><title>Excel 2010 beta</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/19/excel-2010-beta.aspx</link><pubDate>Thu, 19 Nov 2009 19:09:26 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740820</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1740820</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/19/excel-2010-beta.aspx#comments</comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The beta still allows those of us that aren’t in the USA to use the simple method of creating a new spreadsheet using PowerShell.&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:750px;padding-right:5px;font-family:consolas,lucida console;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#ff4500;"&gt;$xl&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;New-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-comobject&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;excel.application&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$xl&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;visible&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$true&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$xlbooks&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$xl&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;workbooks&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Add&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Makes life easier.&lt;/p&gt;  &lt;p&gt;In case you are wondering – if you don’t have your machine set to US English and you are using Excel 2007 or earlier you have to do this.&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:756px;padding-right:5px;font-family:consolas,lucida console;height:138px;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;004               &lt;br /&gt;005               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#ff4500;"&gt;$xl&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;New-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-comobject&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;excel.application&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$xl&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;visible&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$true&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$xlbooks&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$xl&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;workbooks&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$newci&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#008080;"&gt;[System.Globalization.CultureInfo]&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$xlbooks&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;PSBase&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;GetType&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;InvokeMember&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Add&amp;quot;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#008080;"&gt;[Reflection.BindingFlags]&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;::&lt;/span&gt;&lt;span style="color:#000000;"&gt;InvokeMethod&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$null&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$xlbooks&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$null&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$newci&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ae038c82-2c83-43bf-b813-c1e25474a741" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Excel+2010" rel="tag"&gt;Excel 2010&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Excel+2007+and+earlier" rel="tag"&gt;Excel 2007 and earlier&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740820" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Powershell/default.aspx">Powershell</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Office+2010/default.aspx">Office 2010</category></item><item><title>PowerShell v2 cmdlets</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/19/powershell-v2-cmdlets.aspx</link><pubDate>Thu, 19 Nov 2009 18:19:02 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740814</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1740814</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/19/powershell-v2-cmdlets.aspx#comments</comments><description>&lt;p&gt;Jonathan has started a series of posts at &lt;a title="http://www.jonathanmedd.net/" href="http://www.jonathanmedd.net/"&gt;http://www.jonathanmedd.net/&lt;/a&gt; on all of the new cmdlets in PowerShell v2.&amp;#160; If you are just starting with v2, or want more information on whats new, this is a good place to start.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f279df54-2362-4cb8-8905-c943374df67c" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell+v2" rel="tag"&gt;PowerShell v2&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cmdlets" rel="tag"&gt;cmdlets&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740814" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+V2/default.aspx">PowerShell V2</category></item><item><title>Office 2010 – fixed in beta</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/18/office-2010-fixed-in-beta.aspx</link><pubDate>Wed, 18 Nov 2009 20:20:42 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740555</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1740555</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/18/office-2010-fixed-in-beta.aspx#comments</comments><description>&lt;p&gt;A couple of issues that I noticed with the Office 2010 TP have been fixed in the beta:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Word documents will now download from the Internet and open &lt;/li&gt;    &lt;li&gt;One undocks back to normal view correctly &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I did notice that in the Visio 2010 beta the Window title still says Technical Preview.&amp;#160; All the other components just have the application name.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d28435cd-3f51-4cb5-ab4a-5e0656c72ea5" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Office+2010" rel="tag"&gt;Office 2010&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740555" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Office+2010/default.aspx">Office 2010</category></item><item><title>Reminders via WPF</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/18/reminders-via-wpf.aspx</link><pubDate>Wed, 18 Nov 2009 19:13:41 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740540</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1740540</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/18/reminders-via-wpf.aspx#comments</comments><description>&lt;p&gt;If I am working on my home machine I don’t necessarily have Outlook or any other application that gives me calendaring capability open. There are times when I need a simple reminder to do something. For some reason I always seem to have PowerShell open so I thought of using the eventing system to give me a reminder.&amp;#160; I could also do this via the task scheduler functions in the PowerShellPack&amp;#160; (Windows 7 Resource kit) which I’ll look at another day.&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:686px;padding-right:5px;font-family:consolas,lucida console;height:393px;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;004               &lt;br /&gt;005               &lt;br /&gt;006               &lt;br /&gt;007               &lt;br /&gt;008               &lt;br /&gt;009               &lt;br /&gt;010               &lt;br /&gt;011               &lt;br /&gt;012               &lt;br /&gt;013               &lt;br /&gt;014               &lt;br /&gt;015               &lt;br /&gt;016               &lt;br /&gt;017               &lt;br /&gt;018               &lt;br /&gt;019               &lt;br /&gt;020               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#00008b;"&gt;function&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;Set-Alarm&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#00008b;"&gt;param&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#008080;"&gt;[datetime]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$time&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#008080;"&gt;[string]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$msg&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Alert Issued&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$now&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Get-Date&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$time&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-gt&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$now&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$ts&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$time&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$now&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;else&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#00008b;"&gt;throw&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Time has to be in future&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$timer&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;New-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-TypeName&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;System.Timers.Timer&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$timer&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Interval&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$ts&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;TotalMilliseconds&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$timer&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;AutoReset&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$false&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$timer&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Enabled&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$true&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$global:act&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Start-Process powershell -ArgumentList &amp;quot;&amp;quot;-Sta -WindowStyle Hidden -File C:\Scripts\WPF\show-alert.ps1 &amp;quot;&amp;quot;&amp;quot;&amp;quot;$msg&amp;quot;&amp;quot;&amp;quot;&amp;quot; &amp;quot;&amp;quot; &amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Register-ObjectEvent&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-InputObject&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$timer&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-EventName&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;Elapsed&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-SourceIdentifier&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;TimeAlert&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:#000080;"&gt;-Action&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Invoke-Expression&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Command&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$act&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;My function accepts a time and a message&lt;/p&gt;  &lt;p&gt;Set-Alarm &amp;quot;18:47&amp;quot; &amp;quot;Test1&amp;quot;&lt;/p&gt;  &lt;p&gt;It then gets the current time, compares the two times and assuming the alert is to be issued in the future creates a Timespan object be subtracting the times as shown.&lt;/p&gt;  &lt;p&gt;We can then create&amp;#160; .NET timer object and set the interval to the total number of milliseconds in our timespan. We only want it to fire once so we set autoReset to false and then enable the timer.&lt;/p&gt;  &lt;p&gt;I then create a global variable containing the powershell start up commands.&amp;#160; In this case I want it to start in Single Thread mode so I can use the WPF classes.&amp;#160; I call a script when PowerShell starts and pass the script the message.&amp;#160; Note the number of quotes around the $msg variable – this is to make sure the string passed to invoke-expression is correct.&amp;#160; This is messy but needed.&lt;/p&gt;  &lt;p&gt;The $act variable has to be global because the action scriptblock for Register-objectevent isn’t evaluated until the event fires.&amp;#160; If $act is in the script scope it won’t be found and the event won’t fire correctly.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:750px;padding-right:5px;font-family:consolas,lucida console;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;004               &lt;br /&gt;005               &lt;br /&gt;006               &lt;br /&gt;007               &lt;br /&gt;008               &lt;br /&gt;009               &lt;br /&gt;010               &lt;br /&gt;011               &lt;br /&gt;012               &lt;br /&gt;013               &lt;br /&gt;014               &lt;br /&gt;015               &lt;br /&gt;016               &lt;br /&gt;017               &lt;br /&gt;018               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#00008b;"&gt;param&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#008080;"&gt;[string]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$msg&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Testing&amp;quot;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#008080;"&gt;[string]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$title&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Alert&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#006400;"&gt;## load WPF assemblies&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#0000ff;"&gt;Add-Type&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;–assemblyName&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;PresentationFramework&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#0000ff;"&gt;Add-Type&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;–assemblyName&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;PresentationCore&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#0000ff;"&gt;Add-Type&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;–assemblyName&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;WindowsBase&lt;/span&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;span style="color:#006400;"&gt;## create a window&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$window&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;New-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-TypeName&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;System.Windows.Window&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$window&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Title&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$title&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$window&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Content&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$msg&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$window&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;FontSize&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;36&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$window&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SizeToContent&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;WidthAndHeight&amp;quot;&lt;/span&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;span style="color:#006400;"&gt;## display window&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$null&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$window&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;ShowDialog&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The script loads the WPF assemblies I need and then creates a window and writes out the message thats been passed in.&lt;/p&gt;  &lt;p&gt;This is a bit messy with having to create a global variable but I can’t think of a simpler way to access the variable in the scriptblock for Register-objectevent. The other issue is that I can only have a single event of this type defined because of the variable.&amp;#160; I would need to create the variable with a random name and create another string of the Register-objectevent&amp;#160; invocation.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ad884ca6-7af1-416b-8023-d93df06438e0" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell+v2" rel="tag"&gt;PowerShell v2&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Events" rel="tag"&gt;Events&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Timer" rel="tag"&gt;Timer&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740540" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Powershell/default.aspx">Powershell</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+V2/default.aspx">PowerShell V2</category></item><item><title>WMI CookBook: WMI Presentation</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/17/wmi-cookbook-wmi-presentation.aspx</link><pubDate>Tue, 17 Nov 2009 19:13:36 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740301</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1740301</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/17/wmi-cookbook-wmi-presentation.aspx#comments</comments><description>&lt;p&gt;As with other PowerShell objects there is a default format for the display of WMI objetcs. If we look at the NetworkAdapter class&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Get-WmiObject -Class Win32_NetworkAdapter -Filter &amp;quot;DeviceId=&amp;#39;11&amp;#39;&amp;quot; &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;ServiceName&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : athr      &lt;br /&gt;MACAddress&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 00:00:00:00:00:00       &lt;br /&gt;AdapterType&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Ethernet 802.3       &lt;br /&gt;DeviceID&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 11       &lt;br /&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Atheros AR5007 802.11b/g WiFi Adapter       &lt;br /&gt;NetworkAddresses :       &lt;br /&gt;Speed&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 54000000&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;You didn’t think I’d really give you my MAC address did you?&lt;/p&gt;  &lt;p&gt;If we want to see all of the properties we can do this&lt;/p&gt;  &lt;p&gt;Get-WmiObject -Class Win32_NetworkAdapter -Filter &amp;quot;DeviceId=&amp;#39;11&amp;#39;&amp;quot; | select -Property * &lt;/p&gt;  &lt;p&gt;but we get a few ugly looking entries&lt;/p&gt;  &lt;p&gt;__GENUS    &lt;br /&gt;__CLASS     &lt;br /&gt;__SUPERCLASS     &lt;br /&gt;__DYNASTY     &lt;br /&gt;__RELPATH     &lt;br /&gt;__PROPERTY_COUNT     &lt;br /&gt;__DERIVATION     &lt;br /&gt;__SERVER     &lt;br /&gt;__NAMESPACE     &lt;br /&gt;__PATH &lt;/p&gt;  &lt;p&gt;that we may not actually want or need.&lt;/p&gt;  &lt;p&gt;We can easily filter them out if desired&lt;/p&gt;  &lt;p&gt;Get-WmiObject -Class Win32_NetworkAdapter -Filter &amp;quot;DeviceId=&amp;#39;11&amp;#39;&amp;quot; | select -Property * -ExcludeProperty &amp;quot;__*&amp;quot;&lt;/p&gt;  &lt;p&gt;The ExcludeProperty takes a wild card to identify the properties with two underscore characters at the front.&lt;/p&gt;  &lt;p&gt;Simple but effective.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:74983a93-fd78-4432-9e57-324967052b31" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WMI" rel="tag"&gt;WMI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Property+Selection" rel="tag"&gt;Property Selection&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740301" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Powershell/default.aspx">Powershell</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+and+WMI/default.aspx">PowerShell and WMI</category></item><item><title>Office 2010 beta</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/17/office-2010-beta.aspx</link><pubDate>Tue, 17 Nov 2009 18:04:43 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740285</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1740285</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/17/office-2010-beta.aspx#comments</comments><description>&lt;p&gt;The Office 2010 beta is available on TechNet and MSDN. The installation seems very smooth. Need to uninstall Technical Preview version first – thats always boring and a pain.&lt;/p&gt;  &lt;p&gt;Slight hiccup over activation as the license key wasn’t asked for by Office when doing a customised install!!&amp;#160; Soon resolved that.&amp;#160; Visio and Project have separate installs but the look and feel matches the rest of Office.&lt;/p&gt;  &lt;p&gt;Now I’ve got that I’ll try a few more PowerShell and Office projects.&amp;#160; Be good to dig out the One Note PowerShell functions as well.&lt;/p&gt;  &lt;p&gt;I remembered to export my autocorrect entries before uninstalling the previous version and managed to import them back in – functions to do this can be found in earlier posts.&lt;/p&gt;  &lt;p&gt;I’m expecting this to be boring &amp;amp; just work.&amp;#160; I’ll let you know how I get on.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e39cdc53-fa4c-4e61-b506-2c0ba3c01dab" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Office+2010" rel="tag"&gt;Office 2010&lt;/a&gt;,&lt;a href="http://technorati.com/tags/beta" rel="tag"&gt;beta&lt;/a&gt;,&lt;a href="http://technorati.com/tags/install" rel="tag"&gt;install&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740285" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Office+2010/default.aspx">Office 2010</category></item><item><title>WMI CookBook: Associators Pt I</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/16/wmi-cookbook-associators-pt-i.aspx</link><pubDate>Mon, 16 Nov 2009 21:03:30 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740062</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1740062</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/16/wmi-cookbook-associators-pt-i.aspx#comments</comments><description>&lt;p&gt;WMI is a wonderful thing and like many people I have a love-hate relationship with it. It is incredibly powerful, and can take you deep into the system, but it is not easy to find your way.&lt;/p&gt;  &lt;p&gt;I have decided to spend some time digging into WMI and will document the findings in a (long) series of blog posts. I also intend to pull the information together into a document that will be available for download.&amp;#160; The scripts will end up in PowerShell modules that will also be available for download.&lt;/p&gt;  &lt;p&gt;I am doing this with PowerShell v2 on Windows 7. Where necessary, and wherever possible, I will give alternatives that can be used with PowerShell v1.&lt;/p&gt;  &lt;p&gt;The main trick with WMI is finding out the class or classes we need to actually use. The standard PowerShell way of searching for classes is to use the –List parameter.&amp;#160; Network Adapters are common items we need to deal with so we’ll see what WMI can tell us.&amp;#160; First, what WMI classes deal with Network Adapters. One thing we can do with –List is give a partial class name and a wildcard to restrict the results (otherwise we get lots, and lots of classes returned).&amp;#160; To begin with I’m only interested in the name of the class. I’m working in the default name space so don’t need to mention it.&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Get-WmiObject -List &amp;quot;Win32_NetworkAdapter*&amp;quot; | Select Name&lt;/p&gt;  &lt;p&gt;Name    &lt;br /&gt;----     &lt;br /&gt;Win32_NetworkAdapter     &lt;br /&gt;Win32_NetworkAdapterConfiguration     &lt;br /&gt;Win32_NetworkAdapterSetting &lt;/p&gt;  &lt;p&gt;We could now go off to MSDN and check what these classes do but we can find that information directly.&amp;#160; As Jeffrey showed recently &lt;a title="http://blogs.msdn.com/powershell/archive/2009/08/30/exploring-wmi-with-powershell-v2.aspx" href="http://blogs.msdn.com/powershell/archive/2009/08/30/exploring-wmi-with-powershell-v2.aspx"&gt;http://blogs.msdn.com/powershell/archive/2009/08/30/exploring-wmi-with-powershell-v2.aspx&lt;/a&gt; we can use the –Amended parameter to show the description property.&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:772px;padding-right:5px;font-family:consolas,lucida console;height:71px;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#0000ff;"&gt;Get-WmiObject&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-List&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Win32_NetworkAdapter*&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Get-WmiObject&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-List&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Name&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:#000080;"&gt;-Amended&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Qualifiers&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Where&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Name&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-eq&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Description&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Value&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This gives use this information for the three classes.&lt;/p&gt;  &lt;p&gt;The Win32_NetworkAdapter class represents a network adapter on a Win32 system.    &lt;br /&gt;The Win32_NetworkAdapterConfiguration class represents the attributes and behaviors of a network adapter. This class has been extended to include extra properties and methods that support the management of the TCP/IPprotocols (and are independent of the network adapter).     &lt;br /&gt;The Win32_NetworkAdapterSetting class represents an association between a network adapter and its configuration settings. &lt;/p&gt;  &lt;p&gt;If we look at Win32_NetworkAdapterSetting&lt;/p&gt;  &lt;p&gt;Get-WmiObject Win32_NetworkAdapterSetting&lt;/p&gt;  &lt;p&gt;we will see an entry for each adapter that links the adapter with its configuration. This information is paired like this:&lt;/p&gt;  &lt;p&gt;Element&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : \\RSLAPTOP01\root\cimv2:Win32_NetworkAdapter.DeviceID=&amp;quot;11&amp;quot;    &lt;br /&gt;Setting&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : &lt;a&gt;\\RSLAPTOP01\root\cimv2:Win32_NetworkAdapterConfiguration.Index=11&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If we look at the adapter and its configuration &lt;/p&gt;  &lt;p&gt;Get-WmiObject -Class Win32_NetworkAdapter -Filter &amp;quot;DeviceID=&amp;#39;11&amp;#39;&amp;quot;&lt;/p&gt;  &lt;p&gt;Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter &amp;quot;Index=&amp;#39;11&amp;#39;&amp;quot;&lt;/p&gt;  &lt;p&gt;we can see the individual information.&amp;#160; Going through the Win32_NetworkAdapterSetting class is tedious but now we now that the adapter’s DeviceId is linked to the Configurations Index we can use this ASSOCIATION via a bit of WQL.&lt;/p&gt;  &lt;p&gt;Get-WmiObject -Query &amp;quot;ASSOCIATORS OF {Win32_NetworkAdapter.DeviceID=&amp;#39;11&amp;#39;} WHERE ResultClass=Win32_NetworkAdapterConfiguration&amp;quot; &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;DHCPEnabled&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : True      &lt;br /&gt;IPAddress&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {192.168.196.138, fe80::6d95:b824:6a72:a0a9}       &lt;br /&gt;DefaultIPGateway : {192.168.196.1}       &lt;br /&gt;DNSDomain&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;ServiceName&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : athr       &lt;br /&gt;Description&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Atheros AR5007 802.11b/g WiFi Adapter       &lt;br /&gt;Index&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 11&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The other thing to think about is what other associations exist.&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Get-WmiObject -Query &amp;quot;ASSOCIATORS OF {Win32_NetworkAdapter.DeviceID=&amp;#39;11&amp;#39;} &amp;quot; | Select __CLASS -Unique &lt;/p&gt;  &lt;p&gt;__CLASS    &lt;br /&gt;-------     &lt;br /&gt;Win32_PnPEntity     &lt;br /&gt;Win32_ComputerSystem     &lt;br /&gt;Win32_NetworkAdapterConfiguration     &lt;br /&gt;Win32_IRQResource     &lt;br /&gt;Win32_DeviceMemoryAddress     &lt;br /&gt;Win32_NetworkProtocol     &lt;br /&gt;Win32_SystemDriver&lt;/p&gt;  &lt;p&gt;So we have a set of classes that are all associated through the network adpater device id.&amp;#160;&amp;#160; In the next few posts we will dig into this web and see what we can discover and how we can use these associations to help us understand our system.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5c2020e5-9a89-45c2-bd93-f45d58e59d87" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WMI" rel="tag"&gt;WMI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Network" rel="tag"&gt;Network&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740062" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+and+WMI/default.aspx">PowerShell and WMI</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+V2/default.aspx">PowerShell V2</category></item><item><title>Office 2010 TP</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/15/office-2010-tp.aspx</link><pubDate>Sun, 15 Nov 2009 11:00:40 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1739836</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1739836</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/15/office-2010-tp.aspx#comments</comments><description>&lt;p&gt;Recent talk of the imminent arrival of the Office 2010 beta made me suddenly remember I have been using the Technology Preview for a number of months. The only issue I have found is when downloading Word documents from the web.&amp;#160; Apart from that its solid.&amp;#160; So solid I forgot it was a Technology preview and just used it!!&lt;/p&gt;  &lt;p&gt;Assuming the beta fixes the problem and is just as solid its going to be good.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fc662dc0-ee24-4c4b-b52e-2faf85ef45c6" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Office+2010" rel="tag"&gt;Office 2010&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1739836" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Office+2010/default.aspx">Office 2010</category></item><item><title>Patch Tuesday</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/14/patch-tuesday.aspx</link><pubDate>Sat, 14 Nov 2009 20:15:23 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1739761</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1739761</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/14/patch-tuesday.aspx#comments</comments><description>&lt;p&gt;Patch Tuesday – the second Tuesday in the month – is the day Microsoft (and other vendors) release their patches. If you want to be able to plan ahead for these dates ( like arranging holiday or sick leave ) these two functions will supply the dates to look out for.&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:750px;padding-right:5px;font-family:consolas,lucida console;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;004               &lt;br /&gt;005               &lt;br /&gt;006               &lt;br /&gt;007               &lt;br /&gt;008               &lt;br /&gt;009               &lt;br /&gt;010               &lt;br /&gt;011               &lt;br /&gt;012               &lt;br /&gt;013               &lt;br /&gt;014               &lt;br /&gt;015               &lt;br /&gt;016               &lt;br /&gt;017               &lt;br /&gt;018               &lt;br /&gt;019               &lt;br /&gt;020               &lt;br /&gt;021               &lt;br /&gt;022               &lt;br /&gt;023               &lt;br /&gt;024               &lt;br /&gt;025               &lt;br /&gt;026               &lt;br /&gt;027               &lt;br /&gt;028               &lt;br /&gt;029               &lt;br /&gt;030               &lt;br /&gt;031               &lt;br /&gt;032               &lt;br /&gt;033               &lt;br /&gt;034               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#00008b;"&gt;function&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;get-secondTuesday&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#00008b;"&gt;param&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#008080;"&gt;[datetime]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$date&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;switch&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$date&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;DayOfWeek&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Sunday&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$patchTuesday&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$date&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;AddDays&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800080;"&gt;9&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#00008b;"&gt;break&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Monday&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$patchTuesday&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$date&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;AddDays&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800080;"&gt;8&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#00008b;"&gt;break&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Tuesday&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$patchTuesday&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$date&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;AddDays&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800080;"&gt;7&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#00008b;"&gt;break&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Wednesday&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$patchTuesday&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$date&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;AddDays&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800080;"&gt;13&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#00008b;"&gt;break&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Thursday&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$patchTuesday&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$date&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;AddDays&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800080;"&gt;12&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#00008b;"&gt;break&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Friday&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$patchTuesday&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$date&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;AddDays&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800080;"&gt;11&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#00008b;"&gt;break&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Saturday&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$patchTuesday&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$date&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;AddDays&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800080;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#00008b;"&gt;break&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$patchTuesday&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;ToLongDateString&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;span style="color:#00008b;"&gt;function&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;Get-PatchTuesday&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#00008b;"&gt;param&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;[&lt;/span&gt;&lt;span style="color:#add8e6;"&gt;parameter&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;ValueFromPipeline&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$true&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;]&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#008080;"&gt;[int]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$year&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Get-Date&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Year&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#008080;"&gt;[switch]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$nextmonth&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$nextmonth&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$now&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Get-Date&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$d&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Get-Date&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Day&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Month&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;$(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$now&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Month&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Year&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$now&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Year&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;get-secondTuesday&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$d&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;else&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#800080;"&gt;1&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;..&lt;/span&gt;&lt;span style="color:#800080;"&gt;12&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$d&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#008080;"&gt;[datetime]&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;$_/1/$year&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;get-secondTuesday&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$d&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Get-PatchTuesday takes a year (default is current year) and works out the first of each month as a date. This is passed to get-secondtuesday to calculate the date the patches will be released.&lt;/p&gt;  &lt;p&gt;If the –nextmonth parameter is used then the first of next month is calculated and the patch date for that month retrieved from getsecondtuesday.&lt;/p&gt;  &lt;p&gt;Dates for the next few months are&lt;/p&gt;  &lt;p&gt;08 December 2009    &lt;br /&gt;12 January 2010     &lt;br /&gt;09 February 2010     &lt;br /&gt;09 March 2010     &lt;br /&gt;13 April 2010     &lt;br /&gt;11 May 2010     &lt;br /&gt;08 June 2010     &lt;br /&gt;13 July 2010     &lt;br /&gt;10 August 2010     &lt;br /&gt;14 September 2010     &lt;br /&gt;12 October 2010     &lt;br /&gt;09 November 2010     &lt;br /&gt;14 December 2010&lt;/p&gt;  &lt;p&gt;Time to start planning.&lt;/p&gt;  &lt;p&gt;These functions can be adapted to provide dates for any date that follows the pattern of nth weekday.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:117fbf3c-8a79-4b05-bcd6-2df15fbcd660" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/dates" rel="tag"&gt;dates&lt;/a&gt;,&lt;a href="http://technorati.com/tags/patch+Tuesday" rel="tag"&gt;patch Tuesday&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1739761" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Powershell/default.aspx">Powershell</category></item><item><title>Friday 13th Part II</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/14/friday-13th-part-ii.aspx</link><pubDate>Sat, 14 Nov 2009 17:15:06 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1739746</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1739746</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/14/friday-13th-part-ii.aspx#comments</comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;No not the film&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:750px;padding-right:5px;font-family:consolas,lucida console;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;004               &lt;br /&gt;005               &lt;br /&gt;006               &lt;br /&gt;007               &lt;br /&gt;008               &lt;br /&gt;009               &lt;br /&gt;010               &lt;br /&gt;011               &lt;br /&gt;012               &lt;br /&gt;013               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#00008b;"&gt;function&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;get-fri13&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#006400;"&gt;&amp;lt;# .SYNOPSIS Calculates each Friday 13th for a given year .DESCRIPTION .PARAMETER year Specifies the year as an integer .EXAMPLE for current year get-fri13 for single year get-fr13 2010 for multiple years 2010..2020 | foreach {get-fri13 $_} .INPUTS Year as Integer #&amp;gt;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#00008b;"&gt;param&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;[&lt;/span&gt;&lt;span style="color:#add8e6;"&gt;parameter&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;ValueFromPipeline&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$true&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;]&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#008080;"&gt;[int]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$year&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Get-Date&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Year&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#800080;"&gt;1&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;..&lt;/span&gt;&lt;span style="color:#800080;"&gt;12&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$d&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#008080;"&gt;[datetime]&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;$_/13/$year&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$d&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;DayOfWeek&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-eq&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Friday&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$d&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;ToLongDateString&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;With the last friday 13th out of the way for this year I thought I’d convert my script into a function while I was seeing what next year brings.&amp;#160; Its the first function in my datetime module and I’ve added some comment based help.&lt;/p&gt;  &lt;p&gt;One quick point – if you use mandatory=$true in the parameter block it overrides the default value and expects a value to be given&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e937e673-c888-448a-8f89-551da33d60c8" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/dates" rel="tag"&gt;dates&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1739746" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+V2/default.aspx">PowerShell V2</category></item><item><title>Scheduled Tasks</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/13/scheduled-tasks.aspx</link><pubDate>Fri, 13 Nov 2009 15:42:23 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1739535</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1739535</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/13/scheduled-tasks.aspx#comments</comments><description>&lt;p&gt;Keeping on the theme of Scheduled Tasks I wanted to dig into the tasks that exist on my system.&amp;#160; I did a fresh install of Windows 7 in August and haven’t created any scheduled tasks – so what I see should be close to the system defaults.&amp;#160; This machine isn’t in a domain.&lt;/p&gt;  &lt;p&gt;I can load the task scheduler functions&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Import-Module TaskScheduler    &lt;br /&gt;PS&amp;gt; get-command -Module TaskScheduler &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;CommandType&amp;#160;&amp;#160;&amp;#160;&amp;#160; Name      &lt;br /&gt;-----------&amp;#160;&amp;#160;&amp;#160;&amp;#160; ----       &lt;br /&gt;Function&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Add-TaskAction       &lt;br /&gt;Function&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Add-TaskTrigger       &lt;br /&gt;Function&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Connect-ToTaskScheduler       &lt;br /&gt;Function&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Get-RunningTask       &lt;br /&gt;Function&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Get-ScheduledTask       &lt;br /&gt;Function&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; New-Task       &lt;br /&gt;Function&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Register-ScheduledTask       &lt;br /&gt;Function&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Remove-Task       &lt;br /&gt;Function&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Start-Task       &lt;br /&gt;Function&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Stop-Task&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;I can see the tasks that are running&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Get-RunningTask &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : SystemSoundsService      &lt;br /&gt;InstanceGuid&amp;#160; : {9E499B76-8A4E-4215-B043-619B0403D8F6}       &lt;br /&gt;Path&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : \Microsoft\Windows\Multimedia\SystemSoundsService       &lt;br /&gt;State&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 4       &lt;br /&gt;CurrentAction : Microsoft PlaySoundService Class       &lt;br /&gt;EnginePID&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 2456&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;in this case the definition is empty so I can’t see exactly what it is doing though the path and name give a strong hint its related to the sound system.&lt;/p&gt;  &lt;p&gt;Scheduled tasks are arranged in a folder hierarchy.&amp;#160;&amp;#160; If you want to see the full list use&lt;/p&gt;  &lt;p&gt;Get-ScheduledTask –Recurse&lt;/p&gt;  &lt;p&gt;we see a large number of jobs that are either disabled, ready or running.&lt;/p&gt;  &lt;p&gt;If you compare the list with the Task scheduler GUI tool you will see some jobs are missing.&amp;#160; These can be viewed by using the hidden switch&lt;/p&gt;  &lt;p&gt;Get-ScheduledTask -Recurse -Hidden | select path, name&lt;/p&gt;  &lt;p&gt;It is also possible to directly supply a folder and view the jobs in there.&lt;/p&gt;  &lt;p&gt;Looking at the total job population&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Get-ScheduledTask -Recurse -Hidden | group status &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Count Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;----- ----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160; 57 Ready&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160; 20 Disabled&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 2 Running&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 1 Queued&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;The Ready jobs look interesting&lt;/p&gt;  &lt;p&gt;Get-ScheduledTask -recurse -hidden | where {$_.status -eq &amp;quot;Ready&amp;quot; -and $_.LastRunTime -gt $((get-date).AddMonths(-1))} | sort LastRunTime -Descending&lt;/p&gt;  &lt;p&gt;will show everything run in the last month that is ready to run again.&amp;#160; Surprising just how many back ground tasks occur.&lt;/p&gt;  &lt;p&gt;Next time we’ll look at setting up a task to run when we login.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1fa1ba5d-760c-464f-926f-9d05136f9047" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/v2" rel="tag"&gt;v2&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Scheduled+task" rel="tag"&gt;Scheduled task&lt;/a&gt;,&lt;a href="http://technorati.com/tags/windows+7" rel="tag"&gt;windows 7&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1739535" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Powershell/default.aspx">Powershell</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+V2/default.aspx">PowerShell V2</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>Cleaning the Temp folder - Scheduling</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/12/cleaning-the-temp-folder-scheduling.aspx</link><pubDate>Thu, 12 Nov 2009 19:43:56 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1739310</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1739310</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/12/cleaning-the-temp-folder-scheduling.aspx#comments</comments><description>&lt;p&gt;When I posted about cleaning the temp folder &lt;a title="http://msmvps.com/blogs/richardsiddaway/archive/2009/11/04/cleaning-temp-folder.aspx" href="http://msmvps.com/blogs/richardsiddaway/archive/2009/11/04/cleaning-temp-folder.aspx"&gt;http://msmvps.com/blogs/richardsiddaway/archive/2009/11/04/cleaning-temp-folder.aspx&lt;/a&gt; I said I would look at scheduling the task.&amp;#160; I had intended to use the TaskScheduler module in the new PowerShell pack which can be downloaded from &lt;a title="http://code.msdn.microsoft.com/PowerShellPack" href="http://code.msdn.microsoft.com/PowerShellPack"&gt;http://code.msdn.microsoft.com/PowerShellPack&lt;/a&gt;.&amp;#160; It is also available in the Windows 7 Resource Kit.&amp;#160; The pack provides 10 modules for PowerShell 2.0 covering a number of areas:&lt;/p&gt;  &lt;p&gt;DotNet    &lt;br /&gt;FileSystem     &lt;br /&gt;IsePack     &lt;br /&gt;PowerShellPack     &lt;br /&gt;PSCodeGen     &lt;br /&gt;PSImageTools     &lt;br /&gt;PSRSS     &lt;br /&gt;PSSystemTools     &lt;br /&gt;PSUserTools     &lt;br /&gt;TaskScheduler     &lt;br /&gt;WPK&lt;/p&gt;  &lt;p&gt;The modules are installed in WindowsPowerShell\Modules in your profile.&lt;/p&gt;  &lt;p&gt;I’ll look at some of the others in future posts but for now I want to concentrate on the Scheduler.&amp;#160; The module supplies a number of functions&lt;/p&gt;  &lt;p&gt;Add-TaskAction    &lt;br /&gt;Add-TaskTrigger     &lt;br /&gt;Connect-ToTaskScheduler     &lt;br /&gt;Get-RunningTask     &lt;br /&gt;Get-ScheduledTask     &lt;br /&gt;New-Task     &lt;br /&gt;Register-ScheduledTask     &lt;br /&gt;Remove-Task     &lt;br /&gt;Start-Task     &lt;br /&gt;Stop-Task&lt;/p&gt;  &lt;p&gt;I had difficulty with the Add-TaskAction and Add-TaskTrigger functions so I ended up experimenting and produced the following script&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:873px;padding-right:5px;font-family:consolas,lucida console;height:483px;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;004               &lt;br /&gt;005               &lt;br /&gt;006               &lt;br /&gt;007               &lt;br /&gt;008               &lt;br /&gt;009               &lt;br /&gt;010               &lt;br /&gt;011               &lt;br /&gt;012               &lt;br /&gt;013               &lt;br /&gt;014               &lt;br /&gt;015               &lt;br /&gt;016               &lt;br /&gt;017               &lt;br /&gt;018               &lt;br /&gt;019               &lt;br /&gt;020               &lt;br /&gt;021               &lt;br /&gt;022               &lt;br /&gt;023               &lt;br /&gt;024               &lt;br /&gt;025               &lt;br /&gt;026               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#0000ff;"&gt;Import-Module&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;TaskScheduler&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$task&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;New-Task&lt;/span&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$at&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#008080;"&gt;[datetime]&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;1:00 PM&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#006400;"&gt;## trigger on daily schedule&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$trigger&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$task&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Triggers&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Create&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800080;"&gt;2&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$trigger&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;StartBoundary&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$at&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;ToString&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;s&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$trigger&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;DaysInterval&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;1&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$task&lt;/span&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;span style="color:#006400;"&gt;## run command line operation&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$Action&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$Task&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Actions&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Create&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800080;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$action&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Path&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Join-Path&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$psHome&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;PowerShell.exe&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$action&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;WorkingDirectory&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$pwd&lt;/span&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$Script&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#008080;"&gt;[ScriptBlock]&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Import-Module&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;FileFunctions&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Remove-TempContents&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$encodedScriptBlock&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$encodedCommand&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#008080;"&gt;[Convert]&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;::&lt;/span&gt;&lt;span style="color:#000000;"&gt;ToBase64String&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#008080;"&gt;[Text.Encoding]&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;::&lt;/span&gt;&lt;span style="color:#000000;"&gt;Unicode&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;GetBytes&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$script&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$action&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Arguments&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;+=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot; -encodedCommand $encodedCommand&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$task&lt;/span&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$scheduler&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Connect-ToTaskScheduler&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$scheduler&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Connected&lt;/span&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$folder&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$scheduler&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;GetFolder&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#006400;"&gt;## arguments task name, task definition, create task, userid, password, user must be logged in, security descriptor&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$folder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;RegisterTaskDefinition&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;TempClean&amp;quot;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$task&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;6&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;3&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$null&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I imported the TaskScheduler module and used the New-Task function to create a task.&amp;#160; I then set the task to run every day at 1:00pm.&amp;#160; The action the task performs is to first start PowerShell in the present working directory. Create a script block to run and encode it as shown.&amp;#160; The two references to $task show me the contents of the task variable.&amp;#160; its worth a look especially the XML.&lt;/p&gt;  &lt;p&gt;Connect-TaskScheduler is used to create a variable I can use for scheduling the task.&lt;/p&gt;  &lt;p&gt;We can see the scheduled task using&lt;/p&gt;  &lt;p&gt;Get-ScheduledTask&lt;/p&gt;  &lt;p&gt;We can run the task outside of the scheduled time&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Get-ScheduledTask -Name TempClean | Start-Task &lt;/p&gt;  &lt;p&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : TempClean    &lt;br /&gt;InstanceGuid&amp;#160; : {218CB104-5FBF-4611-B02D-151AA20363C1}     &lt;br /&gt;Path&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : \TempClean     &lt;br /&gt;State&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :     &lt;br /&gt;CurrentAction : C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe     &lt;br /&gt;EnginePID&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 1948 &lt;/p&gt;  &lt;p&gt;And we can remove the task&lt;/p&gt;  &lt;p&gt;Get-ScheduledTask -Name TempClean | Remove-Task&lt;/p&gt;  &lt;p&gt;the task scheduler API is documented on MSDN. &lt;a title="http://msdn.microsoft.com/en-us/library/aa383614(VS.85).aspx" href="http://msdn.microsoft.com/en-us/library/aa383614(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/aa383614(VS.85).aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This holds a lot of possibilities including creating tasks on remote machines.&amp;#160; Needs more investigation especially why the functions aren’t working for me.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:010353ef-4fa0-45f1-80a7-8b5a826d7863" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Scheduled+task" rel="tag"&gt;Scheduled task&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerPack" rel="tag"&gt;PowerPack&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Modules" rel="tag"&gt;Modules&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1739310" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Powershell/default.aspx">Powershell</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+V2/default.aspx">PowerShell V2</category></item><item><title>Extension for temporary files</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/11/extension-for-temporary-files.aspx</link><pubDate>Wed, 11 Nov 2009 19:52:24 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1739058</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1739058</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/11/extension-for-temporary-files.aspx#comments</comments><description>&lt;p&gt;When I did the post on creating temporary files &lt;a href="http://msmvps.com/blogs/richardsiddaway/archive/2009/11/05/creating-temporary-files.aspx"&gt;http://msmvps.com/blogs/richardsiddaway/archive/2009/11/05/creating-temporary-files.aspx&lt;/a&gt; I said I’d modify it so the file would be created with a given extension.&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:750px;padding-right:5px;font-family:consolas,lucida console;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;004               &lt;br /&gt;005               &lt;br /&gt;006               &lt;br /&gt;007               &lt;br /&gt;008               &lt;br /&gt;009               &lt;br /&gt;010               &lt;br /&gt;011               &lt;br /&gt;012               &lt;br /&gt;013               &lt;br /&gt;014               &lt;br /&gt;015               &lt;br /&gt;016               &lt;br /&gt;017               &lt;br /&gt;018               &lt;br /&gt;019               &lt;br /&gt;020               &lt;br /&gt;021               &lt;br /&gt;022               &lt;br /&gt;023               &lt;br /&gt;024               &lt;br /&gt;025               &lt;br /&gt;026               &lt;br /&gt;027               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#006400;"&gt;## asssume that want temp files in multiples of 1KB or empty&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#006400;"&gt;## renaming Get-ChildItem -Path c:\test\test2 | Rename-Item -NewName {$_.Name -replace &amp;quot;\....&amp;quot;, &amp;quot;.txt&amp;quot;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#00008b;"&gt;function&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;New-TempFile&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#00008b;"&gt;param&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#008080;"&gt;[string]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$path&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;C:\Test&amp;quot;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#008080;"&gt;[int]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$size&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;1KB&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#008080;"&gt;[string]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$ext&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#00008b;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;!&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Test-Path&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Path&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$path&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#00008b;"&gt;throw&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Invalid path&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$file&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#008080;"&gt;[System.IO.Path]&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;::&lt;/span&gt;&lt;span style="color:#000000;"&gt;GetRandomFileName&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$ext&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-ne&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$ext&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;StartsWith&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;.&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$ext&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$ext&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Remove&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800080;"&gt;0&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#800080;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$file&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$file&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-replace&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;\....&amp;quot;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;.$ext&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#00008b;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$size&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-eq&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;New-Item&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Path&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$path&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Name&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$file&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-ItemType&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;#39;File&amp;#39;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#00008b;"&gt;else&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$data&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;*&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;*&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;128&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$lines&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#008080;"&gt;[System.Math]&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;::&lt;/span&gt;&lt;span style="color:#000000;"&gt;Ceiling&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$size&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;/&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;1kb&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;*&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;8&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#00008b;"&gt;for&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$i&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#800080;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$i&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-le&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$lines&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$i&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;++&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Add-Content&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Path&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;$(&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Join-Path&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Path&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$path&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-ChildPath&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$file&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Value&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$data&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Get-ChildItem&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Path&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$path&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Filter&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$file&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;It just involves adding another parameter $ext with a default empty string value.&amp;#160; If we give an extension &lt;/p&gt;  &lt;p&gt;New-TempFile -size 2kb -ext &amp;quot;txt&amp;quot; -path &amp;quot;c:\test\test2&amp;quot;&lt;/p&gt;  &lt;p&gt;Then we test to see if it starts with a .&amp;#160;&amp;#160; and remove it.&amp;#160; We then replace the extension of the randomly generated filename using a regular expression match on the extension [ the regex is translated as 3 characters following a .&amp;#160; The \ is an escape character so . is read literally rather than as a wildcard]&lt;/p&gt;  &lt;p&gt;Everything else is the same.&amp;#160; One other thing I might do is change the way data is put into the files.&amp;#160; For larger files its slow so I might do something different there.&amp;#160; This is one of great features of working with PowerShell like this – I can get a working script quickly and then refine it over time as I get chance to think about it.&amp;#160; Because I can work interactively at the prompt I can quickly test ideas before changing the script.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:175e0ada-2d5f-477e-becc-144ffe144581" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/functions" rel="tag"&gt;functions&lt;/a&gt;,&lt;a href="http://technorati.com/tags/modules" rel="tag"&gt;modules&lt;/a&gt;,&lt;a href="http://technorati.com/tags/temporary" rel="tag"&gt;temporary&lt;/a&gt;,&lt;a href="http://technorati.com/tags/files" rel="tag"&gt;files&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1739058" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Powershell/default.aspx">Powershell</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+V2/default.aspx">PowerShell V2</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Modules/default.aspx">Modules</category></item><item><title>Security Essentials</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/10/security-essentials.aspx</link><pubDate>Tue, 10 Nov 2009 11:25:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738779</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1738779</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/10/security-essentials.aspx#comments</comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:750px;padding-right:5px;font-family:consolas,lucida console;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;004               &lt;br /&gt;005               &lt;br /&gt;006               &lt;br /&gt;007               &lt;br /&gt;008               &lt;br /&gt;009               &lt;br /&gt;010               &lt;br /&gt;011               &lt;br /&gt;012               &lt;br /&gt;013               &lt;br /&gt;014               &lt;br /&gt;015               &lt;br /&gt;016               &lt;br /&gt;017               &lt;br /&gt;018               &lt;br /&gt;019               &lt;br /&gt;020               &lt;br /&gt;021               &lt;br /&gt;022               &lt;br /&gt;023               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#006400;"&gt;#Requires -version 2.0&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#006400;"&gt;## wrapper functions for Microsoft Security Essentials&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$mse&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;C:\Program Files\Microsoft Security Essentials\MpCmdRun.exe&amp;quot;&lt;/span&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;span style="color:#00008b;"&gt;function&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;Start-Scan&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;param&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#008080;"&gt;[int]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$type&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;switch&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$type&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#800080;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Write-Host&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Starting Scan based on configuration&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$mse&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-scan&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-scantype&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;0&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;break&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#800080;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Write-Host&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Starting Quick Scan&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$mse&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-scan&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-scantype&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;1&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;break&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#800080;"&gt;2&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Write-Host&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Starting Full Scan&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$mse&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-scan&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-scantype&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;2&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;break&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;During my enforced break from posting in September &amp;amp; October PowerShell v2 was released for down level systems including Vista, Windows 2008, Windows 2003 and XP.&amp;#160; I’ve set up an XP machine to try it on and needed some AV. Not having licenses left for AVG which is my current AV product I decided to try Microsoft Security Essentials as well (its free which is always a good point for test machines)&lt;/p&gt;  &lt;p&gt;Security Essentials comes with a command line tool – but its not PowerShell. I can get two wins here by creating a module that wraps the mpcmdrun tool in PowerShell. It is also a good example of how to run a legacy command line tool within PowerShell and pass parameters to it.&lt;/p&gt;  &lt;p&gt;This function is the start – need to perform a scan – its easier to remember start-scan than the syntax of mpcmdrun.&amp;#160; I’ll can refine this by testing the range of the parameter and adding more functions.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1961c6fa-384e-48c1-aa73-dc36788ed43e" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell+v2" rel="tag"&gt;PowerShell v2&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XP" rel="tag"&gt;XP&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft+Security+Essentials" rel="tag"&gt;Microsoft Security Essentials&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738779" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+V2/default.aspx">PowerShell V2</category></item><item><title>Getting Change Events</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/09/getting-change-events.aspx</link><pubDate>Mon, 09 Nov 2009 20:04:22 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738650</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1738650</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/09/getting-change-events.aspx#comments</comments><description>&lt;p&gt;I wasn’t particularly happy with the script for getting change events on the filesystemwatcher we discussed last time.&amp;#160; As a quick recap we ended up with this&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:750px;padding-right:5px;font-family:consolas,lucida console;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;004               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#0000ff;"&gt;Get-Event&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-SourceIdentifier&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;File System Changed&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;where&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;EventIdentifier&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;%&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;2&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-eq&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;{0}, {1}, {2}&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-f&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SourceIdentifier&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SourceEventArgs&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;FullPath&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;TimeGenerated&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Which depends on the correct identification of the order in which events are issued.&amp;#160; That seemed like too much manual intervention. It was too late last night to solve so I had another look today and came up with this&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:820px;padding-right:5px;font-family:consolas,lucida console;height:75px;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#0000ff;"&gt;Get-Event&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-SourceIdentifier&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;File System Changed&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Group&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;TimeGenerated&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;where&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Count&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-eq&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;2&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$time&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Name&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Get-Event&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;where&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;TimeGenerated&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;ToString&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-eq&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$time&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;select&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-First&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;use get-event with the correct source identifier. We then group on timegenerated.&amp;#160; File Changes will generate two change records per event so we select where the count is 2.&amp;#160; Pass those into a foreach and retrieve the events matching that time. We select the first one of each pair to only access a single record. One neat line of PowerShell does it all.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:39e67598-b680-48fa-95f1-1dc3482bda4a" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/events" rel="tag"&gt;events&lt;/a&gt;,&lt;a href="http://technorati.com/tags/filesystemwatcher" rel="tag"&gt;filesystemwatcher&lt;/a&gt;,&lt;a href="http://technorati.com/tags/change" rel="tag"&gt;change&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738650" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Powershell/default.aspx">Powershell</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+V2/default.aspx">PowerShell V2</category></item><item><title>Watching the file system</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/09/watching-the-file-system.aspx</link><pubDate>Mon, 09 Nov 2009 08:15:50 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738544</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1738544</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/09/watching-the-file-system.aspx#comments</comments><description>&lt;p&gt;We saw how to watch for WMI events &lt;a title="http://msmvps.com/blogs/richardsiddaway/archive/2009/11/07/powershell-wmi-events.aspx" href="http://msmvps.com/blogs/richardsiddaway/archive/2009/11/07/powershell-wmi-events.aspx"&gt;http://msmvps.com/blogs/richardsiddaway/archive/2009/11/07/powershell-wmi-events.aspx&lt;/a&gt;. In this post we will look at watching the file system. This time we will use the .NET System.IO.FileSystemWatcher object which means we use Register-ObjectEvent instead of Register-WmiEvent.&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:750px;padding-right:5px;font-family:consolas,lucida console;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;004               &lt;br /&gt;005               &lt;br /&gt;006               &lt;br /&gt;007               &lt;br /&gt;008               &lt;br /&gt;009               &lt;br /&gt;010               &lt;br /&gt;011               &lt;br /&gt;012               &lt;br /&gt;013               &lt;br /&gt;014               &lt;br /&gt;015               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#006400;"&gt;## folder to watch&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$folder&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;C:\test&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#006400;"&gt;## watch all files&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$filter&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;*&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#006400;"&gt;## events to watch&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$events&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;@(&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Changed&amp;quot;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Created&amp;quot;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Deleted&amp;quot;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Renamed&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#006400;"&gt;##&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#006400;"&gt;## create watcher&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$fsw&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;New-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-TypeName&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;System.IO.FileSystemWatcher&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-ArgumentList&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$folder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$filter&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$fsw&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;IncludeSubDirectories&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$true&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#006400;"&gt;##&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#006400;"&gt;## register events&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#00008b;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$event&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#00008b;"&gt;in&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$events&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Register-ObjectEvent&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-InputObject&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$fsw&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-EventName&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$event&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-SourceIdentifier&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;File System $event&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;We can start by defining the folder we want to watch and which files.&amp;#160; In this case I want to watch all files. We can restrict it to certain files e.g. $filter = “*.txt”&lt;/p&gt;  &lt;p&gt;Wildcards work in the normal way for this filter.&amp;#160; We could even restrict to a single file. The events we are interested in are defined.&lt;/p&gt;  &lt;p&gt;After creating a System.IO.FileSystemWatcher object using the folder and filter in the construction we set the IncludeSubDirectories property so we are watching the whole path.&lt;/p&gt;  &lt;p&gt;Finally we need to register an event for each event we are interested in. Notice how the SourceIdentifier changes to identify the particular event.&lt;/p&gt;  &lt;p&gt;We can see the Eventsubscribers we have created.&lt;/p&gt;  &lt;p&gt;PS&amp;gt; &lt;font color="#0000ff"&gt;&lt;strong&gt;Get-EventSubscriber | Select SubscriptionId, EventName, SourceIdentifier | ft -a&lt;/strong&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;SubscriptionId EventName SourceIdentifier      &lt;br /&gt;-------------- --------- ----------------       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3 Changed&amp;#160;&amp;#160; File System Changed       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 4 Created&amp;#160;&amp;#160; File System Created       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 5 Deleted&amp;#160;&amp;#160; File System Deleted       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 6 Renamed&amp;#160;&amp;#160; File System Renamed&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;We now need to perform some actions on the files – create, change, rename, delete that we are monitoring&lt;/p&gt;  &lt;p&gt;PS&amp;gt; &lt;strong&gt;&lt;font color="#0000ff"&gt;Get-Event | group SourceIdentifier&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Count Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Group      &lt;br /&gt;----- ----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -----       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 7 File System Changed&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {System.Management.Automation.PSEventArgs, System.Management.Automation.PSEventArgs,...       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 1 File System Renamed&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {System.Management.Automation.PSEventArgs}       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 1 File System Created&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {System.Management.Automation.PSEventArgs}       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 1 File System Deleted&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {System.Management.Automation.PSEventArgs}&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;If we look at this in more detail &lt;/p&gt;  &lt;p&gt;PS&amp;gt; &lt;strong&gt;&lt;font color="#0000ff"&gt;Get-Event | select EventIdentifier, SourceIdentifier, TimeGenerated&lt;/font&gt;&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; EventIdentifier SourceIdentifier&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; TimeGenerated      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; --------------- ----------------&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -------------       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1 File System Changed&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 08/11/2009 11:46:39       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2 File System Changed&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 08/11/2009 11:46:39       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3 File System Renamed&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 08/11/2009 11:49:53       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 4 File System Changed&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 08/11/2009 11:49:53       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 5 File System Created&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 08/11/2009 11:53:18       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 6 File System Changed&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 08/11/2009 11:53:18       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 7 File System Changed&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 08/11/2009 11:53:31       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 8 File System Changed&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 08/11/2009 11:53:31       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 9 File System Deleted&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 08/11/2009 11:54:22       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 10 File System Changed&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 08/11/2009 11:54:22&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;Note that we get pairs of events – the second event of the pair is always a change event.&amp;#160; If we just want to see the changes (and remove duplicates). Just be careful on this and check whether its the odd or even record you need if running multiple registered events.&amp;#160; &lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:768px;padding-right:5px;font-family:consolas,lucida console;height:109px;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;004               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#0000ff;"&gt;Get-Event&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-SourceIdentifier&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;File System Changed&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;where&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;EventIdentifier&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;%&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;2&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-eq&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;{0}, {1}, {2}&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-f&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SourceIdentifier&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SourceEventArgs&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;FullPath&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;TimeGenerated&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;We can use Get-Event to pull the change events from the queue. The modulo arithmetic on the EventIdentifier ensures that we only get the first change record. We can then dump the file path and time of change.&lt;/p&gt;  &lt;p&gt;In a similar way we can interrogate the other events&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:750px;padding-right:5px;font-family:consolas,lucida console;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;004               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#0000ff;"&gt;Get-Event&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-SourceIdentifier&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;File System Created&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;{0}, {1}, {2}&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-f&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SourceIdentifier&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SourceEventArgs&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;FullPath&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;TimeGenerated&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="5" width="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top"&gt;         &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001            &lt;br /&gt;002             &lt;br /&gt;003             &lt;br /&gt;004             &lt;br /&gt;&lt;/div&gt;       &lt;/td&gt;        &lt;td valign="top" nowrap="nowrap"&gt;         &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#0000ff;"&gt;Get-Event&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-SourceIdentifier&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;File System Renamed&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;             &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;{0}, {1}, {2}, {3}&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-f&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SourceIdentifier&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SourceEventArgs&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;OldFullPath&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SourceEventArgs&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;FullPath&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;TimeGenerated&lt;/span&gt;             &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;            &lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt; &lt;/div&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:750px;padding-right:5px;font-family:consolas,lucida console;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;004               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#0000ff;"&gt;Get-Event&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-SourceIdentifier&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;File System Deleted&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;{0}, {1}, {2}&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-f&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SourceIdentifier&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SourceEventArgs&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;FullPath&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$_&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;TimeGenerated&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;These four could be combined into a single script if required.&lt;/p&gt;  &lt;p&gt;Combined with the process tracing we did previously we can now track what programs are started on a system and what files are accessed.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f0c8813e-3bf7-48ed-ab9b-1b3a8f4931c3" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Powershell" rel="tag"&gt;Powershell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/events" rel="tag"&gt;events&lt;/a&gt;,&lt;a href="http://technorati.com/tags/files" rel="tag"&gt;files&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738544" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Powershell/default.aspx">Powershell</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+V2/default.aspx">PowerShell V2</category></item><item><title>Multiple test files</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/08/multiple-test-files.aspx</link><pubDate>Sun, 08 Nov 2009 11:03:12 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738368</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1738368</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/08/multiple-test-files.aspx#comments</comments><description>&lt;p&gt;Back here &lt;a title="http://msmvps.com/blogs/richardsiddaway/archive/2009/11/05/creating-temporary-files.aspx" href="http://msmvps.com/blogs/richardsiddaway/archive/2009/11/05/creating-temporary-files.aspx"&gt;http://msmvps.com/blogs/richardsiddaway/archive/2009/11/05/creating-temporary-files.aspx&lt;/a&gt; or &lt;a title="http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2595.entry" href="http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2595.entry"&gt;http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2595.entry&lt;/a&gt; I showed how to create temporary test files.&lt;/p&gt;  &lt;p&gt;We can simply create multiple test files like this&lt;/p&gt;  &lt;p&gt;1..10 | foreach {new-tempfile -path c:\test\test1 -size $(Get-Random -Maximum 1mb -Minimum 1kb)}&lt;/p&gt;  &lt;p&gt;A one line PowerShell script that generates 10 files in the given folder with random names and sizes.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a007594e-76a6-46cc-b742-f4051ac8ad8e" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell+v2" rel="tag"&gt;PowerShell v2&lt;/a&gt;,&lt;a href="http://technorati.com/tags/files" rel="tag"&gt;files&lt;/a&gt;,&lt;a href="http://technorati.com/tags/temporary" rel="tag"&gt;temporary&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738368" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Powershell/default.aspx">Powershell</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+V2/default.aspx">PowerShell V2</category></item><item><title>PowerShell WMI events</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/07/powershell-wmi-events.aspx</link><pubDate>Sat, 07 Nov 2009 21:29:51 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738276</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1738276</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/07/powershell-wmi-events.aspx#comments</comments><description>&lt;p&gt;In my previous post ( &lt;a title="http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2598.entry" href="http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2598.entry"&gt;http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2598.entry&lt;/a&gt;&amp;#160; or &lt;a title="http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2598.entry" href="http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2598.entry"&gt;http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2598.entry&lt;/a&gt; ) I started to look at WMI events in PowerShell v2.&amp;#160; The win32_process class was used but all that showed us was that a process had started. We need a bit more information.&amp;#160; A bit of digging brought up the Win32_ProcessStartTrace class that seems to do what we want.&amp;#160; &lt;/p&gt;  &lt;p&gt;Register-WMIEvent allows us to specify the class we want to use rather than a query – however if we try that we don’t get anything returned&amp;#160; - oops. &lt;/p&gt;  &lt;p&gt;Looking through the help for Register-WMIEvent shows that we have the possibility of performing an action when the event occurs.&amp;#160; The action scriptblock can use a number of variables including $Event, $EventSubscriber, $Sender, $SourceEventArgs, and $SourceArgs automatic variables.&amp;#160; Wanting to understand these variables I tried dumping it though get-member.&amp;#160; &lt;/p&gt;  &lt;p&gt;PS&amp;gt; Register-WmiEvent -Query &amp;quot;Select * FROM Win32_ProcessStartTrace&amp;quot; -Action {$Event | gm} &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; State&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HasMoreData&amp;#160;&amp;#160;&amp;#160;&amp;#160; Location&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Command      &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -----------&amp;#160;&amp;#160;&amp;#160;&amp;#160; --------&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -------       &lt;br /&gt;2&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; c1016218-f80... NotStarted False&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $Event | gm&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The subscription runs as a PowerShell job. Using the opening of Notepad to trigger the event we can see that data is returned.&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Get-Job &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; State&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HasMoreData&amp;#160;&amp;#160;&amp;#160;&amp;#160; Location&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Command      &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -----------&amp;#160;&amp;#160;&amp;#160;&amp;#160; --------&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -------       &lt;br /&gt;2&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; c1016218-f80... Running&amp;#160;&amp;#160;&amp;#160; True&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $Event | gm &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;And see that we have a few properties to play with.&amp;#160; ComputerName may come in useful if we are dealing with remote machines.&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Receive-Job -Id 2 &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; TypeName: System.Management.Automation.PSEventArgs &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MemberType Definition      &lt;br /&gt;----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ---------- ----------       &lt;br /&gt;Equals&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Method&amp;#160;&amp;#160;&amp;#160;&amp;#160; bool Equals(System.Object obj)       &lt;br /&gt;GetHashCode&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Method&amp;#160;&amp;#160;&amp;#160;&amp;#160; int GetHashCode()       &lt;br /&gt;GetType&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Method&amp;#160;&amp;#160;&amp;#160;&amp;#160; type GetType()       &lt;br /&gt;ToString&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Method&amp;#160;&amp;#160;&amp;#160;&amp;#160; string ToString()       &lt;br /&gt;ComputerName&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String ComputerName {get;}       &lt;br /&gt;EventIdentifier&amp;#160; Property&amp;#160;&amp;#160; System.Int32 EventIdentifier {get;}       &lt;br /&gt;MessageData&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.Management.Automation.PSObject MessageData {get;}       &lt;br /&gt;RunspaceId&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.Guid RunspaceId {get;}       &lt;br /&gt;Sender&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.Object Sender {get;}       &lt;br /&gt;SourceArgs&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.Object[] SourceArgs {get;}       &lt;br /&gt;SourceEventArgs&amp;#160; Property&amp;#160;&amp;#160; System.EventArgs SourceEventArgs {get;}       &lt;br /&gt;SourceIdentifier Property&amp;#160;&amp;#160; System.String SourceIdentifier {get;}       &lt;br /&gt;TimeGenerated&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.DateTime TimeGenerated {get;}       &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;The properties look similar to those we saw in the last post.&amp;#160; Lets dig into SourceEventArgs&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Register-WmiEvent -Query &amp;quot;Select * FROM Win32_ProcessStartTrace&amp;quot; -Action {$Event.SourceEventArgs | gm} &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; State&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HasMoreData&amp;#160;&amp;#160;&amp;#160;&amp;#160; Location&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Command      &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -----------&amp;#160;&amp;#160;&amp;#160;&amp;#160; --------&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -------       &lt;br /&gt;3&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 8d4246a5-5f8... NotStarted False&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $Event.SourceEventArgs... &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Get-Job &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; State&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HasMoreData&amp;#160;&amp;#160;&amp;#160;&amp;#160; Location&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Command      &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -----------&amp;#160;&amp;#160;&amp;#160;&amp;#160; --------&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -------       &lt;br /&gt;3&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 8d4246a5-5f8... Running&amp;#160;&amp;#160;&amp;#160; True&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $Event.SourceEventArgs... &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Receive-Job -Id 3 &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; TypeName: System.Management.EventArrivedEventArgs &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MemberType Definition      &lt;br /&gt;----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ---------- ----------       &lt;br /&gt;Equals&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Method&amp;#160;&amp;#160;&amp;#160;&amp;#160; bool Equals(System.Object obj)       &lt;br /&gt;GetHashCode Method&amp;#160;&amp;#160;&amp;#160;&amp;#160; int GetHashCode()       &lt;br /&gt;GetType&amp;#160;&amp;#160;&amp;#160;&amp;#160; Method&amp;#160;&amp;#160;&amp;#160;&amp;#160; type GetType()       &lt;br /&gt;ToString&amp;#160;&amp;#160;&amp;#160; Method&amp;#160;&amp;#160;&amp;#160;&amp;#160; string ToString()       &lt;br /&gt;Context&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.Object Context {get;}       &lt;br /&gt;NewEvent&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.Management.ManagementBaseObject NewEvent {get;}&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Only thing here that look interesting is NewEvent&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Register-WmiEvent -Query &amp;quot;Select * FROM Win32_ProcessStartTrace&amp;quot; -Action {$Event.SourceEventArgs.NewEvent | gm} &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; State&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HasMoreData&amp;#160;&amp;#160;&amp;#160;&amp;#160; Location&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Command      &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -----------&amp;#160;&amp;#160;&amp;#160;&amp;#160; --------&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -------       &lt;br /&gt;4&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0857a744-1d3... NotStarted False&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $Event.SourceEventArgs... &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Receive-Job -Id 4 &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; TypeName: System.Management.ManagementBaseObject#\Win32_ProcessStartTrace &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MemberType Definition      &lt;br /&gt;----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ---------- ----------       &lt;br /&gt;ParentProcessID&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.UInt32 ParentProcessID {get;set;}       &lt;br /&gt;ProcessID&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.UInt32 ProcessID {get;set;}       &lt;br /&gt;ProcessName&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String ProcessName {get;set;}       &lt;br /&gt;SECURITY_DESCRIPTOR Property&amp;#160;&amp;#160; System.Byte[] SECURITY_DESCRIPTOR {get;set;}       &lt;br /&gt;SessionID&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.UInt32 SessionID {get;set;}       &lt;br /&gt;Sid&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.Byte[] Sid {get;set;}       &lt;br /&gt;TIME_CREATED&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.UInt64 TIME_CREATED {get;set;}       &lt;br /&gt;__CLASS&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String __CLASS {get;set;}       &lt;br /&gt;__DERIVATION&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String[] __DERIVATION {get;set;}       &lt;br /&gt;__DYNASTY&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String __DYNASTY {get;set;}       &lt;br /&gt;__GENUS&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.Int32 __GENUS {get;set;}       &lt;br /&gt;__NAMESPACE&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String __NAMESPACE {get;set;}       &lt;br /&gt;__PATH&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String __PATH {get;set;}       &lt;br /&gt;__PROPERTY_COUNT&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.Int32 __PROPERTY_COUNT {get;set;}       &lt;br /&gt;__RELPATH&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String __RELPATH {get;set;}       &lt;br /&gt;__SERVER&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String __SERVER {get;set;}       &lt;br /&gt;__SUPERCLASS&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String __SUPERCLASS {get;set;}&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now we have got to the information we need.&amp;#160; So how can we use this.&amp;#160; Up to now we have just allowed the job to run and then picked the data from the job.&amp;#160; One option is to write the data to the prompt as shown in this example&amp;#160; &lt;a title="http://blogs.msdn.com/powershell/archive/2009/08/30/exploring-wmi-with-powershell-v2.aspx" href="http://blogs.msdn.com/powershell/archive/2009/08/30/exploring-wmi-with-powershell-v2.aspx"&gt;http://blogs.msdn.com/powershell/archive/2009/08/30/exploring-wmi-with-powershell-v2.aspx&lt;/a&gt;.&amp;#160; A lot of this digging was because I didn’t understand how this was put together.&amp;#160; PowerShell really is the best way to discover how to use PowerShell!!&lt;/p&gt;  &lt;p&gt;This gets us to this script which is modified from the PowerShell Team blog&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:750px;padding-right:5px;font-family:consolas,lucida console;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;004               &lt;br /&gt;005               &lt;br /&gt;006               &lt;br /&gt;007               &lt;br /&gt;008               &lt;br /&gt;009               &lt;br /&gt;010               &lt;br /&gt;011               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#006400;"&gt;## query&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$q&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Select * from Win32_ProcessStartTrace&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#006400;"&gt;## action script block&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$a&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$eSEANE&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$Event&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SourceEventArgs&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;NewEvent&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$str&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;#39;Computer {0},ID {1}, Name &amp;quot;{2}&amp;quot;, Time {3}, Source {4}&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$data&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$str&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-f&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$Event&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Sender&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Scope&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Path&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Server&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$eSEANE&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;ProcessId&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;`               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$eSEANE&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;ProcessName&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$Event&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;TimeGenerated&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$Event&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SourceIdentifier&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Write-Host&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$data&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#0000ff;"&gt;Register-WmiEvent&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Query&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$q&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-SourceIdentifier&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Process Start&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Action&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$a&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Turns out the ComputerName parameter doesn’t work but a comment on the blog shows how Jeffrey Hicks solved the problem.&lt;/p&gt;  &lt;p&gt;What we get now is a listing at our PowerShell prompt&amp;#160; when a new process starts. We can keep working and the data comes through when the prompt is idle.&lt;/p&gt;  &lt;p&gt;Next we will look at closing a process and recording the data in a log&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0308d51f-7878-4d76-baf1-7cbb5c9ffcaa" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell+v2" rel="tag"&gt;PowerShell v2&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WMI" rel="tag"&gt;WMI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Events" rel="tag"&gt;Events&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738276" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+and+WMI/default.aspx">PowerShell and WMI</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+V2/default.aspx">PowerShell V2</category></item></channel></rss>