<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://powershell.com/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Power Tips</title><link>http://powershell.com/cs/blogs/tips/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2008.5 (Build: 30929.2835)</generator><item><title>Converting TABs to Spaces</title><link>http://powershell.com/cs/blogs/tips/archive/2012/02/03/converting-tabs-to-spaces.aspx</link><pubDate>Fri, 03 Feb 2012 12:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:14216</guid><dc:creator>ps1</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://powershell.com/cs/blogs/tips/rsscomments.aspx?PostID=14216</wfw:commentRss><comments>http://powershell.com/cs/blogs/tips/archive/2012/02/03/converting-tabs-to-spaces.aspx#comments</comments><description>&lt;p&gt;When you want to publish PowerShell code, you may want to make sure that all TAB characters are converted to one or more spaces to save space.&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s the code that turns TAB characters to spaces:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$text&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;This is a`tTAB-delimited`tText&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$text&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;This&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;is&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;a&lt;/span&gt;&lt;span style="color:#000000;"&gt;       &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;TAB-delimited&lt;/span&gt;&lt;span style="color:#000000;"&gt;   &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Text&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$text&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;-replace&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;\t&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&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:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;  &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;This&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;is&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;a&lt;/span&gt;&lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;TAB-delimited&lt;/span&gt;&lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Text&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;a target="twitter" href="http://twitter.com/home/?status=RT+%40PowerTip+%20Converting%20TABs%20to%20Spaces%20with%20%23PowerShell+http://bit.ly/wCwcms"&gt;&lt;img src="http://powershell.com/cs/Themes/powershell/images/ps/twitter_32x32.png" alt="Twitter This Tip!" style="vertical-align:middle;border:0px;" /&gt;&lt;/a&gt; &lt;a target="twitter" href="http://twitter.com/home/?status=RT+%40%20Converting%20TABs%20to%20Spaces%20with%20%23PowerShell+http://bit.ly/wCwcms"&gt;ReTweet this Tip!&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://powershell.com/cs/aggbug.aspx?PostID=14216" width="1" height="1"&gt;</description></item><item><title>Removing Multiple White Spaces</title><link>http://powershell.com/cs/blogs/tips/archive/2012/02/02/removing-multiple-white-spaces.aspx</link><pubDate>Thu, 02 Feb 2012 12:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:14215</guid><dc:creator>ps1</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://powershell.com/cs/blogs/tips/rsscomments.aspx?PostID=14215</wfw:commentRss><comments>http://powershell.com/cs/blogs/tips/archive/2012/02/02/removing-multiple-white-spaces.aspx#comments</comments><description>&lt;p&gt;Removing multiple white spaces from text is easy in PowerShell. Simply use -replace operator and look for whitespaces (&amp;quot;\s&amp;quot;) that occur one or more time (&amp;quot;+&amp;quot;), then replace them all with just one whitespace:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;[     Man,     it works!     ]&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;-replace&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;\s+&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&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:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
[ &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Man&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:#0000ff;"&gt;it&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;works&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;!&lt;/span&gt;&lt;span style="color:#000000;"&gt; ]
&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;a target="twitter" href="http://twitter.com/home/?status=RT+%40PowerTip+%20Removing%20Multiple%20White%20Spaces%20with%20%23PowerShell+http://bit.ly/xZJWBk"&gt;&lt;img src="http://powershell.com/cs/Themes/powershell/images/ps/twitter_32x32.png" alt="Twitter This Tip!" style="vertical-align:middle;border:0px;" /&gt;&lt;/a&gt; &lt;a target="twitter" href="http://twitter.com/home/?status=RT+%40%20Removing%20Multiple%20White%20Spaces%20with%20%23PowerShell+http://bit.ly/xZJWBk"&gt;ReTweet this Tip!&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://powershell.com/cs/aggbug.aspx?PostID=14215" width="1" height="1"&gt;</description></item><item><title>Removing Options from Command String (Enhancement)</title><link>http://powershell.com/cs/blogs/tips/archive/2012/02/01/removing-options-from-command-string-enhancement.aspx</link><pubDate>Wed, 01 Feb 2012 12:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:14213</guid><dc:creator>ps1</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://powershell.com/cs/blogs/tips/rsscomments.aspx?PostID=14213</wfw:commentRss><comments>http://powershell.com/cs/blogs/tips/archive/2012/02/01/removing-options-from-command-string-enhancement.aspx#comments</comments><description>&lt;p&gt;In a previous tip we showed how you can remove options from a command line text using -replace. Here is a more versatile approach. It will remove any character or word that starts with &amp;quot;/&amp;quot; and then remove all trailing spaces as well:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$command&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;somecommand &amp;quot;C:\Some Folder&amp;quot; &amp;quot;C:\Some New Folder Name&amp;quot; /y /r /quiet /simple&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#800080;"&gt;$command&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;-replace&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;/\w*&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&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:#800080;"&gt;$null&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:#8b4513;"&gt;trim&lt;/span&gt;&lt;span style="color:#000000;"&gt;()
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;somecommand&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;C:\Some Folder&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;C:\Some New Folder Name&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;a target="twitter" href="http://twitter.com/home/?status=RT+%40PowerTip+%20Removing%20Options%20from%20Command%20String%20(Enhancement)%20with%20%23PowerShell+http://bit.ly/yvuZOZ"&gt;&lt;img src="http://powershell.com/cs/Themes/powershell/images/ps/twitter_32x32.png" alt="Twitter This Tip!" style="vertical-align:middle;border:0px;" /&gt;&lt;/a&gt; &lt;a target="twitter" href="http://twitter.com/home/?status=RT+%40%20Removing%20Options%20from%20Command%20String%20(Enhancement)%20with%20%23PowerShell+http://bit.ly/yvuZOZ"&gt;ReTweet this Tip!&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://powershell.com/cs/aggbug.aspx?PostID=14213" width="1" height="1"&gt;</description></item><item><title>Remove Options from Command String</title><link>http://powershell.com/cs/blogs/tips/archive/2012/01/31/remove-options-from-command-string.aspx</link><pubDate>Tue, 31 Jan 2012 12:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:14212</guid><dc:creator>ps1</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://powershell.com/cs/blogs/tips/rsscomments.aspx?PostID=14212</wfw:commentRss><comments>http://powershell.com/cs/blogs/tips/archive/2012/01/31/remove-options-from-command-string.aspx#comments</comments><description>&lt;p&gt;Let&amp;#39;s assume you&amp;#39;d like to remove all options from a raw text command such as this one:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#0000ff;"&gt;xcopy&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;C:\Some Folder&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;C:\Some New Folder Name&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;/y&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;/r&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;/Q&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;Since all options start with &amp;quot;/&amp;quot; and are a single character, you can derive a pattern and use a regular expression replace operation. Have a look:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;xcopy &amp;quot;C:\Some Folder&amp;quot; &amp;quot;C:\Some New Folder Name&amp;quot; /y /r /Q&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;-replace&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;/.&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&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:#800080;"&gt;$null&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;xcopy&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;C:\Some Folder&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;C:\Some New Folder Name&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;All options are removed. -replace was looking for a &amp;quot;/&amp;quot; and then any other character (&amp;quot;.&amp;quot;) and replacing every occurrence with nothing ($null).&lt;/p&gt;
&lt;p&gt;&lt;a target="twitter" href="http://twitter.com/home/?status=RT+%40PowerTip+%20Remove%20Options%20from%20Command%20String%20with%20%23PowerShell+http://bit.ly/zowz88"&gt;&lt;img src="http://powershell.com/cs/Themes/powershell/images/ps/twitter_32x32.png" alt="Twitter This Tip!" style="vertical-align:middle;border:0px;" /&gt;&lt;/a&gt; &lt;a target="twitter" href="http://twitter.com/home/?status=RT+%40%20Remove%20Options%20from%20Command%20String%20with%20%23PowerShell+http://bit.ly/zowz88"&gt;ReTweet this Tip!&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://powershell.com/cs/aggbug.aspx?PostID=14212" width="1" height="1"&gt;</description></item><item><title>Using Shared Variables</title><link>http://powershell.com/cs/blogs/tips/archive/2012/01/30/using-shared-variables.aspx</link><pubDate>Mon, 30 Jan 2012 12:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:14211</guid><dc:creator>ps1</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://powershell.com/cs/blogs/tips/rsscomments.aspx?PostID=14211</wfw:commentRss><comments>http://powershell.com/cs/blogs/tips/archive/2012/01/30/using-shared-variables.aspx#comments</comments><description>&lt;p&gt;By default, all variables created in functions are local, so they only exist within that function and all functions that are called from within this function.&lt;/p&gt;
&lt;p&gt;Sometimes, you&amp;#39;d like to examine variables defined in a function after that function executed. Or you&amp;#39;d like to persist a variable, so next time the function is called it can increment some counter or continue to work with that variable rather than creating a brand new variable each time.&lt;/p&gt;
&lt;p&gt;To achieve this, use shared variables by prepending &amp;#39;Script:&amp;#39; to a variable name. Here&amp;#39;s a sample:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;function&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Call-Me&lt;/span&gt;&lt;span style="color:#000000;"&gt; { &lt;/span&gt;&lt;span style="color:#800080;"&gt;$script:counter&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;++&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;You called me $script:counter times!&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; }
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Call-Me&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;You&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;called&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;me&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;times&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;!&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Call-Me&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;You&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;called&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;me&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;2&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;times&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;!&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Call-Me&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;You&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;called&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;me&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;3&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;times&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;!&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;Note that the variable $counter now does not exist inside the function anymore. Instead, it is created in the context of the caller (the place where you called Call-Me). If you prepended a variable name with &amp;#39;global:&amp;#39;, the variable would be created in the topmost context and thus available everywhere. &lt;/p&gt;
&lt;p&gt;&lt;a target="twitter" href="http://twitter.com/home/?status=RT+%40PowerTip+%20Using%20Shared%20Variables%20with%20%23PowerShell+http://bit.ly/yz9b5E"&gt;&lt;img src="http://powershell.com/cs/Themes/powershell/images/ps/twitter_32x32.png" alt="Twitter This Tip!" style="vertical-align:middle;border:0px;" /&gt;&lt;/a&gt; &lt;a target="twitter" href="http://twitter.com/home/?status=RT+%40%20Using%20Shared%20Variables%20with%20%23PowerShell+http://bit.ly/yz9b5E"&gt;ReTweet this Tip!&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://powershell.com/cs/aggbug.aspx?PostID=14211" width="1" height="1"&gt;</description></item><item><title>Catching Errors</title><link>http://powershell.com/cs/blogs/tips/archive/2012/01/27/catching-errors.aspx</link><pubDate>Fri, 27 Jan 2012 12:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:14123</guid><dc:creator>ps1</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://powershell.com/cs/blogs/tips/rsscomments.aspx?PostID=14123</wfw:commentRss><comments>http://powershell.com/cs/blogs/tips/archive/2012/01/27/catching-errors.aspx#comments</comments><description>&lt;p&gt;In forums, people often get confused with error handling. For example, this code does not call the error handler. Instead, the red PowerShell error message pops up:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;span style="color:#000000;"&gt; { &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Remove-Item&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:#800080;"&gt;$name&lt;/span&gt;&lt;span style="color:#000000;"&gt;\&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;c&lt;/span&gt;&lt;span style="color:#000000;"&gt;$\&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;windows&lt;/span&gt;&lt;span style="color:#000000;"&gt;\&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;temp&lt;/span&gt;&lt;span style="color:#000000;"&gt;\&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;filename.exe&lt;/span&gt;&lt;span style="color:#000000;"&gt; }
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt;&lt;span style="color:#000000;"&gt; {&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Write&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;Not able to access files on $name&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;}
&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;When you want to catch errors produced by cmdlets, always make sure you add the parameter -ErrorAction Stop to it. Only then will the cmdlet emit an exception that your script can handle. So this works:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;span style="color:#000000;"&gt; { &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Remove-Item&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:#800080;"&gt;$name&lt;/span&gt;&lt;span style="color:#000000;"&gt;\&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;c&lt;/span&gt;&lt;span style="color:#000000;"&gt;$\&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;windows&lt;/span&gt;&lt;span style="color:#000000;"&gt;\&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;temp&lt;/span&gt;&lt;span style="color:#000000;"&gt;\&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;filename.exe&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-ErrorAction&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Stop&lt;/span&gt;&lt;span style="color:#000000;"&gt; }
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt;&lt;span style="color:#000000;"&gt; {&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Write&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;Not able to access files on $name&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;}
&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;If you want error handling for all cmdlets, you can also change the default mode like this:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#000080;"&gt;$ErrorActionPreference&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Stop&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://twitter.com/home/?status=RT+%40PowerTip+%20Catching%20Errors%20with%20%23PowerShell+http://bit.ly/xS1RVC" target="twitter"&gt;&lt;img src="http://powershell.com/cs/Themes/powershell/images/ps/twitter_32x32.png" alt="Twitter This Tip!" style="vertical-align:middle;border:0px;" /&gt;&lt;/a&gt; 
&lt;a href="http://twitter.com/home/?status=RT+%40%20Catching%20Errors%20with%20%23PowerShell+http://bit.ly/xS1RVC" target="twitter"&gt;ReTweet this Tip!&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://powershell.com/cs/aggbug.aspx?PostID=14123" width="1" height="1"&gt;</description></item><item><title>Analyzing System Restarts (Alternative)</title><link>http://powershell.com/cs/blogs/tips/archive/2012/01/26/analyzing-system-restarts-alternative.aspx</link><pubDate>Thu, 26 Jan 2012 12:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:14122</guid><dc:creator>ps1</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://powershell.com/cs/blogs/tips/rsscomments.aspx?PostID=14122</wfw:commentRss><comments>http://powershell.com/cs/blogs/tips/archive/2012/01/26/analyzing-system-restarts-alternative.aspx#comments</comments><description>&lt;p&gt;In a previous tip we showed how to use Get-EventLog to extract all events related to system reboots. In PowerShell v2, a new cmdlet called Get-WinEvent was added. With it, you can not only access and read the &amp;quot;classic&amp;quot; event logs but also the application event logs introduced in Windows Vista.&lt;/p&gt;
&lt;p&gt;To illustrate this, here&amp;#39;s sample code that uses Get-WinEvent to extract reboot events:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#5f9ea0;"&gt;Get-WinEvent&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-FilterHashtable&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:#0000ff;"&gt;logname&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;System&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;id&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;1074&lt;/span&gt;&lt;span style="color:#000000;"&gt;}  &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;
  &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;ForEach-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt; {
    &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;New-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;PSObject&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Select-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Date&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:#0000ff;"&gt;User&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:#0000ff;"&gt;Action&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:#0000ff;"&gt;process&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:#0000ff;"&gt;Reason&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:#0000ff;"&gt;ReasonCode&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:#0000ff;"&gt;Comment&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Date&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;TimeCreated&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;User&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Properties&lt;/span&gt;&lt;span style="color:#000000;"&gt;[&lt;/span&gt;&lt;span style="color:#000000;"&gt;6&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:#8b4513;"&gt;Value&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Process&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Properties&lt;/span&gt;&lt;span style="color:#000000;"&gt;[&lt;/span&gt;&lt;span style="color:#000000;"&gt;0&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:#8b4513;"&gt;Value&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Action&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Properties&lt;/span&gt;&lt;span style="color:#000000;"&gt;[&lt;/span&gt;&lt;span style="color:#000000;"&gt;4&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:#8b4513;"&gt;Value&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Reason&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Properties&lt;/span&gt;&lt;span style="color:#000000;"&gt;[&lt;/span&gt;&lt;span style="color:#000000;"&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:#8b4513;"&gt;Value&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;ReasonCode&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Properties&lt;/span&gt;&lt;span style="color:#000000;"&gt;[&lt;/span&gt;&lt;span style="color:#000000;"&gt;3&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:#8b4513;"&gt;Value&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Comment&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Properties&lt;/span&gt;&lt;span style="color:#000000;"&gt;[&lt;/span&gt;&lt;span style="color:#000000;"&gt;5&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:#8b4513;"&gt;Value&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    
  } &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Select-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Date&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:#0000ff;"&gt;Action&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:#0000ff;"&gt;Reason&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:#0000ff;"&gt;User&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;Note that Get-WinEvent will not work with Windows XP.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/home/?status=RT+%40PowerTip+%20Analyzing%20System%20Restarts%20(Alternative)%20with%20%23PowerShell+http://bit.ly/xGBtBG" target="twitter"&gt;&lt;img src="http://powershell.com/cs/Themes/powershell/images/ps/twitter_32x32.png" alt="Twitter This Tip!" style="vertical-align:middle;border:0px;" /&gt;&lt;/a&gt; 
&lt;a href="http://twitter.com/home/?status=RT+%40%20Analyzing%20System%20Restarts%20(Alternative)%20with%20%23PowerShell+http://bit.ly/xGBtBG" target="twitter"&gt;ReTweet this Tip!&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://powershell.com/cs/aggbug.aspx?PostID=14122" width="1" height="1"&gt;</description></item><item><title>Analyzing System Restarts</title><link>http://powershell.com/cs/blogs/tips/archive/2012/01/25/analyzing-system-restarts.aspx</link><pubDate>Wed, 25 Jan 2012 12:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:14121</guid><dc:creator>ps1</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://powershell.com/cs/blogs/tips/rsscomments.aspx?PostID=14121</wfw:commentRss><comments>http://powershell.com/cs/blogs/tips/archive/2012/01/25/analyzing-system-restarts.aspx#comments</comments><description>&lt;p&gt;To find out when a system restarted and why, use the below code to extract the relevant information from the System event log:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#5f9ea0;"&gt;Get-EventLog&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-LogName&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;System&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-ComputerName&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;storage1&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;where&lt;/span&gt;&lt;span style="color:#000000;"&gt; {&lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;EventId&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;-eq&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;1074&lt;/span&gt;&lt;span style="color:#000000;"&gt;} &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;ForEach-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt; {

    &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;New-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;PSObject&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Select-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Date&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:#0000ff;"&gt;User&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:#0000ff;"&gt;Action&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:#0000ff;"&gt;process&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:#0000ff;"&gt;Reason&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:#0000ff;"&gt;ReasonCode&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:#0000ff;"&gt;Comment&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:#0000ff;"&gt;Message&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;ReplacementStrings&lt;/span&gt;&lt;span style="color:#000000;"&gt;[&lt;/span&gt;&lt;span style="color:#000000;"&gt;4&lt;/span&gt;&lt;span style="color:#000000;"&gt;]) {
        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Date&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;TimeGenerated&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;User&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;ReplacementStrings&lt;/span&gt;&lt;span style="color:#000000;"&gt;[&lt;/span&gt;&lt;span style="color:#000000;"&gt;6&lt;/span&gt;&lt;span style="color:#000000;"&gt;]
        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Process&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;ReplacementStrings&lt;/span&gt;&lt;span style="color:#000000;"&gt;[&lt;/span&gt;&lt;span style="color:#000000;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt;]
        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Action&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;ReplacementStrings&lt;/span&gt;&lt;span style="color:#000000;"&gt;[&lt;/span&gt;&lt;span style="color:#000000;"&gt;4&lt;/span&gt;&lt;span style="color:#000000;"&gt;]
        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Reason&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;ReplacementStrings&lt;/span&gt;&lt;span style="color:#000000;"&gt;[&lt;/span&gt;&lt;span style="color:#000000;"&gt;2&lt;/span&gt;&lt;span style="color:#000000;"&gt;]
        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;ReasonCode&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;ReplacementStrings&lt;/span&gt;&lt;span style="color:#000000;"&gt;[&lt;/span&gt;&lt;span style="color:#000000;"&gt;3&lt;/span&gt;&lt;span style="color:#000000;"&gt;]
        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Comment&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;ReplacementStrings&lt;/span&gt;&lt;span style="color:#000000;"&gt;[&lt;/span&gt;&lt;span style="color:#000000;"&gt;5&lt;/span&gt;&lt;span style="color:#000000;"&gt;]
        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Message&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Message&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$rv&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    }
} &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Select-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Date&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:#0000ff;"&gt;Action&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:#0000ff;"&gt;Reason&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:#0000ff;"&gt;User&lt;/span&gt;&lt;span style="color:#000000;"&gt; 
&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;Event ID 1074 represents a restart event. Rather than extracting the relevant information from the event message text, this code uses the ReplacementStrings property which is an array and holds the significant information bits. Accessing the event entries&amp;#39; replacement strings is much easier than parsing the message text.&lt;/p&gt;
&lt;p&gt;The code returns information only if the particular event entry has content in ReplacementStrings[4] (the 5th element of the array) because only then does the event entry represent a shutdown or reboot event.&lt;/p&gt;
&lt;p&gt;Note that Get-EventLog supports the -ComputerName parameter, so if a remote system is set up for remote access and you own the appropriate privileges, you can also analyze remote systems.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/home/?status=RT+%40PowerTip+%20Analyzing%20System%20Restarts%20with%20%23PowerShell+http://bit.ly/zap5z7" target="twitter"&gt;&lt;img src="http://powershell.com/cs/Themes/powershell/images/ps/twitter_32x32.png" alt="Twitter This Tip!" style="vertical-align:middle;border:0px;" /&gt;&lt;/a&gt; 
&lt;a href="http://twitter.com/home/?status=RT+%40%20Analyzing%20System%20Restarts%20with%20%23PowerShell+http://bit.ly/zap5z7" target="twitter"&gt;ReTweet this Tip!&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://powershell.com/cs/aggbug.aspx?PostID=14121" width="1" height="1"&gt;</description></item><item><title>Sending Emails Securely (via SSL)</title><link>http://powershell.com/cs/blogs/tips/archive/2012/01/24/sending-emails-securely-via-ssl.aspx</link><pubDate>Tue, 24 Jan 2012 12:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:14120</guid><dc:creator>ps1</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://powershell.com/cs/blogs/tips/rsscomments.aspx?PostID=14120</wfw:commentRss><comments>http://powershell.com/cs/blogs/tips/archive/2012/01/24/sending-emails-securely-via-ssl.aspx#comments</comments><description>&lt;p&gt;In a previous tip we showed how to use the Send-MailMessage cmdlet to send off emails and preserve special characters by using UTF8 encoding. When you try this with your freemailer, you may run into issues where your SMTP server complains about needing a secure connection.&lt;/p&gt;
&lt;p&gt;So, when you receive such an error message, make sure you add the switch parameter -UseSsl. This only works right though if you use PowerShell v3 (the public CTP2 is readily available). In PowerShell v2, Send-MailMessage does not use the correct port for SSL connections.&lt;/p&gt;
&lt;p&gt;Here is a sample that uses the live.com freemailer (formally called &amp;quot;Hotmail&amp;quot;) which does require a secure connection:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Send-MailMessage&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-Body&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;My mail message can contain special characters: &amp;auml;&amp;ouml;&amp;uuml;&amp;szlig;&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-From&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;youraccountname&lt;/span&gt;&lt;span style="color:#000000;"&gt;@&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;hotmail.com&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-to&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;someone&lt;/span&gt;&lt;span style="color:#000000;"&gt;@&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;somewhere.com&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-Credential&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;youraccountname&lt;/span&gt;&lt;span style="color:#000000;"&gt;@&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;hotmail.com&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-SmtpServer&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#8b4513;"&gt;smtp.live.com&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-Subject&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Sending Mail from PowerShell&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-Encoding&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;UTF8&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-UseSsl&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;Note that PowerShell v3 Send-MailMessage accepts &amp;quot;UTF8&amp;quot; directly so you no longer need to submit the awkward ([System.Text.Encoding]::UTF8).&lt;/p&gt;
&lt;p&gt;There are plenty of websites that list SMTP server URLs for your favorite provider: http://www.e-eeasy.com/SMTPServerList.aspx.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/home/?status=RT+%40PowerTip+%20Sending%20Emails%20Securely%20(via%20SSL)%20with%20%23PowerShell+http://bit.ly/zAoYut" target="twitter"&gt;&lt;img src="http://powershell.com/cs/Themes/powershell/images/ps/twitter_32x32.png" alt="Twitter This Tip!" style="vertical-align:middle;border:0px;" /&gt;&lt;/a&gt; 
&lt;a href="http://twitter.com/home/?status=RT+%40%20Sending%20Emails%20Securely%20(via%20SSL)%20with%20%23PowerShell+http://bit.ly/zAoYut" target="twitter"&gt;ReTweet this Tip!&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://powershell.com/cs/aggbug.aspx?PostID=14120" width="1" height="1"&gt;</description></item><item><title>Sending Emails with Special Characters</title><link>http://powershell.com/cs/blogs/tips/archive/2012/01/23/sending-emails-with-special-characters.aspx</link><pubDate>Mon, 23 Jan 2012 12:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:14119</guid><dc:creator>ps1</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://powershell.com/cs/blogs/tips/rsscomments.aspx?PostID=14119</wfw:commentRss><comments>http://powershell.com/cs/blogs/tips/archive/2012/01/23/sending-emails-with-special-characters.aspx#comments</comments><description>&lt;p&gt;PowerShell has built-in support for sending emails: Send-MailMessage! All you need is an SMTP server. However, with standard encoding you may run into issues where special characters are mangled. Use the -Encoding parameter and specify UTF8 to preserve such characters. Here&amp;#39;s a sample with a German freemailer web.de:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#5f9ea0;"&gt;Send-MailMessage&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-Body&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;I can send special characters: &amp;auml;&amp;ouml;&amp;uuml;&amp;szlig;&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-From&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;youraccountname&lt;/span&gt;&lt;span style="color:#000000;"&gt;@&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;web.de&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-to&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;someone&lt;/span&gt;&lt;span style="color:#000000;"&gt;@&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;somewhere.com&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-Credential&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Get-Credential&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;youraccountname&lt;/span&gt;&lt;span style="color:#000000;"&gt;@&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;web.de&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-SmtpServer&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#8b4513;"&gt;smtp.web.de&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-Subject&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Sending Mail From PowerShell&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-Encoding&lt;/span&gt;&lt;span style="color:#000000;"&gt; ([&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;System.Text.Encoding&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:#8b4513;"&gt;UTF8&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://twitter.com/home/?status=RT+%40PowerTip+%20Sending%20Emails%20with%20Special%20Characters%20with%20%23PowerShell+http://bit.ly/yi0D8g" target="twitter"&gt;&lt;img src="http://powershell.com/cs/Themes/powershell/images/ps/twitter_32x32.png" alt="Twitter This Tip!" style="vertical-align:middle;border:0px;" /&gt;&lt;/a&gt; 
&lt;a href="http://twitter.com/home/?status=RT+%40%20Sending%20Emails%20with%20Special%20Characters%20with%20%23PowerShell+http://bit.ly/yi0D8g" target="twitter"&gt;ReTweet this Tip!&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://powershell.com/cs/aggbug.aspx?PostID=14119" width="1" height="1"&gt;</description></item><item><title>Check Active Internet Connection</title><link>http://powershell.com/cs/blogs/tips/archive/2012/01/20/check-active-internet-connection.aspx</link><pubDate>Fri, 20 Jan 2012 12:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:13976</guid><dc:creator>ps1</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://powershell.com/cs/blogs/tips/rsscomments.aspx?PostID=13976</wfw:commentRss><comments>http://powershell.com/cs/blogs/tips/archive/2012/01/20/check-active-internet-connection.aspx#comments</comments><description>&lt;p&gt;If your machine is connected to the Internet more than once, let&amp;#39;s say cabled and wireless at the same time, which connection is used? Here&amp;#39;s a function that tells you (thanks for inspiration to fellow MVP Richard Siddaway):&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#0000ff;"&gt;function&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;test-ipmetric&lt;/span&gt;&lt;span style="color:#000000;"&gt; {
    &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Get-WmiObject&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Win32_NetworkAdapter&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-Filter&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;AdapterType=&amp;#39;Ethernet 802.3&amp;#39;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;ForEach-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt; { &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;GetRelated&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Win32_NetworkAdapterConfiguration&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;) } &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Select-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Description&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:#0000ff;"&gt;Index&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:#0000ff;"&gt;IPEnabled&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:#0000ff;"&gt;IPConnectionMetric&lt;/span&gt;&lt;span style="color:#000000;"&gt;
}
&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://twitter.com/home/?status=RT+%40PowerTip+%20Check%20Active%20Internet%20Connection%20with%20%23PowerShell+http://bit.ly/wF4dpY" target="twitter"&gt;&lt;img src="http://powershell.com/cs/Themes/powershell/images/ps/twitter_32x32.png" alt="Twitter This Tip!" style="vertical-align:middle;border:0px;" /&gt;&lt;/a&gt; 
&lt;a href="http://twitter.com/home/?status=RT+%40%20Check%20Active%20Internet%20Connection%20with%20%23PowerShell+http://bit.ly/wF4dpY" target="twitter"&gt;ReTweet this Tip!&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://powershell.com/cs/aggbug.aspx?PostID=13976" width="1" height="1"&gt;</description></item><item><title>Use WMI and WQL!</title><link>http://powershell.com/cs/blogs/tips/archive/2012/01/19/use-wmi-and-wql.aspx</link><pubDate>Thu, 19 Jan 2012 12:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:13975</guid><dc:creator>ps1</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://powershell.com/cs/blogs/tips/rsscomments.aspx?PostID=13975</wfw:commentRss><comments>http://powershell.com/cs/blogs/tips/archive/2012/01/19/use-wmi-and-wql.aspx#comments</comments><description>&lt;p&gt;WMI is a great information resource, and Get-WmiObject makes it easy to retrieve WMI instances. First, use -List parameter to find WMI class names. For example, find classes that deal with network:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#5f9ea0;"&gt;Get-WmiObject&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-List&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Win32_&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;*&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;network&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;*&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;Next, pick one of the classes and enumerate its instances:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#5f9ea0;"&gt;Get-WmiObject&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Win32_NetworkAdapterConfiguration&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;With WQL, a SQL-type query language for WMI, you can even create more sophisticated queries, such as:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#5f9ea0;"&gt;Get-WmiObject&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;-Query&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Select * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;To learn more about the specific WQL format and the keywords you can use, check this reference: http://msdn.microsoft.com/en-us/library/windows/desktop/aa394606(v=vs.85).aspx&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/home/?status=RT+%40PowerTip+%20Use%20WMI%20and%20WQL!%20with%20%23PowerShell+http://bit.ly/wofRme" target="twitter"&gt;&lt;img src="http://powershell.com/cs/Themes/powershell/images/ps/twitter_32x32.png" alt="Twitter This Tip!" style="vertical-align:middle;border:0px;" /&gt;&lt;/a&gt; 
&lt;a href="http://twitter.com/home/?status=RT+%40%20Use%20WMI%20and%20WQL!%20with%20%23PowerShell+http://bit.ly/wofRme" target="twitter"&gt;ReTweet this Tip!&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://powershell.com/cs/aggbug.aspx?PostID=13975" width="1" height="1"&gt;</description></item><item><title>Convert to Numeric</title><link>http://powershell.com/cs/blogs/tips/archive/2012/01/18/convert-to-numeric.aspx</link><pubDate>Wed, 18 Jan 2012 12:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:13974</guid><dc:creator>ps1</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://powershell.com/cs/blogs/tips/rsscomments.aspx?PostID=13974</wfw:commentRss><comments>http://powershell.com/cs/blogs/tips/archive/2012/01/18/convert-to-numeric.aspx#comments</comments><description>&lt;p&gt;Whenever PowerShell asks for user input or reads text file content, the results are text strings. If you expect numbers and want to calculate, make sure you cast them to a numeric format. Have a look:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$number&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Read-Host&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Enter a number&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Enter&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;a&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;number&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;100&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$number&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;*&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;12&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;100100100100100100100100100100100100&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;Now try the same with casting:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$number&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; [&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Double&lt;/span&gt;&lt;span style="color:#000000;"&gt;](&lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Read-Host&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Enter a number&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Enter&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;a&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;number&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;100&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$number&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;*&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;12&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;1200&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://twitter.com/home/?status=RT+%40PowerTip+%20Convert%20to%20Numeric%20with%20%23PowerShell+http://bit.ly/AcrS7w" target="twitter"&gt;&lt;img src="http://powershell.com/cs/Themes/powershell/images/ps/twitter_32x32.png" alt="Twitter This Tip!" style="vertical-align:middle;border:0px;" /&gt;&lt;/a&gt; 
&lt;a href="http://twitter.com/home/?status=RT+%40%20Convert%20to%20Numeric%20with%20%23PowerShell+http://bit.ly/AcrS7w" target="twitter"&gt;ReTweet this Tip!&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://powershell.com/cs/aggbug.aspx?PostID=13974" width="1" height="1"&gt;</description></item><item><title>Read/Delete/Move Every X. File</title><link>http://powershell.com/cs/blogs/tips/archive/2012/01/17/read-delete-move-every-x-file.aspx</link><pubDate>Tue, 17 Jan 2012 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:13973</guid><dc:creator>ps1</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://powershell.com/cs/blogs/tips/rsscomments.aspx?PostID=13973</wfw:commentRss><comments>http://powershell.com/cs/blogs/tips/archive/2012/01/17/read-delete-move-every-x-file.aspx#comments</comments><description>&lt;p&gt;Occasionally, you may want to act on every 2nd or 3rd file in a folder (or line in a file). The easiest way to identify every x. element is to use the &amp;quot;%&amp;quot; (modulus) operator.&lt;/p&gt;
&lt;p&gt;This will list every&amp;nbsp;5th file in the Windows folder (for what it&amp;#39;s worth):&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dir&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$env:windir&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;ForEach-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt; { &lt;/span&gt;&lt;span style="color:#800080;"&gt;$x&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt; } { &lt;/span&gt;&lt;span style="color:#800080;"&gt;$x&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;++&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#800080;"&gt;$x&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;%&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;5&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;-eq&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt;) { &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt; } }&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;And this would read every 50th line from windowsupdate.log:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Get-Content&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;text-decoration:underline;"&gt;$env:windir\windowsupdate.log&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;ForEach-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt; { &lt;/span&gt;&lt;span style="color:#800080;"&gt;$x&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt; } { &lt;/span&gt;&lt;span style="color:#800080;"&gt;$x&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;++&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#800080;"&gt;$x&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;%&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;50&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;-eq&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt;) { &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt; } }&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;It&amp;#39;s always the same procedure: ForEach-Object implements a counter in $x, and only if the current counter is dividable by the increment you want (% returns 0) will the object be returned. Now it&amp;#39;s just up to you to find use cases for this.&lt;/p&gt;
&lt;p&gt;&lt;a target="twitter" href="http://twitter.com/home/?status=RT+%40PowerTip+%20Read/Delete/Move%20Every%20X.%20File%20with%20%23PowerShell+http://bit.ly/AqVu2k"&gt;&lt;img src="http://powershell.com/cs/Themes/powershell/images/ps/twitter_32x32.png" alt="Twitter This Tip!" style="vertical-align:middle;border:0px;" /&gt;&lt;/a&gt; &lt;a target="twitter" href="http://twitter.com/home/?status=RT+%40%20Read/Delete/Move%20Every%20X.%20File%20with%20%23PowerShell+http://bit.ly/AqVu2k"&gt;ReTweet this Tip!&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://powershell.com/cs/aggbug.aspx?PostID=13973" width="1" height="1"&gt;</description></item><item><title>Managing Internet Cookies</title><link>http://powershell.com/cs/blogs/tips/archive/2012/01/16/managing-internet-cookies.aspx</link><pubDate>Mon, 16 Jan 2012 12:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:13972</guid><dc:creator>ps1</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://powershell.com/cs/blogs/tips/rsscomments.aspx?PostID=13972</wfw:commentRss><comments>http://powershell.com/cs/blogs/tips/archive/2012/01/16/managing-internet-cookies.aspx#comments</comments><description>&lt;p&gt;Ever wondered what Internet sites store inside cookies when you visit them? This line will dump all cookies:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;dir&lt;/span&gt;&lt;span style="color:#000000;"&gt; ([&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;system.environment&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:#8b4513;"&gt;GetFolderPath&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Cookies&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;))&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;Cookies are text files. In older versions of IE, the file name contains the site URL that stored the cookie. To list all cookies from Google, you could try this:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;dir&lt;/span&gt;&lt;span style="color:#000000;"&gt; ([&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;system.environment&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:#8b4513;"&gt;GetFolderPath&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Cookies&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)) &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Where-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt; { &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Name&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;-like&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;*google*&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; }&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;And to actually read the cookie content, simply add Get-Content:&lt;/p&gt;
&lt;pre&gt;&lt;span style="color:#0000ff;"&gt;PS&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;dir&lt;/span&gt;&lt;span style="color:#000000;"&gt; ([&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;system.environment&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:#8b4513;"&gt;GetFolderPath&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Cookies&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)) &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Where-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt; { &lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#8b4513;"&gt;Name&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;-like&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;*google*&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; } &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Get-Content&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;Likewise, by adding Remove-Item you could delete selected or all cookies.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/home/?status=RT+%40PowerTip+%20Managing%20Internet%20Cookies%20with%20%23PowerShell+http://bit.ly/xo8lkQ" target="twitter"&gt;&lt;img src="http://powershell.com/cs/Themes/powershell/images/ps/twitter_32x32.png" alt="Twitter This Tip!" style="vertical-align:middle;border:0px;" /&gt;&lt;/a&gt; 
&lt;a href="http://twitter.com/home/?status=RT+%40%20Managing%20Internet%20Cookies%20with%20%23PowerShell+http://bit.ly/xo8lkQ" target="twitter"&gt;ReTweet this Tip!&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://powershell.com/cs/aggbug.aspx?PostID=13972" width="1" height="1"&gt;</description></item></channel></rss>
