<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://powershell.com/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results for 'app:weblogs' matching tags 'Windows 7' and 'PowerShell V2'</title><link>http://powershell.com/cs/search/SearchResults.aspx?q=app:weblogs&amp;tag=Windows+7,PowerShell+V2&amp;orTags=0&amp;o=DateDescending</link><description>Search results for 'app:weblogs' matching tags 'Windows 7' and 'PowerShell V2'</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 (Build: 30929.2835)</generator><item><title>Remoting between PowerShell v3 CTP 2 and PowerShell v2</title><link>http://powershell.com/cs/blogs/richardsiddaway/archive/2012/01/24/remoting-between-powershell-v3-ctp-2-and-powershell-v2.aspx</link><pubDate>Tue, 24 Jan 2012 06:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:14168</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;One of the questions on tonight’s Live Meeting concerned the compatibility between remoting on PowerShell v2 and PowerShell v3 CTP 2&lt;/p&gt;  &lt;p&gt;The difference is that v3 uses a WSMAN 3.0 stack but v2 uses 2.0&lt;/p&gt;  &lt;p&gt;I used two machines:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Windows 2008 R2 SP 1 with PowerShell v2 &lt;/li&gt;    &lt;li&gt;Windows 7 SP1 with PowerShell v3 CTP 2 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;on each machine I ensured remoting was enabled then ran&lt;/p&gt;  &lt;p&gt;$s = New-PSSession –ComputerName &amp;lt;other computer name&amp;gt;    &lt;br /&gt;Invoke-Command -Session $s -ScriptBlock {get-service}&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;it worked in both cases&lt;/p&gt;  &lt;p&gt;Looks like in this case you can remote both ways&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1805233" width="1" height="1" alt="" /&gt;</description></item><item><title>Outlook: Viewing mail items</title><link>http://powershell.com/cs/blogs/richardsiddaway/archive/2011/08/04/outlook-viewing-mail-items.aspx</link><pubDate>Thu, 04 Aug 2011 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:11706</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;Continuing our perambulation around Outlook when used with multiple hotmail accounts its time to look at the other folders and the mail items they contain. This post will show how to view the mail items and a future post will show how to delete items from a specific folder.&lt;/p&gt;  &lt;p&gt;Viewing mail items cam be performed with the following function&lt;/p&gt;  &lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color:#00008b;"&gt;function&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;get-mailitem&lt;/span&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;(&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;Mandatory&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;span style="color:#008080;"&gt;[string]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$mailfolder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;            
              
 &lt;span style="color:#008080;"&gt;[switch]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$all&lt;/span&gt;            
&lt;span style="color:#000000;"&gt;)&lt;/span&gt;            
&lt;span style="color:#ff4500;"&gt;$outlook&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New-Object&lt;/span&gt; &lt;span style="color:#000080;"&gt;-ComObject&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;Outlook.Application&lt;/span&gt;            
            
&lt;span style="color:#ff4500;"&gt;$folders&lt;/span&gt; &lt;span style="color:#a9a9a9;"&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:#ff4500;"&gt;$_&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;-like&lt;/span&gt; &lt;span style="color:#8b0000;"&gt;&amp;quot;*$mailfolder&amp;quot;&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:#0000ff;"&gt;foreach&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;            
  &lt;span style="color:#ff4500;"&gt;$targetfolder&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$outlook&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Session&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;GetFolderFromID&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;EntryID&lt;/span&gt;&lt;span style="color:#a9a9a9;"&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;StoreID&lt;/span&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;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$all&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;$targetfolder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Items&lt;/span&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;{&lt;/span&gt;            
   &lt;span style="color:#ff4500;"&gt;$targetfolder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Items&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;sort&lt;/span&gt;  &lt;span style="color:#8a2be2;"&gt;SentOn&lt;/span&gt; &lt;span style="color:#000080;"&gt;-desc&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;|&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;select&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;SenderEmailAddress&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;Subject&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;SentOn&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;/pre&gt;

&lt;p&gt;The function takes a mandatory string to identify the mail folder and we use the GetFolderFromID method to access the folder. If the –all switch is used we get a dump of the full object for each mail item otherwise a summary consisting of the sender’s address, date sent and subject is output.&lt;/p&gt;

&lt;p&gt;If the –all switch is used we can use the PowerShell pipeline to perform further processing e.g.&lt;/p&gt;

&lt;p&gt;get-mailitem –mailfolder Baen –all | where {$_.SentOn –lt [datetime]”1 January 2007”}&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1797194" width="1" height="1" alt="" /&gt;</description></item><item><title>Outlook: deleting mail items</title><link>http://powershell.com/cs/blogs/richardsiddaway/archive/2011/08/04/outlook-deleting-mail-items.aspx</link><pubDate>Thu, 04 Aug 2011 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:11707</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;As promised here is the function to delete mail items in a specific folder&lt;/p&gt;  &lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color:#00008b;"&gt;function&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;remove-mailitem&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:#add8e6;"&gt;CmdletBinding&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;SupportsShouldProcess&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;span style="color:#00008b;"&gt;param&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:#add8e6;"&gt;parameter&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;Mandatory&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;span style="color:#008080;"&gt;[string]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$mailfolder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;            
              
 &lt;span style="color:#008080;"&gt;[datetime]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$start&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;            
 &lt;span style="color:#008080;"&gt;[datetime]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$finish&lt;/span&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;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$start&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;-and&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$finish&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;if&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$start&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;-ge&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$finish&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:#8b0000;"&gt;&amp;quot;Finish $($finish) before Start $($start)&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:#ff4500;"&gt;$outlook&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New-Object&lt;/span&gt; &lt;span style="color:#000080;"&gt;-ComObject&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;Outlook.Application&lt;/span&gt;            
            
&lt;span style="color:#ff4500;"&gt;$folders&lt;/span&gt; &lt;span style="color:#a9a9a9;"&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:#ff4500;"&gt;$_&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;-like&lt;/span&gt; &lt;span style="color:#8b0000;"&gt;&amp;quot;*$mailfolder&amp;quot;&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:#0000ff;"&gt;foreach&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;            
&lt;span style="color:#ff4500;"&gt;$targetfolder&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$outlook&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Session&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;GetFolderFromID&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;EntryID&lt;/span&gt;&lt;span style="color:#a9a9a9;"&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;StoreID&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;            
              
&lt;span style="color:#00008b;"&gt;foreach&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$item&lt;/span&gt; &lt;span style="color:#00008b;"&gt;in&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$targetfolder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Items&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;if&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$start&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;if&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$item&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SentOn&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;-lt&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$start&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;continue&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;if&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$finish&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;if&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$item&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SentOn&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;-gt&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$finish&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;continue&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;if&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$psCmdlet&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;ShouldProcess&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;$($item.Subject) $($item.SentOn)&amp;quot;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt; &lt;span style="color:#8b0000;"&gt;&amp;quot;deleting&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;$item&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Delete&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:#000000;"&gt;}&lt;/span&gt;            
               
&lt;span style="color:#000000;"&gt;}&lt;/span&gt;            
&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;If you’ve been following this series you will recognise how this works. The parameters are the mail folder and an optional start and finish date. A quick check to see if the dates are the right way round and we jump into the processing. The folders that match our input are selected and foreach of them we loop through the mail items.&lt;/p&gt;

&lt;p&gt;The SentOn date is compared to the start and finish dates if they are defined. The item is skipped if it falls outside of those dates.&lt;/p&gt;

&lt;p&gt;We can then delete the item. I’ve also added the –whatif parameter to the function by using&amp;#160;&amp;#160; [CmdletBinding(SupportsShouldProcess=$true)] and&lt;/p&gt;

&lt;p&gt;if ($psCmdlet.ShouldProcess(&amp;quot;$($item.Subject) $($item.SentOn)&amp;quot;, &amp;quot;deleting&amp;quot;)) {
  &lt;br /&gt;&amp;#160; $item.Delete()

  &lt;br /&gt;}

  &lt;br /&gt;&lt;/p&gt;

&lt;p&gt;This adds another safety level to the function&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1797202" width="1" height="1" alt="" /&gt;</description></item><item><title>Clearing junk mail</title><link>http://powershell.com/cs/blogs/richardsiddaway/archive/2011/08/02/clearing-junk-mail.aspx</link><pubDate>Tue, 02 Aug 2011 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:11684</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;Getting back to looking at working with Outlook we can adapt the function used to deleted the contents of the Deleted Items folder to work with the Junk mail folders&lt;/p&gt;  &lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color:#00008b;"&gt;function&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;clear-junkmail&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;            
            
&lt;span style="color:#ff4500;"&gt;$outlook&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New-Object&lt;/span&gt; &lt;span style="color:#000080;"&gt;-ComObject&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;Outlook.Application&lt;/span&gt;            
            
&lt;span style="color:#0000ff;"&gt;get-mailitemcount&lt;/span&gt; &lt;span style="color:#000080;"&gt;-junk&lt;/span&gt;            
            
&lt;span style="color:#ff4500;"&gt;$folders&lt;/span&gt; &lt;span style="color:#a9a9a9;"&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:#ff4500;"&gt;$_&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;-like&lt;/span&gt; &lt;span style="color:#8b0000;"&gt;&amp;quot;*junk*&amp;quot;&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:#0000ff;"&gt;foreach&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;             
  &lt;span style="color:#ff4500;"&gt;$mailfolder&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$outlook&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Session&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;GetFolderFromID&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;EntryID&lt;/span&gt;&lt;span style="color:#a9a9a9;"&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;StoreID&lt;/span&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;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$mailfolder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Items&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;-gt&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;span style="color:#00008b;"&gt;do&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;            
      &lt;span style="color:#00008b;"&gt;foreach&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$item&lt;/span&gt; &lt;span style="color:#00008b;"&gt;in&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$mailfolder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Items&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;$item&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Delete&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:#000000;"&gt;}&lt;/span&gt; &lt;span style="color:#00008b;"&gt;while&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$mailfolder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Items&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;-gt&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;span style="color:#000000;"&gt;}&lt;/span&gt;            
&lt;span style="color:#0000ff;"&gt;get-mailitemcount&lt;/span&gt; &lt;span style="color:#000080;"&gt;-junk&lt;/span&gt;            
&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Very much the same as before but we are looking for folders that contain the work “junk”&lt;/p&gt;

&lt;p&gt;It would be possible to combine this function and the clear-deletedmail function but I decided to keep them separate for simplicity&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1797091" width="1" height="1" alt="" /&gt;</description></item><item><title>Emptying the Deleted folders–version 2</title><link>http://powershell.com/cs/blogs/richardsiddaway/archive/2011/08/01/emptying-the-deleted-folders-version-2.aspx</link><pubDate>Mon, 01 Aug 2011 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:11667</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;The original version of this function only did one pass at deleting and had to iterate through all of the folders to find the Deleted Items folder.&amp;#160; This time we use the collection of folders we created using the get-mailfolders function to go directly to the Deleted Items folders&lt;/p&gt;  &lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color:#00008b;"&gt;function&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;clear-deletedmail&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;            
            
&lt;span style="color:#ff4500;"&gt;$outlook&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New-Object&lt;/span&gt; &lt;span style="color:#000080;"&gt;-ComObject&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;Outlook.Application&lt;/span&gt;            
            
&lt;span style="color:#0000ff;"&gt;get-mailitemcount&lt;/span&gt; &lt;span style="color:#000080;"&gt;-deleted&lt;/span&gt;            
            
&lt;span style="color:#ff4500;"&gt;$folders&lt;/span&gt; &lt;span style="color:#a9a9a9;"&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:#ff4500;"&gt;$_&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;-like&lt;/span&gt; &lt;span style="color:#8b0000;"&gt;&amp;quot;*deleted*&amp;quot;&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:#0000ff;"&gt;foreach&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;             
  &lt;span style="color:#ff4500;"&gt;$mailfolder&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$outlook&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Session&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;GetFolderFromID&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;EntryID&lt;/span&gt;&lt;span style="color:#a9a9a9;"&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;StoreID&lt;/span&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;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$mailfolder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Items&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;-gt&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;span style="color:#00008b;"&gt;do&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;            
      &lt;span style="color:#00008b;"&gt;foreach&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$item&lt;/span&gt; &lt;span style="color:#00008b;"&gt;in&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$mailfolder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Items&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;$item&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Delete&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:#000000;"&gt;}&lt;/span&gt; &lt;span style="color:#00008b;"&gt;while&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$mailfolder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Items&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;-gt&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;span style="color:#000000;"&gt;}&lt;/span&gt;            
&lt;span style="color:#0000ff;"&gt;get-mailitemcount&lt;/span&gt; &lt;span style="color:#000080;"&gt;-deleted&lt;/span&gt;            
&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;The function starts by creating an Outlook object. The get-mailitemcount function has been revised to provide just the deleted or junk folders (I’ll post about the revisions next) &lt;/p&gt;

&lt;p&gt;The folders collection is filtered to select just the Deleted Items folders (I’m assuming the word deleted hasn’t been used in any other folder names).&amp;#160; Each of the Deleted Items folders is accessed using the GetFoderFromID function using the EntryID and StoreID saved in the objects in the folder. If the number of items in the folder is not zero we create a do loop to control the deletion. This will keep calling the foreach loop that performs the deletion until everything is deleted (remember our original function need several passes to delete all the items in the folder)&lt;/p&gt;

&lt;p&gt;A final call to get-mailitemcount shows the position after all of the items are deleted. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1797021" width="1" height="1" alt="" /&gt;</description></item><item><title>Outlook folder item count revisited</title><link>http://powershell.com/cs/blogs/richardsiddaway/archive/2011/08/01/outlook-folder-item-count-revisited.aspx</link><pubDate>Mon, 01 Aug 2011 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:11673</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;I started this series &lt;a title="http://msmvps.com/blogs/richardsiddaway/archive/2011/07/30/outlook-connector-amp-mail-folder-item-count.aspx" href="http://msmvps.com/blogs/richardsiddaway/archive/2011/07/30/outlook-connector-amp-mail-folder-item-count.aspx"&gt;http://msmvps.com/blogs/richardsiddaway/archive/2011/07/30/outlook-connector-amp-mail-folder-item-count.aspx&lt;/a&gt; by looking at how we could enumerate the mail folders in Outlook 2010 when I had had four hotmail accounts open.&amp;#160; The function has been modified since then&lt;/p&gt;  &lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color:#00008b;"&gt;function&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;get-mailitemcount&lt;/span&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;(&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;ParameterSetName&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;All&amp;quot;&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:#008080;"&gt;[switch]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$all&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&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;ParameterSetName&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Deleted&amp;quot;&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:#008080;"&gt;[switch]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$deleted&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&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;ParameterSetName&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Junk&amp;quot;&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:#008080;"&gt;[switch]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$junk&lt;/span&gt;            
&lt;span style="color:#000000;"&gt;)&lt;/span&gt;            
&lt;span style="color:#ff4500;"&gt;$outlook&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New-Object&lt;/span&gt; &lt;span style="color:#000080;"&gt;-ComObject&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;Outlook.Application&lt;/span&gt;            
&lt;span style="color:#00008b;"&gt;foreach&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$folder&lt;/span&gt; &lt;span style="color:#00008b;"&gt;in&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$outlook&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Session&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Folders&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;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$mailfolder&lt;/span&gt; &lt;span style="color:#00008b;"&gt;in&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;Folders&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;if&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$deleted&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;if&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;$mailfolder&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:#a9a9a9;"&gt;-notlike&lt;/span&gt; &lt;span style="color:#8b0000;"&gt;&amp;quot;Deleted*&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:#00008b;"&gt;continue&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;if&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$junk&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;if&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;$mailfolder&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:#a9a9a9;"&gt;-notlike&lt;/span&gt; &lt;span style="color:#8b0000;"&gt;&amp;quot;Junk*&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:#00008b;"&gt;continue&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;New-Object&lt;/span&gt; &lt;span style="color:#000080;"&gt;-TypeName&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;PSObject&lt;/span&gt; &lt;span style="color:#000080;"&gt;-Property&lt;/span&gt; &lt;span style="color:#000000;"&gt;@{&lt;/span&gt;            
      &lt;span style="color:#000000;"&gt;Mailbox&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:#ff4500;"&gt;$folder&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;Folder&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:#ff4500;"&gt;$mailfolder&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;ItemCount&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:#ff4500;"&gt;$mailfolder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Items&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:#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:#0000ff;"&gt;select&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;Mailbox&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;Folder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;ItemCount&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;/pre&gt;

&lt;p&gt;I use three parameters to determine if I want to look at the Junk or Deleted folders or if I’m&amp;#160; going to dump the information for all folders.&amp;#160; I’ve used parameter sets to make the three parameters mutually exclusive.&lt;/p&gt;

&lt;p&gt;The same loops are used as before – the outer one loops through the mailboxes and the inner one through each folder in those mailboxes.&amp;#160; If the deleted or junk switches have been set any folder that doesn’t match the criteria is skipped.&lt;/p&gt;

&lt;p&gt;An object is created to output the name of the mailbox, folder and number of items&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1797040" width="1" height="1" alt="" /&gt;</description></item><item><title>Emptying the Deleted Items Folder</title><link>http://powershell.com/cs/blogs/richardsiddaway/archive/2011/07/31/emptying-the-deleted-items-folder.aspx</link><pubDate>Sun, 31 Jul 2011 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:11655</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;Continuing our look at scripting against Outlook &amp;amp; the hotmail connector&lt;/p&gt;  &lt;p&gt;Many of the emails I get end up being read once and deleted. This leaves a ton of stuff in the deleted items folders. Periodically I’ll clean these up. This is one way how it can be accomplished.&lt;/p&gt;  &lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color:#00008b;"&gt;function&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;clear-deletedmail&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;            
            
&lt;span style="color:#ff4500;"&gt;$outlook&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New-Object&lt;/span&gt; &lt;span style="color:#000080;"&gt;-ComObject&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;Outlook.Application&lt;/span&gt;            
&lt;span style="color:#00008b;"&gt;foreach&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$folder&lt;/span&gt; &lt;span style="color:#00008b;"&gt;in&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$outlook&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Session&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Folders&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;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$mailfolder&lt;/span&gt; &lt;span style="color:#00008b;"&gt;in&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;Folders&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;if&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$mailfolder&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:#a9a9a9;"&gt;-eq&lt;/span&gt; &lt;span style="color:#8b0000;"&gt;&amp;quot;Deleted Items&amp;quot;&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;-and&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$mailfolder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Items&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;-gt&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;span style="color:#00008b;"&gt;foreach&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$item&lt;/span&gt; &lt;span style="color:#00008b;"&gt;in&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$mailfolder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Items&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;$item&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Delete&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:#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:#000000;"&gt;}&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;All I’m doing is looping through my top level folders (email accounts) and for each of them finding a folder called Deleted Items.&amp;#160; If it has any content I will delete it.&amp;#160; Notice that the deletions have to occur on the item not at the folder level.&lt;/p&gt;

&lt;p&gt;The contents of the folders can be tested using the function we saw earlier&lt;/p&gt;

&lt;p&gt;get-mailitemcount | where {$_.Folder –like “Deleted*”}&lt;/p&gt;

&lt;p&gt;A couple of notes on this function:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Its inefficient iterating through all of the folders &lt;/li&gt;

  &lt;li&gt;It doesn’t necessarily delete all of the items in one pass &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The fix to this is use the get-mailitemcount function to test if we need to delete and keep calling the function until the folder is empty.&amp;#160; There is a way to access the folder directly that I will be testing next&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1796983" width="1" height="1" alt="" /&gt;</description></item><item><title>Outlook folders</title><link>http://powershell.com/cs/blogs/richardsiddaway/archive/2011/07/31/outlook-folders.aspx</link><pubDate>Sun, 31 Jul 2011 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:11663</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;The functions we’ve seen so far have involved iterating through the whole set of Outlook folders. That’s a lot of folders (I have 4 email accounts with lost of folders). The trick is to do this just once and then use the GetFolderFromID method at the Outlook.Session level to access individual mailboxes&lt;/p&gt;  &lt;p&gt;The problem is that this method uses the EntryID and the StoreID for the folder.&amp;#160; Examples are shown below&lt;/p&gt;  &lt;p&gt;StoreID : 0000000038A1BB1005E5101AA1BB08002B2A56C200006D736E636F6E2E646C6C    &lt;br /&gt;0000000000000000E92FEB759650448683B87DE522AA494800433A5C55736572735C526963     &lt;br /&gt;686172645C417070446174615C4C6F63616C5C4D6963726F736F66745C4F75746C6F6F6B5C     &lt;br /&gt;726963686172645F73696464617761795F686F746D61696C2E6F737400&lt;/p&gt;  &lt;p&gt;EntryID : 000000000A9D24A8D4E32445825D043ADB203A6F0100D9539C2261A6BB45B9DA    &lt;br /&gt;B62C7081B3C101002100FFFF0000&lt;/p&gt;  &lt;p&gt;Path&amp;#160;&amp;#160;&amp;#160; : \\emailaddress@hotmail.com\Deleted Items    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Now I for one don’t want to be typing in the EntryID never mind the StoreID – chances of getting that right range from zero to about … zero&lt;/p&gt;  &lt;p&gt;What we can do convert all of our Outlook functions (the two so far and the others I’ve got planned) into a module. In the psm1 file I can put a line that says&lt;/p&gt;  &lt;p&gt;$folders = get-mailfolders&lt;/p&gt;  &lt;p&gt;That creates a collection of objects containing the path, storeid and entryid for all of the folders. We can then search through that collection much faster than the outlook folders.&lt;/p&gt;  &lt;p&gt;We create the collection like this&lt;/p&gt;  &lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color:#00008b;"&gt;function&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;get-mailfolders&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;            
&lt;span style="color:#ff4500;"&gt;$outlookfolders&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;span style="color:#ff4500;"&gt;$outlook&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New-Object&lt;/span&gt; &lt;span style="color:#000080;"&gt;-ComObject&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;Outlook.Application&lt;/span&gt;            
&lt;span style="color:#00008b;"&gt;foreach&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$folder&lt;/span&gt; &lt;span style="color:#00008b;"&gt;in&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$outlook&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Session&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Folders&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;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$mailfolder&lt;/span&gt; &lt;span style="color:#00008b;"&gt;in&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;Folders&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;$olkf&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New-Object&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;PSObject&lt;/span&gt; &lt;span style="color:#000080;"&gt;-Property&lt;/span&gt; &lt;span style="color:#000000;"&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;$(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$mailfolder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;FullFolderPath&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;            
    &lt;span style="color:#000000;"&gt;EntryID&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:#ff4500;"&gt;$mailfolder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;EntryID&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;            
    &lt;span style="color:#000000;"&gt;StoreID&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:#ff4500;"&gt;$mailfolder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;StoreID&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;$outlookfolders&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;+=&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$olkf&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;$outlookfolders&lt;/span&gt;            
&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Loop through the folders as we’ve already seen and create an object that has the path, storeid and entryid. Add the object to the collection and output the collection at the end of the function.&lt;/p&gt;

&lt;p&gt;We’ll see how to use this collection in the revised clear-deletedmail function&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1796992" width="1" height="1" alt="" /&gt;</description></item><item><title>Outlook Connector &amp;amp; mail folder item count</title><link>http://powershell.com/cs/blogs/richardsiddaway/archive/2011/07/30/outlook-connector-amp-mail-folder-item-count.aspx</link><pubDate>Sat, 30 Jul 2011 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:11644</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;On my home laptop I use Live Mail to aggregate my hotmail accounts. On my travelling netbook I decided to try the Outlook Connector&lt;/p&gt;  &lt;p&gt;&lt;a title="http://office.microsoft.com/en-us/outlook-help/microsoft-office-outlook-hotmail-connector-overview-HA010222518.aspx" href="http://office.microsoft.com/en-us/outlook-help/microsoft-office-outlook-hotmail-connector-overview-HA010222518.aspx"&gt;http://office.microsoft.com/en-us/outlook-help/microsoft-office-outlook-hotmail-connector-overview-HA010222518.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This add in enables you to access hotmail accounts from Outlook &amp;amp; because I’m using Outlook 2010 I can have multiple mailboxes open at once.&lt;/p&gt;  &lt;p&gt;This leads to some interesting PowerShell opportunities as having multiple mailboxes open means that some of the standard approaches won’t work – most scripts you see assume that you are connecting to an Exchange mailbox and that there is only one of them.&lt;/p&gt;  &lt;p&gt;As an example consider getting a list of all of the mail folders and the number of items in each&lt;/p&gt;  &lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color:#00008b;"&gt;function&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;get-mailitemcount&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;            
&lt;span style="color:#0000ff;"&gt;Add-Type&lt;/span&gt; &lt;span style="color:#000080;"&gt;-Assembly&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;Microsoft.Office.Interop.Outlook&lt;/span&gt;            
&lt;span style="color:#ff4500;"&gt;$olFolders&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#8b0000;"&gt;&amp;quot;Microsoft.Office.Interop.Outlook.OlDefaultFolders&amp;quot;&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;-as&lt;/span&gt; &lt;span style="color:#008080;"&gt;[type]&lt;/span&gt;            
            
&lt;span style="color:#ff4500;"&gt;$outlook&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New-Object&lt;/span&gt; &lt;span style="color:#000080;"&gt;-ComObject&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;Outlook.Application&lt;/span&gt;            
&lt;span style="color:#00008b;"&gt;foreach&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$folder&lt;/span&gt; &lt;span style="color:#00008b;"&gt;in&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$outlook&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Session&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Folders&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;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$mailfolder&lt;/span&gt; &lt;span style="color:#00008b;"&gt;in&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;Folders&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;New-Object&lt;/span&gt; &lt;span style="color:#000080;"&gt;-TypeName&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;PSObject&lt;/span&gt; &lt;span style="color:#000080;"&gt;-Property&lt;/span&gt; &lt;span style="color:#000000;"&gt;@{&lt;/span&gt;            
      &lt;span style="color:#000000;"&gt;Mailbox&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:#ff4500;"&gt;$folder&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;Folder&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:#ff4500;"&gt;$mailfolder&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;ItemCount&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:#ff4500;"&gt;$mailfolder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Items&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:#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:#0000ff;"&gt;select&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;Mailbox&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;Folder&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;ItemCount&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;/pre&gt;

&lt;p&gt;The first two lines add the interop assembly and create an object representing the default folders. If these are used directly all we get is the folders for the default (first) mailbox.&lt;/p&gt;

&lt;p&gt;Create an object for the outlook application and iterate through the folders in the session – these are the individual mailboxes.&lt;/p&gt;

&lt;p&gt;For each of those create an object and set the properties. The select ensures the object properties display in the order we need.&lt;/p&gt;

&lt;p&gt;I used foreach instead of foreach-object so that I could use a variable rather than $_ as it would have confusing with nested foreachs&lt;/p&gt;

&lt;p&gt;There is quite a bit to play with here and some very interesting PowerShell issues.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1796967" width="1" height="1" alt="" /&gt;</description></item><item><title>Moving Windows</title><link>http://powershell.com/cs/blogs/richardsiddaway/archive/2011/07/23/moving-windows.aspx</link><pubDate>Sat, 23 Jul 2011 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:11530</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;In answer to a forum question I started to look at how you could move the PowerShell window from within PowerShell. Its not straight forward as we have to dig into the Win32 APIs&lt;/p&gt;  &lt;p&gt;I came up with this code&lt;/p&gt;  &lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color:#00008b;"&gt;function&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;move-window&lt;/span&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;(&lt;/span&gt;            
 &lt;span style="color:#008080;"&gt;[int]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$newX&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;            
 &lt;span style="color:#008080;"&gt;[int]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$newY&lt;/span&gt;            
&lt;span style="color:#000000;"&gt;)&lt;/span&gt;             
&lt;span style="color:#00008b;"&gt;BEGIN&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;            
&lt;span style="color:#ff4500;"&gt;$signature&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#8b0000;"&gt;@&amp;#39;

[DllImport(&amp;quot;user32.dll&amp;quot;)]
public static extern bool MoveWindow(
    IntPtr hWnd,
    int X,
    int Y,
    int nWidth,
    int nHeight,
    bool bRepaint);

[DllImport(&amp;quot;user32.dll&amp;quot;)]
public static extern IntPtr GetForegroundWindow();

[DllImport(&amp;quot;user32.dll&amp;quot;)]
public static extern bool GetWindowRect(
    HandleRef hWnd,
    out RECT lpRect);

public struct RECT
{
    public int Left;        // x position of upper-left corner
    public int Top;         // y position of upper-left corner
    public int Right;       // x position of lower-right corner
    public int Bottom;      // y position of lower-right corner
}

&amp;#39;@&lt;/span&gt;            
            
&lt;span style="color:#0000ff;"&gt;Add-Type&lt;/span&gt; &lt;span style="color:#000080;"&gt;-MemberDefinition&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$signature&lt;/span&gt; &lt;span style="color:#000080;"&gt;-Name&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;Wutils&lt;/span&gt; &lt;span style="color:#000080;"&gt;-Namespace&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;WindowsUtils&lt;/span&gt;             
            
&lt;span style="color:#000000;"&gt;}&lt;/span&gt;            
&lt;span style="color:#00008b;"&gt;PROCESS&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;            
 &lt;span style="color:#ff4500;"&gt;$phandle&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#008080;"&gt;[WindowsUtils.Wutils]&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;::&lt;/span&gt;&lt;span style="color:#000000;"&gt;GetForegroundWindow&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;$o&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New-Object&lt;/span&gt; &lt;span style="color:#000080;"&gt;-TypeName&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;System.Object&lt;/span&gt;            
 &lt;span style="color:#ff4500;"&gt;$href&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New-Object&lt;/span&gt; &lt;span style="color:#000080;"&gt;-TypeName&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;System.RunTime.InteropServices.HandleRef&lt;/span&gt; &lt;span style="color:#000080;"&gt;-ArgumentList&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$o&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$phandle&lt;/span&gt;            
            
 &lt;span style="color:#ff4500;"&gt;$rct&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New-Object&lt;/span&gt; &lt;span style="color:#8a2be2;"&gt;WindowsUtils.Wutils+RECT&lt;/span&gt;            
            
 &lt;span style="color:#008080;"&gt;[WindowsUtils.Wutils]&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;::&lt;/span&gt;&lt;span style="color:#000000;"&gt;GetWindowRect&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$href&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt; &lt;span style="color:#008080;"&gt;[ref]&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$rct&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;            
             
 &lt;span style="color:#ff4500;"&gt;$width&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$rct&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Right&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;-&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$rct&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Left&lt;/span&gt;            
 &lt;span style="color:#ff4500;"&gt;$height&lt;/span&gt; &lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt; &lt;span style="color:#800080;"&gt;700&lt;/span&gt;            
&lt;span style="color:#006400;"&gt;&amp;lt;#
 $height = $rct.Bottom = $rct.Top
 
 $rct.Right
 $rct.Left
 $rct.Bottom
 $rct.Top
 
 $width
 $height
#&amp;gt;&lt;/span&gt;             
 &lt;span style="color:#008080;"&gt;[WindowsUtils.Wutils]&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;::&lt;/span&gt;&lt;span style="color:#000000;"&gt;MoveWindow&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$phandle&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$newX&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$newY&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$width&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt; &lt;span style="color:#ff4500;"&gt;$height&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:#000000;"&gt;}&lt;/span&gt;             
&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;We start by creating a piece of inline C# that creates a .NET class we can use to call the Win32 API functions. The names of the these functions are self explanatory&lt;/p&gt;

&lt;p&gt;The move is accomplished by getting the handle of the foreground window and then creating a handle reference. The current window size is obtained using GetWindowRect – on my Windows 7 machine it doesn’t report the height correctly so I hard code that but calculate the width.&lt;/p&gt;

&lt;p&gt;The MoveWindow method can be used to perform the move.&amp;#160; Remember that 0,0 is top left corner of the screen&lt;/p&gt;

&lt;p&gt;I’m intrigued as to why the height isn’t reported correctly but haven’t found a good reason &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1796629" width="1" height="1" alt="" /&gt;</description></item></channel></rss>