<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.msgoodies.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;Ak4FQX09cCp7ImA9WxBbGUk.&quot;"><id>tag:blogger.com,1999:blog-8600848</id><updated>2010-03-18T22:48:30.368+01:00</updated><title>msgoodies</title><subtitle type="html">Welcome to our blog on the topics that we find interesting in our work life. It mainly focuses on Microsoft related technologies like Unified Communications, PowerShell, ILM and how these are used at the enterprise customers that we work with.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://msgoodies.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default?alt=atom&amp;start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Dennis Lundtoft Thomsen [MVP]</name><uri>http://www.blogger.com/profile/14713138671966546640</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>594</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.msgoodies.com/blogspot/msgoodies" /><feedburner:info uri="blogspot/msgoodies" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>57.098423</geo:lat><geo:long>9.897963</geo:long><feedburner:emailServiceId>blogspot/msgoodies</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;Dk4DR34yeCp7ImA9WxBUF0o.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-353397684298741309</id><published>2010-03-05T08:35:00.001+01:00</published><updated>2010-03-05T08:42:56.090+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-05T08:42:56.090+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Exchange" /><title>Update Rollup 2 for Exchange 2010 has RTW’ed</title><content type="html">&lt;p&gt;The awaited Rollup fixes amongst other things several PO3 and IMAP issues and an update to Push Notifications.&lt;/p&gt;  &lt;p&gt;Read more at &lt;a href="http://bit.ly/bAjda1"&gt;KB979611&lt;/a&gt; or proceed directly to the download &lt;a href="http://bit.ly/9s726t"&gt;site&lt;/a&gt; (And if you haven’t already done so – remember to look at Exchange 2010 Unified Messaging it ROCKZ ;-)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-353397684298741309?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=ODq_i9UvXag:voAknqzo2vM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=ODq_i9UvXag:voAknqzo2vM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=ODq_i9UvXag:voAknqzo2vM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=ODq_i9UvXag:voAknqzo2vM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=ODq_i9UvXag:voAknqzo2vM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/ODq_i9UvXag" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/353397684298741309/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=353397684298741309&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/353397684298741309?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/353397684298741309?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/ODq_i9UvXag/update-rollup-2-for-exchange-2010-has.html" title="Update Rollup 2 for Exchange 2010 has RTW’ed" /><author><name>Dennis Lundtoft Thomsen [MVP]</name><uri>http://www.blogger.com/profile/14713138671966546640</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16206148123269563940" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2010/03/update-rollup-2-for-exchange-2010-has.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8MR3g7eip7ImA9WxBUFUk.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-5143223384809430636</id><published>2010-03-02T09:03:00.001+01:00</published><updated>2010-03-02T16:31:26.602+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-02T16:31:26.602+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Self-promotion ;-)" /><category scheme="http://www.blogger.com/atom/ns#" term="Unified Communications" /><title>OCS 2007 R2 Audio Conferencing Deep Dive tonight</title><content type="html">&lt;p&gt;FYI - I’m presenting an Audio Conferencing Deep Dive tonight (March 2nd 20.00 CET and 11:00 AM Pacific ) &lt;/p&gt;  &lt;p&gt;&lt;a title="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032441774&amp;amp;Culture=en-US" href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032441774&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032441774&amp;amp;Culture=en-US&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;em&gt;Event Overview&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Are you familiar with Microsoft Office Communications Server 2007 R2 dial-in conferencing and want to go deeper into the technical details? Or, are you thinking about deploying dial-in conferencing but have not yet done so? Attend this webcast for a demonstration of how Communications Server 2007 R2 works in practice, and get a detailed look at component interactions and call flows.      &lt;br /&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;b&gt;Presenter: &lt;/b&gt;Dennis Lundtoft Thomsen, Technical Evangelist, Inceptio Learning Solutions ApS       &lt;br /&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Dennis Thomsen works for Inceptio Learning ApS as a technical evangelist, educating Microsoft partners worldwide on bleeding edge technologies. He blogs, twitters, and writes articles on unified communications (UC), and he is writing a book on Microsoft UC to be published in the third or fourth quarter of 2010. Dennis's work focuses on large-scale enterprise and hosted Microsoft Unified Communications projects. He holds several Microsoft certifications and an Executive Master of Business Administration (MBA) degree with specialization in management of technology. Dennis was awarded a Microsoft Most Valuable Professional (MVP) award in 2007, 2008, and 2009.      &lt;br /&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;View other sessions from &lt;/em&gt;&lt;a href="http://www.microsoft.com/events/series/unifiedcommunications.aspx"&gt;&lt;em&gt;Unified Communications: Control Your Infrastructure&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It’s a level 2-300 presentation and it’s my first webcast, so don’t expect to much ;-)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-5143223384809430636?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=oxOa0Zeq5IE:J0QB624noEg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=oxOa0Zeq5IE:J0QB624noEg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=oxOa0Zeq5IE:J0QB624noEg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=oxOa0Zeq5IE:J0QB624noEg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=oxOa0Zeq5IE:J0QB624noEg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/oxOa0Zeq5IE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/5143223384809430636/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=5143223384809430636&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/5143223384809430636?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/5143223384809430636?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/oxOa0Zeq5IE/ocs-2007-r2-audio-conferencing-deep.html" title="OCS 2007 R2 Audio Conferencing Deep Dive tonight" /><author><name>Dennis Lundtoft Thomsen [MVP]</name><uri>http://www.blogger.com/profile/14713138671966546640</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16206148123269563940" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2010/03/ocs-2007-r2-audio-conferencing-deep.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQGR3k4fip7ImA9WxBVFEk.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-1390493095755578983</id><published>2010-02-17T19:07:00.001+01:00</published><updated>2010-02-17T22:32:06.736+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-17T22:32:06.736+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Unified Communications" /><title>OCS Voice Exam 71-404 period extended 2 weeks</title><content type="html">&lt;p&gt;&lt;em&gt;Due to extreme winter weather conditions, Microsoft is extending Beta Exam 71-404, OCS 2007 R2 Voice Specialization for another two weeks. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Register for FREE with code &lt;b&gt;OCR2J&lt;/b&gt; for BETA Exam 71-404&amp;#160; Prometric sites &lt;/em&gt;&lt;a href="http://www.prometric.com/Microsoft/default.htm"&gt;&lt;em&gt;http://www.prometric.com/Microsoft/default.htm&lt;/em&gt;&lt;/a&gt;&lt;em&gt;. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Candidates should &lt;b&gt;plan for up to four hours to take the Beta exam and provide feedback on every question&lt;/b&gt; (versus the typical two hours to take Released version exams.) &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;It is highly recommended that candidates for Exam 74-404 (Beta 71-404) have experience with OCS 2007 R2 and have completed the Unified Communications Voice Ignite v 2.0 (R2) Workshop. A preparation guide for the exam is available at&amp;#160; &lt;/em&gt;&lt;a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=74-404&amp;amp;locale=en-us"&gt;&lt;em&gt;http://www.microsoft.com/learning/en/us/exam.aspx?ID=74-404&amp;amp;locale=en-us&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I’ve heard good feedback from people who have taken the Beta exam – so go ahead and try (Last available date is February 26th ;-)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-1390493095755578983?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=1mqGtu9J9oQ:VBmfNAHiexs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=1mqGtu9J9oQ:VBmfNAHiexs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=1mqGtu9J9oQ:VBmfNAHiexs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=1mqGtu9J9oQ:VBmfNAHiexs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=1mqGtu9J9oQ:VBmfNAHiexs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/1mqGtu9J9oQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/1390493095755578983/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=1390493095755578983&amp;isPopup=true" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/1390493095755578983?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/1390493095755578983?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/1mqGtu9J9oQ/ocs-voice-exam-71-404-period-extended-2.html" title="OCS Voice Exam 71-404 period extended 2 weeks" /><author><name>Dennis Lundtoft Thomsen [MVP]</name><uri>http://www.blogger.com/profile/14713138671966546640</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16206148123269563940" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2010/02/ocs-voice-exam-71-404-period-extended-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQHRnY4fip7ImA9WxBVEkg.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-7222308314583694428</id><published>2010-02-15T18:02:00.001+01:00</published><updated>2010-02-15T18:02:17.836+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-15T18:02:17.836+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Active Directory" /><title>Strict Replication Consistency - Myth versus Reality</title><content type="html">&lt;p&gt;You can always learn more about Active Directory replication!&lt;/p&gt;  &lt;p&gt;Read on from the &lt;a href="http://blogs.technet.com/askds/default.aspx"&gt;Ask the Directory Services Team&lt;/a&gt; blog -&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.technet.com/askds/archive/2010/02/15/strict-replication-consistency-myth-versus-reality.aspx" href="http://blogs.technet.com/askds/archive/2010/02/15/strict-replication-consistency-myth-versus-reality.aspx"&gt;http://blogs.technet.com/askds/archive/2010/02/15/strict-replication-consistency-myth-versus-reality.aspx&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-7222308314583694428?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=zFzFrxWWjuw:7AyrAfJvmUI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=zFzFrxWWjuw:7AyrAfJvmUI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=zFzFrxWWjuw:7AyrAfJvmUI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=zFzFrxWWjuw:7AyrAfJvmUI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=zFzFrxWWjuw:7AyrAfJvmUI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/zFzFrxWWjuw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/7222308314583694428/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=7222308314583694428&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/7222308314583694428?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/7222308314583694428?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/zFzFrxWWjuw/strict-replication-consistency-myth.html" title="Strict Replication Consistency - Myth versus Reality" /><author><name>Per Østergaard</name><uri>http://www.blogger.com/profile/12128790394950237942</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10445043458334841722" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2010/02/strict-replication-consistency-myth.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcDSXk6eSp7ImA9WxBWF00.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-5647510904308381261</id><published>2010-02-09T10:26:00.001+01:00</published><updated>2010-02-09T10:34:38.711+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-09T10:34:38.711+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Unified Communications" /><title>Information Overload and Social Impact of UC</title><content type="html">&lt;p&gt;&lt;a href="http://twitter.com/michaeljkillian"&gt;Michael J. Killian&lt;/a&gt; has created a 3-series post on his view on Unified Communications, &lt;a href="http://bit.ly/aKK886"&gt;Information Overload&lt;/a&gt;, the &lt;a href="http://bit.ly/dBa8OQ"&gt;Social Behavior Impacts&lt;/a&gt; and &lt;a href="http://bit.ly/dxnFqX"&gt;Social Networking in The Enterprise&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Interesting and well written perspectives for anyone interested in the non-technical side of working with Unified Communications!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-5647510904308381261?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=J2uBnkfMX_8:TlYmFW7ThJA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=J2uBnkfMX_8:TlYmFW7ThJA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=J2uBnkfMX_8:TlYmFW7ThJA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=J2uBnkfMX_8:TlYmFW7ThJA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=J2uBnkfMX_8:TlYmFW7ThJA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/J2uBnkfMX_8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/5647510904308381261/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=5647510904308381261&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/5647510904308381261?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/5647510904308381261?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/J2uBnkfMX_8/information-overload-and-social-impact.html" title="Information Overload and Social Impact of UC" /><author><name>Dennis Lundtoft Thomsen [MVP]</name><uri>http://www.blogger.com/profile/14713138671966546640</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16206148123269563940" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2010/02/information-overload-and-social-impact.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cESH08fip7ImA9WxBWE00.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-2296691393915993674</id><published>2010-02-04T17:02:00.001+01:00</published><updated>2010-02-04T17:30:09.376+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-04T17:30:09.376+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Telephony" /><category scheme="http://www.blogger.com/atom/ns#" term="Unified Communications" /><title>NET acquires SmartSIP from Evangelyze</title><content type="html">&lt;p&gt;Good news for users of &lt;a href="www.net.com"&gt;NET&lt;/a&gt; Gateways for their OCS implementations (and future customers ;-) NET has acquired the smartSIP product from &lt;a href="www.evangelyze.net"&gt;Evangelyze&lt;/a&gt; -&lt;/p&gt;  &lt;p&gt;&lt;em&gt;The SmartSIP product line includes both the SmartSIP and SmartVoIP products. SmartSIP enables UC presence and interoperability for SIP phones while providing integration for Microsoft's Office Communications Server with IP-PBXs and integration for ITSP voice providers. SmartVoIP, a 2008 Internet Telephony Product of the Year, is an extension of SmartSIP that provides branch office integration with Microsoft Office Communications Server.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Read the full press release &lt;a href="http://bit.ly/cE04dZ"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-2296691393915993674?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=l7Qd_Vuj9OQ:bofIxk7z7Mw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=l7Qd_Vuj9OQ:bofIxk7z7Mw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=l7Qd_Vuj9OQ:bofIxk7z7Mw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=l7Qd_Vuj9OQ:bofIxk7z7Mw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=l7Qd_Vuj9OQ:bofIxk7z7Mw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/l7Qd_Vuj9OQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/2296691393915993674/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=2296691393915993674&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/2296691393915993674?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/2296691393915993674?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/l7Qd_Vuj9OQ/net-acquires-smartsip-from-evangelyze.html" title="NET acquires SmartSIP from Evangelyze" /><author><name>Dennis Lundtoft Thomsen [MVP]</name><uri>http://www.blogger.com/profile/14713138671966546640</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16206148123269563940" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2010/02/net-acquires-smartsip-from-evangelyze.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUBQns9cSp7ImA9WxBWEkU.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-7797143497187250267</id><published>2010-02-04T13:40:00.001+01:00</published><updated>2010-02-04T13:40:53.569+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-04T13:40:53.569+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Script" /><category scheme="http://www.blogger.com/atom/ns#" term="PowerShell V2" /><title>Invoking the PowerShell Debugger from Script</title><content type="html">&lt;p&gt;With PowerShell v2, a new and much improved command line debugger was introduced. The old one is still around though. Anyway, more information can be found in the help subject about_Debuggers.&lt;/p&gt;  &lt;p&gt;The strange part is that Set-PsDebug –Step invokes the old debugger and there does not seem to be a way of invoking the new one. You can only invoke the new one by setting a breakpoint. Even though, breakpoints are a very useful feature which I use a lot, I would also like to do it from inside a script.&lt;/p&gt;  &lt;p&gt;I have played around with some ways of doing this.&lt;/p&gt;  &lt;p&gt;First, a self-contained function&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;Function Invoke-Debugger{&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; debug{}&lt;br /&gt;    $bp=Set-PSBreakPoint -Command debug&lt;br /&gt;    debug&lt;br /&gt;    $bp | Remove-PSBreakpoint&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; test{&lt;br /&gt;    write-host 1&lt;br /&gt;    Invoke-Debugger&lt;br /&gt;    write-host 2&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;test&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;It works great, but has the downside, that the current execution pointer is inside the Invoke-Debugger function -&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;1&lt;br /&gt;Entering debug mode. Use h or ? &lt;span style="color: #0000ff"&gt;for&lt;/span&gt; help.&lt;br /&gt;&lt;br /&gt;Hit Command breakpoint on &lt;span style="color: #006080"&gt;'debug'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;x.ps1:4       debug&lt;br /&gt;7 $docs&amp;gt;&amp;gt;&amp;gt; l&lt;br /&gt;&lt;br /&gt;    1:  Function Invoke-Debugger{&lt;br /&gt;    2:      &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; debug{}&lt;br /&gt;    3:      $bp=Set-PSBreakPoint -Command debug&lt;br /&gt;    4:*     debug&lt;br /&gt;    5:      $bp | Remove-PSBreakpoint&lt;br /&gt;    6:  }&lt;br /&gt;    7:&lt;br /&gt;    8:  &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; test{&lt;br /&gt;    9:      write-host 1&lt;br /&gt;   10:      Invoke-Debugger&lt;br /&gt;   11:      write-host 2&lt;br /&gt;   12:  }&lt;br /&gt;   13:&lt;br /&gt;   14:  test&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;No matter how I try to tweak it, I end up in the same way.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Next, lets try using a two part approach (setting the breakpoint and doing some action to invoke it) -&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;$null=Set-PSBreakpoint -Variable InvokeDebugger&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; test{&lt;br /&gt;    write-host 1&lt;br /&gt;    $InvokeDebugger=1&lt;br /&gt;    write-host 2&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;test&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;This is much better, now the execution pointer is right in the code -&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;1&lt;br /&gt;Hit Variable breakpoint on &lt;span style="color: #006080"&gt;'$InvokeDebugger'&lt;/span&gt; (Write access)&lt;br /&gt;&lt;br /&gt;x.ps1:5       $InvokeDebugger=1&lt;br /&gt;9 $docs&amp;gt;&amp;gt;&amp;gt; l&lt;br /&gt;&lt;br /&gt;    1:  $null=Set-PSBreakpoint -Variable InvokeDebugger&lt;br /&gt;    2:&lt;br /&gt;    3:  &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; test{&lt;br /&gt;    4:      write-host 1&lt;br /&gt;    5:*     $InvokeDebugger=1&lt;br /&gt;    6:      write-host 2&lt;br /&gt;    7:  }&lt;br /&gt;    8:&lt;br /&gt;    9:  test&lt;br /&gt;   10:&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Eventually, this led me to this piece of code. It is easier to write than the variable assignment and you can also define an easy-writeable alias for it -&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; Invoke-Debugger{}&lt;br /&gt;New-Alias id Invoke-Debugger&lt;br /&gt;$null=Set-PSBreakPoint –Command Invoke-Debugger&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; test{&lt;br /&gt;    write-host 1&lt;br /&gt;    id&lt;br /&gt;    write-host 2&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;test&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;br /&gt;The execution pointer is right at the call. If you include any statements in Invoke-Debugger, this will not work as well while ‘step’ will take execution into the function -&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;1&lt;br /&gt;Hit Command breakpoint on &lt;span style="color: #006080"&gt;'Invoke-Debugger'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;x.ps1:9       id&lt;br /&gt;13 $docs&amp;gt;&amp;gt;&amp;gt; l&lt;br /&gt;&lt;br /&gt;    4:  New-Alias id Invoke-Debugger&lt;br /&gt;    5:  $null=Set-PSBreakPoint –Command Invoke-Debugger&lt;br /&gt;    6:&lt;br /&gt;    7:  &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; test{&lt;br /&gt;    8:      write-host 1&lt;br /&gt;    9:*     id&lt;br /&gt;   10:      write-host 2&lt;br /&gt;   11:  }&lt;br /&gt;   12:&lt;br /&gt;   13:  test&lt;br /&gt;   14:&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This method also enables you to make conditional break using straight, normal code (compared to making the logic in the –action argument of Set-PSBreakPoint) -&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;filter&lt;/span&gt; test{&lt;br /&gt;    write-host &lt;span style="color: #006080"&gt;&amp;quot;got $_&amp;quot;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; ($_ &lt;span style="color: #cc6633"&gt;-eq&lt;/span&gt; 3) {id}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;1..5 | test&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;and the output -&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;got 1&lt;br /&gt;got 2&lt;br /&gt;got 3&lt;br /&gt;Hit Command breakpoint on &lt;span style="color: #006080"&gt;'Invoke-Debugger'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;x.ps1:9       &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; ($_ &lt;span style="color: #cc6633"&gt;-eq&lt;/span&gt; 3) {id}&lt;br /&gt;14 $docs&amp;gt;&amp;gt;&amp;gt; l&lt;br /&gt;&lt;br /&gt;    4:  New-Alias id Invoke-Debugger&lt;br /&gt;    5:  $null=Set-PSBreakPoint –Command Invoke-Debugger&lt;br /&gt;    6:&lt;br /&gt;    7:  &lt;span style="color: #0000ff"&gt;filter&lt;/span&gt; test{&lt;br /&gt;    8:      write-host &lt;span style="color: #006080"&gt;&amp;quot;got $_&amp;quot;&lt;/span&gt;&lt;br /&gt;    9:*     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; ($_ &lt;span style="color: #cc6633"&gt;-eq&lt;/span&gt; 3) {id}&lt;br /&gt;   10:  }&lt;br /&gt;   11:&lt;br /&gt;   12:  1..5 | test&lt;br /&gt;   13:&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;You can include the Invoke-Debugger function and the Set-PSBreakPoint in your profile, so they are available in all our scripts.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Happy debugging..&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-7797143497187250267?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=KyEWw7lASUs:vDYNN1s2BZ4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=KyEWw7lASUs:vDYNN1s2BZ4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=KyEWw7lASUs:vDYNN1s2BZ4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=KyEWw7lASUs:vDYNN1s2BZ4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=KyEWw7lASUs:vDYNN1s2BZ4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/KyEWw7lASUs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/7797143497187250267/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=7797143497187250267&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/7797143497187250267?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/7797143497187250267?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/KyEWw7lASUs/invoking-powershell-debugger-from.html" title="Invoking the PowerShell Debugger from Script" /><author><name>Per Østergaard</name><uri>http://www.blogger.com/profile/12128790394950237942</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10445043458334841722" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2010/02/invoking-powershell-debugger-from.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcDQ3oyeSp7ImA9WxBXGUs.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-699071827787929295</id><published>2010-01-29T09:18:00.001+01:00</published><updated>2010-01-31T19:21:12.491+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-31T19:21:12.491+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Communicator" /><category scheme="http://www.blogger.com/atom/ns#" term="OCS" /><category scheme="http://www.blogger.com/atom/ns#" term="Unified Communications" /><title>One stop shop for all your OCS patches</title><content type="html">&lt;p&gt;Microsoft has created a really useful &lt;a href="http://bit.ly/d3i55E"&gt;Updates Resource Center&lt;/a&gt; with all the latest and greatest patches listed for both Office Communications Server and the clients.&lt;/p&gt;  &lt;p&gt;You can also find the updates at this &lt;a href="http://bit.ly/douJSR"&gt;RSS feed&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Note this is meant as a One Stop Shop, it is NOT the place where you’ll be notified first on a new OCS/OC patch.&lt;/p&gt;  &lt;p&gt;Good work Microsoft ;-)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-699071827787929295?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=mQQDieYSFNE:jAQWBazozAM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=mQQDieYSFNE:jAQWBazozAM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=mQQDieYSFNE:jAQWBazozAM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=mQQDieYSFNE:jAQWBazozAM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=mQQDieYSFNE:jAQWBazozAM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/mQQDieYSFNE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/699071827787929295/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=699071827787929295&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/699071827787929295?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/699071827787929295?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/mQQDieYSFNE/one-stop-shop-for-all-your-ocs-patches.html" title="One stop shop for all your OCS patches" /><author><name>Dennis Lundtoft Thomsen [MVP]</name><uri>http://www.blogger.com/profile/14713138671966546640</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16206148123269563940" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2010/01/one-stop-shop-for-all-your-ocs-patches.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ICRncyfyp7ImA9WxBXFEw.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-3757645481539464197</id><published>2010-01-25T11:32:00.001+01:00</published><updated>2010-01-25T11:32:47.997+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-25T11:32:47.997+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Unified Communications" /><title>Interesting webcast from AudioCodes on OCS integration futures</title><content type="html">&lt;p&gt;Besides not being totally honest on what “other vendors” can do (E.g. &lt;a href="http://www.net.com/"&gt;NET&lt;/a&gt; and others provides most of these features and more on top), there were a lot of different interesting news -&lt;/p&gt;  &lt;p&gt;They spoke about Direct Connect (Formerly known as “Advanced Gateway” functionality) that apparently is supported in all their gateways from MP11x series to the Mediant (Se their &lt;a href="http://bit.ly/8QjW8P"&gt;Application Note&lt;/a&gt; that doesn’t detail QoE / ICE support however).&amp;#160; The good thing about direct connect is that you get rid of the need to buy and deploy Mediation Server’s&amp;#160; (Bad news are that it’s officially unsupported – so AudioCodes / NET has to support these configurations directly)&lt;/p&gt;  &lt;p&gt;Other more interesting functionality was support for third party PBX handsets (Again like NET VX1200 series) on remote locations and survivability for these (If they support it).&amp;#160; Also their own AudioCodes endpoints support registration to OCS, by proxying through their gateways to OCS (Which then handles call control). This includes support for Wideband and future support for presence.&lt;/p&gt;  &lt;p&gt;Also Still time to see the #AudioCodes US prez running today at 12:00 noon (EST) / 09:00am (PST) - register here &lt;a href="http://bit.ly/8LrYlL"&gt;http://bit.ly/8LrYlL&lt;/a&gt;. And a recorded webcast should also become available soon (I will update link to it).&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-3757645481539464197?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=htCepIpx0DI:PGrNHxpJ5cg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=htCepIpx0DI:PGrNHxpJ5cg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=htCepIpx0DI:PGrNHxpJ5cg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=htCepIpx0DI:PGrNHxpJ5cg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=htCepIpx0DI:PGrNHxpJ5cg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/htCepIpx0DI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/3757645481539464197/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=3757645481539464197&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/3757645481539464197?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/3757645481539464197?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/htCepIpx0DI/interesting-webcast-from-audiocodes-on.html" title="Interesting webcast from AudioCodes on OCS integration futures" /><author><name>Dennis Lundtoft Thomsen [MVP]</name><uri>http://www.blogger.com/profile/14713138671966546640</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16206148123269563940" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2010/01/interesting-webcast-from-audiocodes-on.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4GRn0yeip7ImA9WxBXFk8.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-1353846673044573242</id><published>2010-01-24T01:36:00.002+01:00</published><updated>2010-01-27T21:42:07.392+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-27T21:42:07.392+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Unified Communications" /><title>Comments on the OCS 2007 R2 Workload Architecture Poster</title><content type="html">&lt;p&gt;The recently RTW’ed Architecture &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=af2c17cb-207c-4c52-8811-0aca6dfadc94"&gt;Poster&lt;/a&gt; provides a very good overview of port and certificate requirements in the different OCS workloads.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;This poster of Office Communications Server 2007 R2 describes the traffic flow of protocols and ports used in each workload. Communications Server 2007 R2 supports the following workloads: IM and Presence, Conferencing, Application Sharing, and Enterprise Voice. These filtered views can assist you in architecting your deployment of Communications Server 2007 R2. The different server roles are described along with server certificate requirements. Firewall and DNS configuration requirements are also described.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;I like this Poster and the idea/work put in to it and will certainly print one out for the walls in my home office. It provides a visually good overview of the Port usage and signaling/media flows used in OCS. &lt;/p&gt;  &lt;p&gt;I have a few comments to the drawing though - &lt;/p&gt;  &lt;p class="downloadInfo"&gt;&lt;em&gt;Application Sharing Workload&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div class="downloadInfo"&gt;Red arrow depicting RDP/SRTP shows inbound traffic to 50,000-59,999. This is not correct – only outbound is required to endpoint. The only place this would be required is for traffic to an OCS 2007 “R1” Edge Server.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div class="downloadInfo"&gt;“A/V Edge must have publicly routable IP addresses” – true if implemented in loadbalanced config as shown (But not required for standalone Edge).&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p class="downloadInfo"&gt;&lt;em&gt;Enterprise Voice Workload&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div class="downloadInfo"&gt;Red arrow depicting RDP/SRTP shows inbound traffic to 50,000-59,999. This is not correct – only outbound is required to endpoint. The only place this would be required is for traffic to an OCS 2007 “R1” Edge Server&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div class="downloadInfo"&gt;I’m sure G.711 is not used through the A/V Edge as any packet loss would kill it ;-) Siren maybe used for conferencing scenarios.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p class="downloadInfo"&gt;&lt;em&gt;A/V and Web Conferencing Workload&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div class="downloadInfo"&gt;Arrows for HTTPS traffic are not correct – they should point towards the LM endpoints, as they are used for downloads of content e.g. slides.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;div class="downloadInfo"&gt;Firewall configuration and ports on the Edge Server. Even though not OCS specific I would personally add port 53 for DNS (To internal or external depending on config) and port 80 to both external and internal (As this port is used for CRL checks). If not in the drawing then in the “Firewall Configuration” text box.&lt;/div&gt;  &lt;div class="downloadInfo"&gt;&amp;#160;&lt;/div&gt;  &lt;div class="downloadInfo"&gt;&lt;/div&gt;  &lt;div class="downloadInfo"&gt;&lt;/div&gt;  &lt;div class="downloadInfo"&gt;I generally like the idea about the DNS and Certificate portion in this poster, but IMHO it is to simplified. If a future update is planned the I think it should have its own page/poster to really handle the different scenarios and namespace requirements in OCS. So for certificates I would still point to the &lt;a title="Whitepaper on Deploying Certificates in OCS 2007 and OCS 2007 R2" href="http://msgoodies.blogspot.com/2009/08/whitepaper-on-deploying-certificates-in.html"&gt;Whitepaper on Deploying Certificates in OCS 2007 and OCS 2007 R2&lt;/a&gt;, which does a better job of explaining the complexity of certificates usage/naming in OCS.&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-1353846673044573242?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=uEWBcLq8x24:uBNOSbMeQiU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=uEWBcLq8x24:uBNOSbMeQiU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=uEWBcLq8x24:uBNOSbMeQiU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=uEWBcLq8x24:uBNOSbMeQiU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=uEWBcLq8x24:uBNOSbMeQiU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/uEWBcLq8x24" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/1353846673044573242/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=1353846673044573242&amp;isPopup=true" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/1353846673044573242?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/1353846673044573242?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/uEWBcLq8x24/comments-on-ocs-2007-r2-workload.html" title="Comments on the OCS 2007 R2 Workload Architecture Poster" /><author><name>Dennis Lundtoft Thomsen [MVP]</name><uri>http://www.blogger.com/profile/14713138671966546640</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16206148123269563940" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2010/01/comments-on-ocs-2007-r2-workload.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4CSXsycCp7ImA9WxBXEUk.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-1517495525879227817</id><published>2010-01-22T08:54:00.001+01:00</published><updated>2010-01-22T08:56:08.598+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-22T08:56:08.598+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Unified Communications" /><title>BETA Exam 71-404 OCS 2007 R2 – UC Voice Specialization, Will Be Available January 25, 2010</title><content type="html">&lt;p&gt;The Voice Specialization exam for OCS 2007 R2 is finally getting closer to release with the launch of the Beta Exam.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Exam 74-404 (Beta Exam 71-404) is designed to validate the skills and experience of technical professional to design, deploy, and administer Microsoft Voice solutions in production based on Microsoft® Office Communications Server 2007 Release 2&amp;#160; (OCS 2007 R2) and including interoperability with OCS 2007, Microsoft® Exchange Server 2007 Unified Messaging, Microsoft® Windows Server Active Directory, gateways and Private Branch Exchanges (PBX’s). &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;It is highly recommended that candidates for Exam 74-404 have experience with OCS 2007 R2 and have completed the Unified Communications Voice Ignite v 2.0 (R2) Workshop. A preparation guide for the exam will be available soon. Click &lt;/em&gt;&lt;a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=74-404&amp;amp;locale=en-us"&gt;&lt;em&gt;here&lt;/em&gt;&lt;/a&gt;&lt;em&gt; for more details.&amp;#160;&amp;#160; &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Do remember that Inceptio Learning Solutions provide fully qualified UC Voice Ignite Workshops on-site at your company/training provider (almost) anywhere in the world (Contact &lt;a href="mailto:my.initials@inceptio.dk"&gt;my.initials@inceptio.dk&lt;/a&gt; for further info).&lt;/p&gt;  &lt;p&gt;Happy testing ;-)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-1517495525879227817?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=cbS-PiWXNpo:FSShzp8qfn0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=cbS-PiWXNpo:FSShzp8qfn0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=cbS-PiWXNpo:FSShzp8qfn0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=cbS-PiWXNpo:FSShzp8qfn0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=cbS-PiWXNpo:FSShzp8qfn0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/cbS-PiWXNpo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/1517495525879227817/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=1517495525879227817&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/1517495525879227817?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/1517495525879227817?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/cbS-PiWXNpo/beta-exam-71-404-ocs-2007-r2-uc-voice.html" title="BETA Exam 71-404 OCS 2007 R2 – UC Voice Specialization, Will Be Available January 25, 2010" /><author><name>Dennis Lundtoft Thomsen [MVP]</name><uri>http://www.blogger.com/profile/14713138671966546640</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16206148123269563940" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2010/01/beta-exam-71-404-ocs-2007-r2-uc-voice.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEDQX89fyp7ImA9WxBXEE0.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-4810308194449268177</id><published>2010-01-20T13:01:00.001+01:00</published><updated>2010-01-20T16:51:10.167+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-20T16:51:10.167+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Communicator" /><category scheme="http://www.blogger.com/atom/ns#" term="Unified Communications" /><title>Maybe I should redefine “Office 2010 x64 fully working with OC” ?</title><content type="html">&lt;p&gt;I have now been working with Office 2010 x64 a week or so as per my post &lt;a title="Office 2010 x64 now fully working with OC and LiveMeeting Add-in" href="http://msgoodies.blogspot.com/2010/01/office-2010-x64-now-fully-working-with.html"&gt;Office 2010 x64 now fully working with OC and LiveMeeting Add-in&lt;/a&gt;. I have some intermittent problems though – when I log-in everything works fine, then on occassion I get an -&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_nKYobGDdbe4/S1bwnGib7eI/AAAAAAAAARM/F7c_QOJyXe4/s1600-h/image%5B4%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_nKYobGDdbe4/S1bwnVaiOhI/AAAAAAAAARQ/Ar6eFuyS9Zs/image_thumb%5B2%5D.png?imgmax=800" width="644" height="236" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The problem appears after a while and then disappears again later. Integration seems to work fine except that this problem appears from time to time – did anyone get the same error or no error at all? (Perhaps with only one Exchange mailbox – I have two Exchange mailboxes which has other issues – so it may be part of this problem).&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-4810308194449268177?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=Oc-i_R_aN5Y:1S6CfFaWav4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=Oc-i_R_aN5Y:1S6CfFaWav4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=Oc-i_R_aN5Y:1S6CfFaWav4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=Oc-i_R_aN5Y:1S6CfFaWav4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=Oc-i_R_aN5Y:1S6CfFaWav4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/Oc-i_R_aN5Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/4810308194449268177/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=4810308194449268177&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/4810308194449268177?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/4810308194449268177?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/Oc-i_R_aN5Y/maybe-i-should-redefine-office-2010-x64.html" title="Maybe I should redefine “Office 2010 x64 fully working with OC” ?" /><author><name>Dennis Lundtoft Thomsen [MVP]</name><uri>http://www.blogger.com/profile/14713138671966546640</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16206148123269563940" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2010/01/maybe-i-should-redefine-office-2010-x64.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcFR3c_eCp7ImA9WxBQGE8.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-686965934830121194</id><published>2010-01-18T16:20:00.001+01:00</published><updated>2010-01-18T16:20:16.940+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-18T16:20:16.940+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Script" /><category scheme="http://www.blogger.com/atom/ns#" term="PowerShell V2" /><category scheme="http://www.blogger.com/atom/ns#" term="PowerShell" /><title>Reference Variables</title><content type="html">&lt;p&gt;If you want to change a value inside a function, you have to use reference variables. They do not work the same way as they do in C, C# or VbScript.&lt;/p&gt;  &lt;p&gt;This is a simple example -&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; a([ref]$v) {&lt;br /&gt;    &lt;span style="color: #006080"&gt;&amp;quot;a1 v=$($v.value)&amp;quot;&lt;/span&gt;&lt;br /&gt;    $v.value++&lt;br /&gt;    &lt;span style="color: #006080"&gt;&amp;quot;a2 v=$($v.value)&amp;quot;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$x=0&lt;br /&gt;&lt;span style="color: #006080"&gt;&amp;quot;begin x=$x&amp;quot;&lt;/span&gt;&lt;br /&gt;a ([ref]$x)&lt;br /&gt;&lt;span style="color: #006080"&gt;&amp;quot;end x=$x&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Note that must use [ref] when declaring the argument and also when calling. Note also that you must use ([ref]$x) in the call. Finally, you can see that [ref] actually converts the variable into a PSReference object and that you must use .Value to set/get the value.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;But what if you want to transfer the reference variable across multiple function calls? Well, the logical approach is this -&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; b([ref]$v) {&lt;br /&gt;    &lt;span style="color: #006080"&gt;&amp;quot;b1 v=$($v.value)&amp;quot;&lt;/span&gt;&lt;br /&gt;    $v.value++&lt;br /&gt;    &lt;span style="color: #006080"&gt;&amp;quot;b2 v=$($v.value)&amp;quot;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; a([ref]$v) {&lt;br /&gt;    &lt;span style="color: #006080"&gt;&amp;quot;a1 v=$($v.value)&amp;quot;&lt;/span&gt;&lt;br /&gt;    $v.value+=10&lt;br /&gt;    b ([ref]$v)&lt;br /&gt;    &lt;span style="color: #006080"&gt;&amp;quot;a2 v=$($v.value)&amp;quot;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$x=0&lt;br /&gt;&lt;span style="color: #006080"&gt;&amp;quot;begin x=$x&amp;quot;&lt;/span&gt;&lt;br /&gt;a ([ref]$x)&lt;br /&gt;&lt;span style="color: #006080"&gt;&amp;quot;end x=$x&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The pattern is simply repeated. Just like you would in other languages. But THIS WILL NOT WORK. As the first call creates a PSReference object, using ([ref]$v) creates another level of redirection and things will fail. The correct solution is -&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; b([ref]$v) {&lt;br /&gt;    &lt;span style="color: #006080"&gt;&amp;quot;b1 v=$($v.value)&amp;quot;&lt;/span&gt;&lt;br /&gt;    $v.value++&lt;br /&gt;    &lt;span style="color: #006080"&gt;&amp;quot;b2 v=$($v.value)&amp;quot;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; a([ref]$v) {&lt;br /&gt;    &lt;span style="color: #006080"&gt;&amp;quot;a1 v=$($v.value)&amp;quot;&lt;/span&gt;&lt;br /&gt;    $v.value+=10&lt;br /&gt;    b $v&lt;br /&gt;    &lt;span style="color: #006080"&gt;&amp;quot;a2 v=$($v.value)&amp;quot;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$x=0&lt;br /&gt;&lt;span style="color: #006080"&gt;&amp;quot;begin x=$x&amp;quot;&lt;/span&gt;&lt;br /&gt;a ([ref]$x)&lt;br /&gt;&lt;span style="color: #006080"&gt;&amp;quot;end x=$x&amp;quot;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Note that in the second call, $v – a PSReference object – is simply transferred.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Bottom line: Avoid [ref] when you can. Return values or use scoped variables when possible. Remember that it is very easy to return multiple values from a function and assign them to different variables -&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; c{&lt;br /&gt;    &lt;span style="color: #006080"&gt;&amp;quot;Per&amp;quot;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #006080"&gt;&amp;quot;Denmark&amp;quot;&lt;/span&gt;&lt;br /&gt;    44&lt;br /&gt;}&lt;br /&gt;$Name,$Country,$ShoeSize=c&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-686965934830121194?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=QJ2kF9BKdDY:FP3L0-r1tU0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=QJ2kF9BKdDY:FP3L0-r1tU0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=QJ2kF9BKdDY:FP3L0-r1tU0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=QJ2kF9BKdDY:FP3L0-r1tU0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=QJ2kF9BKdDY:FP3L0-r1tU0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/QJ2kF9BKdDY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/686965934830121194/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=686965934830121194&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/686965934830121194?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/686965934830121194?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/QJ2kF9BKdDY/reference-variables.html" title="Reference Variables" /><author><name>Per Østergaard</name><uri>http://www.blogger.com/profile/12128790394950237942</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10445043458334841722" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2010/01/reference-variables.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQGQHc5fip7ImA9WxBQFks.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-4781462178239003196</id><published>2010-01-16T19:25:00.001+01:00</published><updated>2010-01-16T19:25:21.926+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T19:25:21.926+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Unified Communications" /><title>Simple script for extracting CDR records from OCS Monitoring Server</title><content type="html">&lt;p&gt;&lt;a href="http://aublumberg.blogspot.com"&gt;Andre Blumberg&lt;/a&gt; created instructions and a small script for extracting CDR records for outbound calls. Find it &lt;a href="http://aublumberg.blogspot.com/2010/01/usage-script-for-ocs-ev-outbound-calls.html"&gt;here&lt;/a&gt; and do remember to provide your feedback for him (So we all can benefit from your/Andre’s enhancements to the script ;-)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-4781462178239003196?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=7cB_o56WnAw:TvtojFpTtdc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=7cB_o56WnAw:TvtojFpTtdc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=7cB_o56WnAw:TvtojFpTtdc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=7cB_o56WnAw:TvtojFpTtdc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=7cB_o56WnAw:TvtojFpTtdc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/7cB_o56WnAw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/4781462178239003196/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=4781462178239003196&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/4781462178239003196?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/4781462178239003196?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/7cB_o56WnAw/simple-script-for-extracting-cdr.html" title="Simple script for extracting CDR records from OCS Monitoring Server" /><author><name>Dennis Lundtoft Thomsen [MVP]</name><uri>http://www.blogger.com/profile/14713138671966546640</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16206148123269563940" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2010/01/simple-script-for-extracting-cdr.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUAQXc_fyp7ImA9WxBQFUs.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-1392035209211048247</id><published>2010-01-15T13:14:00.001+01:00</published><updated>2010-01-15T15:37:20.947+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-15T15:37:20.947+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Communicator" /><category scheme="http://www.blogger.com/atom/ns#" term="Unified Communications" /><title>Office 2010 x64 now fully working with OC and LiveMeeting Add-in</title><content type="html">&lt;p&gt;First part of the solution was the January Office Communicator Update to &lt;a href=" http://bit.ly/68sbV1"&gt;6907.83&lt;/a&gt; that solved the Outlook integration issues/error (Which forced me to “downgrade” to 32 bit Office).&lt;/p&gt;  &lt;p&gt;The last part of this solution was the release of the 64-bit LiveMeeting add-in which can be found &lt;a href="http://bit.ly/5qjZun"&gt;here&lt;/a&gt; and while you’re at it the update to the LiveMeeting console can be found &lt;a href="http://bit.ly/6ycZ4j"&gt;here&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Before upgrading do remember that there is a problem with file uploading in LiveMeeting – only supported file format is native PowerPoint files. Also remember the &lt;a href="http://msgoodies.blogspot.com/2010/01/workaround-for-client-version-filtering.html"&gt;workaround&lt;/a&gt; to make updating OC running 64 bit OS work correctly.&lt;/p&gt;  &lt;p&gt;Happy installing/upgrading to 64 bit&amp;#160; ;-)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-1392035209211048247?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=m9-RR5c3F5M:BqSaYy8JQAY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=m9-RR5c3F5M:BqSaYy8JQAY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=m9-RR5c3F5M:BqSaYy8JQAY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=m9-RR5c3F5M:BqSaYy8JQAY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=m9-RR5c3F5M:BqSaYy8JQAY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/m9-RR5c3F5M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/1392035209211048247/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=1392035209211048247&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/1392035209211048247?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/1392035209211048247?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/m9-RR5c3F5M/office-2010-x64-now-fully-working-with.html" title="Office 2010 x64 now fully working with OC and LiveMeeting Add-in" /><author><name>Dennis Lundtoft Thomsen [MVP]</name><uri>http://www.blogger.com/profile/14713138671966546640</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16206148123269563940" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2010/01/office-2010-x64-now-fully-working-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEBSHk9fyp7ImA9WxBQFEw.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-1171866717140569257</id><published>2010-01-13T21:30:00.001+01:00</published><updated>2010-01-13T21:30:59.767+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-13T21:30:59.767+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Communicator" /><category scheme="http://www.blogger.com/atom/ns#" term="Unified Communications" /><title>Workaround for Client Version Filtering problem using 32 bit OC on X64 OS</title><content type="html">&lt;p&gt;My colleague Claus-Ole also found and fixed the problem, but &lt;a href="http://michaelsneeringer.blogspot.com/"&gt;Michael Sneeringer&lt;/a&gt; (A OCS MCM) was kind enough (hint, hint) to describe the problem and solution in &lt;a href="http://michaelsneeringer.blogspot.com/2010/01/client-version-filtering-on-windows-x64.html"&gt;Client Version Filtering on Windows x64&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-1171866717140569257?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=aGPDmbcN7n8:QgMM9RUVu_Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=aGPDmbcN7n8:QgMM9RUVu_Q:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=aGPDmbcN7n8:QgMM9RUVu_Q:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=aGPDmbcN7n8:QgMM9RUVu_Q:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=aGPDmbcN7n8:QgMM9RUVu_Q:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/aGPDmbcN7n8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/1171866717140569257/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=1171866717140569257&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/1171866717140569257?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/1171866717140569257?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/aGPDmbcN7n8/workaround-for-client-version-filtering.html" title="Workaround for Client Version Filtering problem using 32 bit OC on X64 OS" /><author><name>Dennis Lundtoft Thomsen [MVP]</name><uri>http://www.blogger.com/profile/14713138671966546640</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16206148123269563940" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2010/01/workaround-for-client-version-filtering.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQHRHY-cCp7ImA9WxBRGEk.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-3820318956957448573</id><published>2010-01-07T08:10:00.001+01:00</published><updated>2010-01-07T08:12:15.858+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-07T08:12:15.858+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Unified Communications" /><title>OCS Wave 14 features</title><content type="html">&lt;p&gt;FYI - Curtis Johnstone has revealed some of the essential OCS Wave 14 features – find them in his post &lt;a href="http://blog.insideocs.com/2009/12/29/ocs-in-2010-the-uc-14-wave/"&gt;OCS in 2010 - The UC 14 Wave&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;As an MVP I’m under NDA so I can’t add to the above, but what I can say is that the future for OCS looks promising ;-)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-3820318956957448573?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=5vW8MXJfOnU:n_2yxOCV4Zs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=5vW8MXJfOnU:n_2yxOCV4Zs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=5vW8MXJfOnU:n_2yxOCV4Zs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=5vW8MXJfOnU:n_2yxOCV4Zs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=5vW8MXJfOnU:n_2yxOCV4Zs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/5vW8MXJfOnU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/3820318956957448573/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=3820318956957448573&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/3820318956957448573?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/3820318956957448573?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/5vW8MXJfOnU/ocs-wave-14-features.html" title="OCS Wave 14 features" /><author><name>Dennis Lundtoft Thomsen [MVP]</name><uri>http://www.blogger.com/profile/14713138671966546640</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16206148123269563940" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2010/01/ocs-wave-14-features.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQHQ3g_cCp7ImA9WxBTEkU.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-7925225693548189274</id><published>2009-12-08T14:44:00.001+01:00</published><updated>2009-12-08T14:52:12.648+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-08T14:52:12.648+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Telephony" /><category scheme="http://www.blogger.com/atom/ns#" term="Unified Communications" /><title>MS PM comments on CUCiMOC(kup) and the joint Cisco / Microsoft support statement</title><content type="html">&lt;p&gt;Take a look at the blog post &lt;a href="http://blogs.technet.com/uc/archive/2009/12/03/Cisco_3A00_-Just-Like-Any-Other-Office-Communications-Server-ISV_3F00_.aspx"&gt;Cisco: Just Like Any Other Office Communications Server ISV?&lt;/a&gt;&amp;#160;&amp;#160; for some official words (finally) from Microsoft on Cisco’s CUCiMOC and Microsoft Office Communications Server integration.&lt;/p&gt;  &lt;p&gt;He hits the nail on the many questions I have raised at customers, including the supportability problems in terms of integration at the desktop level with program version dependencies and especially the (lost) user experience when using CUCiMOC. Furthermore Currently Cisco is setting a Version 8.0 / Q3 CY10 date for &lt;a href="http://www.cisco.com/en/US/prod/collateral/voicesw/ps6789/ps7046/ps7282/product_bulletin_c25-563280_ps556_Products_Bulletin.html"&gt;supporting Windows 7&lt;/a&gt; (And also with limited support for 64 bit).&lt;/p&gt;  &lt;p&gt;Furthermore (as he also notes) it is important to note the dependencies and lost features (RDP Sharing, Audio/Video/Webconferencing etc – that you would need to buy from Cisco).&lt;/p&gt;  &lt;p&gt;Read the joint support statement &lt;a href="http://go.microsoft.com/?linkid=9700129"&gt;here&lt;/a&gt;&amp;#160; and Haberkorns blog &lt;a href="http://blogs.technet.com/uc/archive/2009/12/03/Cisco_3A00_-Just-Like-Any-Other-Office-Communications-Server-ISV_3F00_.aspx"&gt;post&lt;/a&gt; for more info.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-7925225693548189274?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=t-ofSyrBer0:f85GQ-fUI-k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=t-ofSyrBer0:f85GQ-fUI-k:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=t-ofSyrBer0:f85GQ-fUI-k:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=t-ofSyrBer0:f85GQ-fUI-k:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=t-ofSyrBer0:f85GQ-fUI-k:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/t-ofSyrBer0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/7925225693548189274/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=7925225693548189274&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/7925225693548189274?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/7925225693548189274?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/t-ofSyrBer0/ms-pm-comments-on-cucimockup-and-joint.html" title="MS PM comments on CUCiMOC(kup) and the joint Cisco / Microsoft support statement" /><author><name>Dennis Lundtoft Thomsen [MVP]</name><uri>http://www.blogger.com/profile/14713138671966546640</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16206148123269563940" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2009/12/ms-pm-comments-on-cucimockup-and-joint.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQCRnY9eip7ImA9WxNbFks.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-587090540748227651</id><published>2009-11-19T21:26:00.001+01:00</published><updated>2009-11-19T21:26:07.862+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-19T21:26:07.862+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PowerShell V2" /><title>Messing with output from Format-Table</title><content type="html">&lt;p&gt;Found at &lt;a href="http://psobject.codeplex.com/Thread/View.aspx?ThreadId=71064"&gt;question&lt;/a&gt; at psobject.codeplex.com: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I was wondering if I could write the outout without any blank spaces between 2 fields. For example, I am using hash tables to display 2 columns from dir output. But it always comes up with a blank space between those 2 data elements. I need this to generate a fixed format output with data elements only and no spaces in between. Any help is greatly appreciated.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;$column1 = @{expression=&amp;quot;mode&amp;quot;;width=5;label=&amp;quot;mode&amp;quot;;alignment=&amp;quot;left&amp;quot;}       &lt;br /&gt;$column2 = @{expression=&amp;quot;name&amp;quot;;width=10;label=&amp;quot;name&amp;quot;;alignment=&amp;quot;left&amp;quot;}&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;$dir |format-table $column1,$column2&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;$mode&amp;#160; name       &lt;br /&gt;----&amp;#160; ----        &lt;br /&gt;d---- download        &lt;br /&gt;d---- extract        &lt;br /&gt;-a--- alias.txt        &lt;br /&gt;-a--- Compute...        &lt;br /&gt;-a--- execute...        &lt;br /&gt;-a--- get_dn.ps1        &lt;br /&gt;-a--- hh&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Well, it can be done. I looked into the objects the Format-Table spit out and after some poking around, I came up with this -&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;$column1 = @{expression=&lt;span style="color: #006080"&gt;&amp;quot;mode&amp;quot;&lt;/span&gt;;width=5;label=&lt;span style="color: #006080"&gt;&amp;quot;mode&amp;quot;&lt;/span&gt;;alignment=&lt;span style="color: #006080"&gt;&amp;quot;left&amp;quot;&lt;/span&gt;}&lt;br /&gt;$column2 = @{expression=&lt;span style="color: #006080"&gt;&amp;quot;name&amp;quot;&lt;/span&gt;;width=20;label=&lt;span style="color: #006080"&gt;&amp;quot;name&amp;quot;&lt;/span&gt;;alignment=&lt;span style="color: #006080"&gt;&amp;quot;left&amp;quot;&lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;# Save widths, all non-fixed length value should specify a width&lt;/span&gt;&lt;br /&gt;$widths=@{}&lt;br /&gt;dir | format-table $column1,@{l=&lt;span style="color: #006080"&gt;&amp;quot;|&amp;quot;&lt;/span&gt;;e={&lt;span style="color: #006080"&gt;&amp;quot;|&amp;quot;&lt;/span&gt;}},$column2 | &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; {&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; ($_.pstypenames[0] &lt;span style="color: #cc6633"&gt;-eq&lt;/span&gt; &lt;span style="color: #006080"&gt;&amp;quot;Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData&amp;quot;&lt;/span&gt;) {&lt;br /&gt;        &lt;span style="color: #008000"&gt;# Capture the values and convert them to one value&lt;/span&gt;&lt;br /&gt;        $value=&lt;span style="color: #006080"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;        $count=$_.formatentryinfo.formatPropertyFieldList.count&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt;($i &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; 0..($count-1)) {&lt;br /&gt;            $value+=$_.formatentryinfo.formatPropertyFieldList.item($i).propertyvalue.ToString().padright($widths.$i)&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #008000"&gt;# Delete all but one field&lt;/span&gt;&lt;br /&gt;        $_.formatentryinfo.formatPropertyFieldList.removerange(1,$count-1)&lt;br /&gt;        &lt;span style="color: #008000"&gt;# and update its value&lt;/span&gt;&lt;br /&gt;        $_.formatentryinfo.formatPropertyFieldList.item(0).propertyValue=$value&lt;br /&gt;        $_&lt;br /&gt;     }&lt;br /&gt;     &lt;span style="color: #0000ff"&gt;elseif&lt;/span&gt; ($_.pstypenames[0] &lt;span style="color: #cc6633"&gt;-eq&lt;/span&gt; &lt;span style="color: #006080"&gt;&amp;quot;Microsoft.PowerShell.Commands.Internal.Format.FormatStartData&amp;quot;&lt;/span&gt;) {&lt;br /&gt;        &lt;span style="color: #008000"&gt;# Capture the headers and convert them to one header&lt;/span&gt;&lt;br /&gt;        $value=&lt;span style="color: #006080"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;        $width=0&lt;br /&gt;        &lt;br /&gt;        $count=$_.shapeinfo.tablecolumninfolist.count&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt;($i &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; 0..($count-1)) {&lt;br /&gt;            $w=$_.shapeinfo.tablecolumninfolist.item($i).width&lt;br /&gt;            $width+=$w&lt;br /&gt;            $widths.$i=$w&lt;br /&gt;            $value+=$_.shapeinfo.tablecolumninfolist.item($i).propertyname.ToString().padright($w)&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #008000"&gt;# Delete all but one field&lt;/span&gt;&lt;br /&gt;        $_.shapeinfo.tablecolumninfolist.removerange(1,$count-1)&lt;br /&gt;        &lt;span style="color: #008000"&gt;# and update its value&lt;/span&gt;&lt;br /&gt;        $_.shapeinfo.tablecolumninfolist.item(0).propertyName=$value&lt;br /&gt;        $_.shapeinfo.tablecolumninfolist.item(0).width=$width&lt;br /&gt;        $_&lt;br /&gt;     }&lt;br /&gt;     &lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;br /&gt;     {&lt;br /&gt;        $_&lt;br /&gt;     }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;If you like it, convert it to a function as en exercise ;)&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Happy formatting!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-587090540748227651?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=Vw-nK2CtfM4:-bpWIvcTk5c:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=Vw-nK2CtfM4:-bpWIvcTk5c:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=Vw-nK2CtfM4:-bpWIvcTk5c:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=Vw-nK2CtfM4:-bpWIvcTk5c:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=Vw-nK2CtfM4:-bpWIvcTk5c:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/Vw-nK2CtfM4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/587090540748227651/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=587090540748227651&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/587090540748227651?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/587090540748227651?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/Vw-nK2CtfM4/messing-with-output-from-format-table.html" title="Messing with output from Format-Table" /><author><name>Per Østergaard</name><uri>http://www.blogger.com/profile/12128790394950237942</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10445043458334841722" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2009/11/messing-with-output-from-format-table.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQHSXY7fCp7ImA9WxNbFkk.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-7960011918149302316</id><published>2009-11-19T16:25:00.001+01:00</published><updated>2009-11-19T16:25:38.804+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-19T16:25:38.804+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PowerShell V2" /><title>PS Remoting to Home Server</title><content type="html">&lt;p&gt;I wanted to PowerShell remote to my home server, but as it is – for the good reason, that it is impossible – not in the domain of my PC, I have to add it to TrustedHosts.&lt;/p&gt;  &lt;p&gt;This is my story.&lt;/p&gt;  &lt;p&gt;First, I enabled PS remoting on the home server with a simple&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;Enable-PSRemoting&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Next, I attempted to access the server&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;enter-pssession server -cre server\administrator&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;By doing so, I received a very long error message.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I tried with –authentication negotiate. This reduced the error message to 10 lines ;) It told me to configure TrustedHosts with Winrm.cmd.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I looked at Winrm.cmd, but that looked very complicated and this is at the end of the day. Luckily, the WSMAN drive popped up in my mind. I switched to my administrative account and did this&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;PS C:\Users\user&amp;gt; cd wsman:&lt;br /&gt;PS WSMan:\&amp;gt; dir&lt;br /&gt;&lt;br /&gt;   WSManConfig:&lt;br /&gt;&lt;br /&gt;ComputerName                                  Type&lt;br /&gt;------------                                  ----&lt;br /&gt;localhost                                     Container&lt;br /&gt;&lt;br /&gt;PS WSMan:\&amp;gt; cd .\localhost&lt;br /&gt;PS WSMan:\localhost&amp;gt; dir&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost&lt;br /&gt;&lt;br /&gt;Name                      Value                                                             Type&lt;br /&gt;----                      -----                                                             ----&lt;br /&gt;MaxEnvelopeSizekb         150                                                               System.String&lt;br /&gt;MaxTimeoutms              60000                                                             System.String&lt;br /&gt;MaxBatchItems             32000                                                             System.String&lt;br /&gt;MaxProviderRequests       4294967295                                                        System.String&lt;br /&gt;Client                                                                                      Container&lt;br /&gt;Service                                                                                     Container&lt;br /&gt;Shell                                                                                       Container&lt;br /&gt;Listener                                                                                    Container&lt;br /&gt;Plugin                                                                                      Container&lt;br /&gt;ClientCertificate                                                                           Container&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PS WSMan:\localhost&amp;gt; cd .\Client&lt;br /&gt;PS WSMan:\localhost\Client&amp;gt; dir&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Client&lt;br /&gt;&lt;br /&gt;Name                      Value                                                             Type&lt;br /&gt;----                      -----                                                             ----&lt;br /&gt;NetworkDelayms            5000                                                              System.String&lt;br /&gt;URLPrefix                 wsman                                                             System.String&lt;br /&gt;AllowUnencrypted          false                                                             System.String&lt;br /&gt;Auth                                                                                        Container&lt;br /&gt;DefaultPorts                                                                                Container&lt;br /&gt;TrustedHosts                                                                                System.String&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PS WSMan:\localhost\Client&amp;gt; Set-Item .\TrustedHosts server&lt;br /&gt;&lt;br /&gt;WinRM Security Configuration.&lt;br /&gt;This command modifies the TrustedHosts list &lt;span style="color: #0000ff"&gt;for&lt;/span&gt; the WinRM client. The computers &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; the TrustedHosts list might not be authenticated. The&lt;br /&gt;client might send credential information to these computers. Are you sure that you want to modify this list?&lt;br /&gt;[Y] Yes  [N] No  [S] Suspend  [?] Help (&lt;span style="color: #0000ff"&gt;default&lt;/span&gt; is &lt;span style="color: #006080"&gt;&amp;quot;Y&amp;quot;&lt;/span&gt;): y&lt;br /&gt;PS WSMan:\localhost\Client&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Back to my standard user&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;194 WSMan:\localhost&amp;gt; enter-pssession server -cre server\administrator&lt;br /&gt;[server]: PS C:\Documents and Settings\Administrator\My Documents&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;and it worked.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Happy remoting&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-7960011918149302316?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=S4LgCr7_bBI:6TosDOyZP7Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=S4LgCr7_bBI:6TosDOyZP7Q:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=S4LgCr7_bBI:6TosDOyZP7Q:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=S4LgCr7_bBI:6TosDOyZP7Q:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=S4LgCr7_bBI:6TosDOyZP7Q:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/S4LgCr7_bBI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/7960011918149302316/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=7960011918149302316&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/7960011918149302316?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/7960011918149302316?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/S4LgCr7_bBI/ps-remoting-to-home-server.html" title="PS Remoting to Home Server" /><author><name>Per Østergaard</name><uri>http://www.blogger.com/profile/12128790394950237942</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10445043458334841722" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2009/11/ps-remoting-to-home-server.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkECR3cycSp7ImA9WxNbFEQ.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-6807207723432069737</id><published>2009-11-17T21:44:00.001+01:00</published><updated>2009-11-17T21:44:26.999+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-17T21:44:26.999+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><title>Laissez-Faire Access Control</title><content type="html">&lt;p&gt;&lt;a href="http://www.schneier.com/index.html"&gt;Bruce Schneier&lt;/a&gt; have an abstract of a paper which claims that enabling users to get the access they need while auditing the access is better than a centrally controlled setup.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.schneier.com/blog/archives/2009/11/laissez-faire_a.html"&gt;Read it for yourself&lt;/a&gt; – at least read the abstract.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-6807207723432069737?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=nUvljGA9GBU:0D-0EPAYldw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=nUvljGA9GBU:0D-0EPAYldw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=nUvljGA9GBU:0D-0EPAYldw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=nUvljGA9GBU:0D-0EPAYldw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=nUvljGA9GBU:0D-0EPAYldw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/nUvljGA9GBU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/6807207723432069737/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=6807207723432069737&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/6807207723432069737?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/6807207723432069737?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/nUvljGA9GBU/laissez-faire-access-control.html" title="Laissez-Faire Access Control" /><author><name>Per Østergaard</name><uri>http://www.blogger.com/profile/12128790394950237942</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10445043458334841722" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2009/11/laissez-faire-access-control.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMHR3s5fip7ImA9WxNbE0o.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-5480030230933663676</id><published>2009-11-16T14:00:00.001+01:00</published><updated>2009-11-16T14:00:36.526+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-16T14:00:36.526+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PowerShell V2" /><category scheme="http://www.blogger.com/atom/ns#" term="PowerShell" /><category scheme="http://www.blogger.com/atom/ns#" term="Exchange" /><title>PowerShell 2.0 *is* supported for Exchange 2007 SP2</title><content type="html">&lt;p&gt;In case you wondered, the greatly improved PowerShell 2.0 &lt;a href="http://msexchangeteam.com/comments/452361.aspx"&gt;can be installed&lt;/a&gt; on servers running Exchange 2007. But you must be running Service Pack 2.&lt;/p&gt;  &lt;p&gt;BTW: You cannot find PowerShell v2 on &lt;a href="http://www.microsoft.com/downloads"&gt;www.microsoft.com/downloads&lt;/a&gt;. You have to go to &lt;a title="http://support.microsoft.com/kb/968929" href="http://support.microsoft.com/kb/968929"&gt;http://support.microsoft.com/kb/968929&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-5480030230933663676?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=5EVk17SDqdY:XdxCVitNH_8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=5EVk17SDqdY:XdxCVitNH_8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=5EVk17SDqdY:XdxCVitNH_8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=5EVk17SDqdY:XdxCVitNH_8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=5EVk17SDqdY:XdxCVitNH_8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/5EVk17SDqdY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/5480030230933663676/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=5480030230933663676&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/5480030230933663676?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/5480030230933663676?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/5EVk17SDqdY/powershell-20-is-supported-for-exchange.html" title="PowerShell 2.0 *is* supported for Exchange 2007 SP2" /><author><name>Per Østergaard</name><uri>http://www.blogger.com/profile/12128790394950237942</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10445043458334841722" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2009/11/powershell-20-is-supported-for-exchange.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkACRX0ycCp7ImA9WxNbEEw.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-315933997345056021</id><published>2009-11-12T09:32:00.001+01:00</published><updated>2009-11-12T09:32:44.398+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-12T09:32:44.398+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Exchange" /><category scheme="http://www.blogger.com/atom/ns#" term="Unified Communications" /><title>Implementing OCS presence in Outlook Live Server (a.k.a. Exchange 2010 OWA)</title><content type="html">&lt;p&gt;The tools required to implement OCS presence in Exchange 2010 OWA has been released &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=0a3d9dba-8b55-4fb4-a77d-4ad969fff614"&gt;Microsoft Office Communications Server 2007 R2 Web Trust Tool&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ca107ab1-63c8-4c6a-816d-17961393d2b8"&gt;Microsoft Office Communications Server 2007 R2 Web Service Provider&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And instead of me showing how to do it, I would recommend you checkout the blog post &lt;a href="http://chrislehr.com/2009/11/implementing-integrated-ocs-in-owa-2010.htm"&gt;Implementing integrated OCS in Exchange 2010&lt;/a&gt; from &lt;a href="http://chrislehr.com/blog.htm"&gt;Chris and Robin’s Technology Blog&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;One addition I have to their post is that the reference material for the OCS Web Service Provider can be found on the OCS TechNet site &lt;a href="http://technet.microsoft.com/en-us/library/ee692310(office.13).aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-315933997345056021?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=AIEkoceWMj0:Ru2_-BhwFQs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=AIEkoceWMj0:Ru2_-BhwFQs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=AIEkoceWMj0:Ru2_-BhwFQs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=AIEkoceWMj0:Ru2_-BhwFQs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=AIEkoceWMj0:Ru2_-BhwFQs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/AIEkoceWMj0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/315933997345056021/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=315933997345056021&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/315933997345056021?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/315933997345056021?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/AIEkoceWMj0/implementing-ocs-presence-in-outlook.html" title="Implementing OCS presence in Outlook Live Server (a.k.a. Exchange 2010 OWA)" /><author><name>Dennis Lundtoft Thomsen [MVP]</name><uri>http://www.blogger.com/profile/14713138671966546640</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16206148123269563940" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2009/11/implementing-ocs-presence-in-outlook.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QASXs-eip7ImA9WxNUGU4.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-3313553041104659080</id><published>2009-11-11T10:22:00.001+01:00</published><updated>2009-11-11T10:22:28.552+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-11T10:22:28.552+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PowerShell V2" /><title>Picking files with the mouse using Get-DroppedFile</title><content type="html">&lt;p&gt;Sometimes (often?) it is just easier picking your files with the mouse. As long as the files are in one folder that is not that hard, but if you have files scattered all around that is tougher. Also right-clicking and copy-as-path is annoying.&lt;/p&gt;  &lt;p&gt;To make this easier, I have created a small drop box function. A small transparent window will be shows and when you drop files on it, those files will be send to the output pipeline where you can do the rest of your processing.&lt;/p&gt;  &lt;p&gt;I made the forms part using Visual C#. Relativily trivial. And Add-Type enabled me to embed it into my script. The hard part was making it async so that files would appear ín the output pipeline as soon as they were dropped. I had to resort to good old VB5-style DoEvents (just revealed my age, I guess). If you can come up with a non-polling solution, please let me know.&lt;/p&gt;  &lt;p&gt;What it can be used for -&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Testing scripts with different files&lt;/li&gt;    &lt;li&gt;Move photos to a folder, converting them as they are moved&lt;/li&gt;    &lt;li&gt;Renaming files&lt;/li&gt;    &lt;li&gt;Compressing files&lt;/li&gt;    &lt;li&gt;continue the list yourself&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;All tasks where you – the human – can make the decision about what to do with a file are relevant.&lt;/p&gt;  &lt;p&gt;With PowerShell v2 being available on all platform, do I have to say, that this is a V2-only script?&lt;/p&gt;  &lt;p&gt;Please, read the comments in the script for further information.&lt;/p&gt;  &lt;p&gt;Get-DroppedFile.ps1&lt;/p&gt;  &lt;pre style="margin: 0in 10pt; font-family: lucida console; font-size: 10pt"&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;&amp;lt;#&lt;br /&gt;.Synopsis&lt;br /&gt;    Create a drop box window and output the files dropped to the pipeline&lt;br /&gt;.Description&lt;br /&gt;    Create a drop box window. When files are dropped, they are send to the output pipeline right away.&lt;br /&gt;    Stop Get-DroppedFile by closing the window.&lt;br /&gt;.Inputs&lt;br /&gt;    None&lt;br /&gt;.Outputs&lt;br /&gt;    File names (-asText), IO.DirectoryInfo or IO.FileInfo objects&lt;br /&gt;.Example&lt;br /&gt;    Get-DroppedFile | Copy -destination e:\ -passthru | foreach { $x.attributes=$x.Attributes.ToString()+&amp;quot;,readonly&amp;quot; } &lt;br /&gt;    Copy dropped files to e:\ and set the readonly bit&lt;br /&gt;#&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #800000"&gt;param&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #008080"&gt;[string]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;# The caption of the drop box&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$Caption&lt;/span&gt;&lt;span style="color: #cd853f"&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #008080"&gt;[switch]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;# Return file names (full path) as text&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$AsText&lt;/span&gt;&lt;span style="color: #cd853f"&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #008080"&gt;[switch]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;# Recurse directories, I.E. the folder itself is not returned, only its children&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$Recurse&lt;/span&gt;&lt;span style="color: #cd853f"&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #008080"&gt;[switch]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;# (Internal switch used to detect -sta invocation)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$_InternalReinvoked&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;# Create the script code - direct execution or SingleThreadedApartment is determined later&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff4500"&gt;$script&lt;/span&gt;&lt;span style="color: #cd853f"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff4500"&gt;$loaded&lt;/span&gt;&lt;span style="color: #cd853f"&gt;=&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$false&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #800000"&gt;try&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="color: #cd853f"&gt;=&lt;/span&gt;&lt;span style="color: #008080"&gt;[system.type]&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;Get_DroppedFile.Form1&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$loaded&lt;/span&gt;&lt;span style="color: #cd853f"&gt;=&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$true&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #800000"&gt;catch&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;# The form code. Created in Visual C# 2008 Express and slightly adopted&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #800000"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #cd853f"&gt;!&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$loaded&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;add-type&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-TypeDefinition&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;@'&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.ComponentModel;&lt;br /&gt;using System.Drawing;&lt;br /&gt;using System.Windows.Forms;&lt;br /&gt;&lt;br /&gt;namespace Get_DroppedFile&lt;br /&gt;{&lt;br /&gt;    public partial class Form1 : Form&lt;br /&gt;    {&lt;br /&gt;        Color defaultColor;&lt;br /&gt;        public Form1()&lt;br /&gt;        {&lt;br /&gt;            InitializeComponent();&lt;br /&gt;            defaultColor = this.BackColor;&lt;br /&gt;            &lt;br /&gt;        }&lt;br /&gt;        &lt;br /&gt;        public void avoidWarning()&lt;br /&gt;	{&lt;br /&gt;	}&lt;br /&gt;      &lt;br /&gt;        private void Form1_DragDrop(object sender, DragEventArgs e)&lt;br /&gt;        {&lt;br /&gt;            // Back to default color&lt;br /&gt;            this.BackColor = defaultColor;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private void Form1_DragOver(object sender, DragEventArgs e)&lt;br /&gt;        {&lt;br /&gt;            // Start dragdrop&lt;br /&gt;            e.Effect = DragDropEffects.Copy;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private void Form1_DragEnter(object sender, DragEventArgs e)&lt;br /&gt;        {&lt;br /&gt;            // visual feedback in drag&lt;br /&gt;            this.BackColor = Color.FromArgb(defaultColor.ToArgb() - 0x101010);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private void Form1_DragLeave(object sender, EventArgs e)&lt;br /&gt;        {&lt;br /&gt;            // restore color&lt;br /&gt;            this.BackColor = defaultColor;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;namespace Get_DroppedFile&lt;br /&gt;{&lt;br /&gt;    partial class Form1&lt;br /&gt;    {&lt;br /&gt;        /// &amp;lt;summary&amp;gt;&lt;br /&gt;        /// Required designer variable.&lt;br /&gt;        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;        private System.ComponentModel.IContainer components = null;&lt;br /&gt;&lt;br /&gt;        /// &amp;lt;summary&amp;gt;&lt;br /&gt;        /// Clean up any resources being used.&lt;br /&gt;        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;        /// &amp;lt;param name=&amp;quot;disposing&amp;quot;&amp;gt;true if managed resources should be disposed; otherwise, false.&amp;lt;/param&amp;gt;&lt;br /&gt;        protected override void Dispose(bool disposing)&lt;br /&gt;        {&lt;br /&gt;            if (disposing &amp;amp;&amp;amp; (components != null))&lt;br /&gt;            {&lt;br /&gt;                components.Dispose();&lt;br /&gt;            }&lt;br /&gt;            base.Dispose(disposing);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        #region Windows Form Designer generated code&lt;br /&gt;&lt;br /&gt;        /// &amp;lt;summary&amp;gt;&lt;br /&gt;        /// Required method for Designer support - do not modify&lt;br /&gt;        /// the contents of this method with the code editor.&lt;br /&gt;        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;        private void InitializeComponent()&lt;br /&gt;        {&lt;br /&gt;            this.SuspendLayout();&lt;br /&gt;            // &lt;br /&gt;            // Form1&lt;br /&gt;            // &lt;br /&gt;            this.AllowDrop = true;&lt;br /&gt;            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);&lt;br /&gt;            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;&lt;br /&gt;            this.BackColor = System.Drawing.SystemColors.ActiveCaption;&lt;br /&gt;            this.ClientSize = new System.Drawing.Size(116, 49);&lt;br /&gt;            this.Cursor = System.Windows.Forms.Cursors.Default;&lt;br /&gt;            this.MaximizeBox = false;&lt;br /&gt;            this.MinimizeBox = false;&lt;br /&gt;            this.Name = &amp;quot;Form1&amp;quot;;&lt;br /&gt;            this.Opacity = 0.75;&lt;br /&gt;            this.ShowIcon = false;&lt;br /&gt;            this.Text = &amp;quot;Drop Box&amp;quot;;&lt;br /&gt;            this.TopMost = true;&lt;br /&gt;            //this.Load += new System.EventHandler(this.Form1_Load);&lt;br /&gt;            this.DragLeave += new System.EventHandler(this.Form1_DragLeave);&lt;br /&gt;            this.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop);&lt;br /&gt;            this.DragEnter += new System.Windows.Forms.DragEventHandler(this.Form1_DragEnter);&lt;br /&gt;            this.DragOver += new System.Windows.Forms.DragEventHandler(this.Form1_DragOver);&lt;br /&gt;            this.ResumeLayout(false);&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        #endregion&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;'@&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-verbose&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-ReferencedAssemblies&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;system.drawing&lt;/span&gt;&lt;span style="color: #cd853f"&gt;,&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;system.windows.forms&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;# Create our form object&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff4500"&gt;$form&lt;/span&gt;&lt;span style="color: #cd853f"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff"&gt;New-object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;get_droppedfile.form1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;# Get rid of any events leftover&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;get-event&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;get-droppedfile&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-erroraction&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;silentlycontinue&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #cd853f"&gt;|&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;remove-event&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;# Add handlers&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;# The handlers transfer the action/file to the main loop using event&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff4500"&gt;$form&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;add_dragdrop&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="color: #cd853f"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new-event&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-sourceidentifier&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;get-droppedfile&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-messagedata&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$args&lt;/span&gt;&lt;span style="color: #cd853f"&gt;[&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #cd853f"&gt;]&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;Data&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;GetData&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;FileDrop&amp;quot;&lt;/span&gt;&lt;span style="color: #cd853f"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$true&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff4500"&gt;$form&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;add_formclosed&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$null&lt;/span&gt;&lt;span style="color: #cd853f"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new-event&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-sourceidentifier&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;get-droppedfile&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-messagedata&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;[close]&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;#Register-ObjectEvent -InputObject $form -EventName dragdrop #-SourceIdentifier blah#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;#Register-ObjectEvent -InputObject $form -EventName formclosed  #-SourceIdentifier blah&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;# Custom caption&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #800000"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$caption&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$form&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;text&lt;/span&gt;&lt;span style="color: #cd853f"&gt;=&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$caption&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;# This is the tricky part. Dropping is quite simple, but feeding the output pipeline with&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;# the dropped files (so you do not have to wait until the drop box is closed) is not simple.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;# I came up with this solution:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;# - Do not use ShowDialog as is modal and will suspend PowerShell processing&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;# - use Show and doevents in a loop&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;# - this method consumes some CPU, but the Start-Sleep keeps it to a few per cent&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;# - The Event actions generates events and they are read here in the main loop&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;#   and converted to file names which are sent to the pipeline&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;# Show the drop box&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff4500"&gt;$form&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;show&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #800000"&gt;do&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$e&lt;/span&gt;&lt;span style="color: #cd853f"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get-event&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;get-droppedfile&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-erroraction&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;silentlycontinue&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #006400"&gt;# suppress no such events&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;	&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$exit&lt;/span&gt;&lt;span style="color: #cd853f"&gt;=&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$e&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;messagedata&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #cd853f"&gt;-eq&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;[close]&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #006400"&gt;# Test close message&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;	&lt;/span&gt;&lt;span style="color: #800000"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$e&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;messagedata&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #cd853f"&gt;-and&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #cd853f"&gt;!&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$exit&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$e&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;MessageData&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #006400"&gt;# Send file to pipeline&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;	&lt;/span&gt;&lt;span style="color: #800000"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$e&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$e&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #cd853f"&gt;|&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;remove-event&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #006400"&gt;# Remove event from queue&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;	&lt;/span&gt;&lt;span style="color: #800000"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$exit&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;span style="color: #800000"&gt;break&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;	&lt;/span&gt;&lt;span style="color: #0000ff"&gt;start-sleep&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-m&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #800080"&gt;100&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #006400"&gt;# Wait a little&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;	&lt;/span&gt;&lt;span style="color: #008080"&gt;[System.Windows.Forms.Application]&lt;/span&gt;&lt;span style="color: #cd853f"&gt;::&lt;/span&gt;&lt;span style="color: #000000"&gt;doevents&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #006400"&gt;# React to form events so the windows can be moved etc.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #800000"&gt;while&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$true&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;# Shutdown&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff4500"&gt;$form&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;close&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #006400"&gt;# end of script assignment&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;# Generate command for -sta recursive call. Done here where $myinvocation has the right value&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff4500"&gt;$command&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #cd853f"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;&amp;amp;'&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #cd853f"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$myinvocation&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;mycommand&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;definition&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #cd853f"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;' -caption '$caption' -_InternalReinvoked&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #006400"&gt;# Execute the next in a scriptblock so output can be piped&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #cd853f"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;	&lt;/span&gt;&lt;span style="color: #006400"&gt;# Forms must run in SingleThreadedApartment style&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;	&lt;/span&gt;&lt;span style="color: #006400"&gt;# Re-invoke PowerShell if necessary&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #800000"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$host&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;runspace&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;ApartmentState&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #cd853f"&gt;-ne&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;sta&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;write-verbose&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8b0000"&gt;&amp;quot;Invoking PowerShell with -sta&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$bytes&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #cd853f"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #008080"&gt;[System.Text.Encoding]&lt;/span&gt;&lt;span style="color: #cd853f"&gt;::&lt;/span&gt;&lt;span style="color: #000000"&gt;Unicode&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;GetBytes&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$command&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #ff4500"&gt;$encodedCommand&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #cd853f"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #008080"&gt;[Convert]&lt;/span&gt;&lt;span style="color: #cd853f"&gt;::&lt;/span&gt;&lt;span style="color: #000000"&gt;ToBase64String&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$bytes&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;powershell.exe&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-sta&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-noprofile&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-encodedCommand&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$encodedCommand&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;#powershell -sta -noprofile $script&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #800000"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #cd853f"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$script&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #cd853f"&gt;|&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;where&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$_&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #cd853f"&gt;|&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;# Handle the different return options&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;	&lt;/span&gt;&lt;span style="color: #800000"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$_InternalReinvoked&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;ispresent&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;# -sta call, always return strings&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;		&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$_&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;	&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;	&lt;/span&gt;&lt;span style="color: #800000"&gt;elseif&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$recurse&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;ispresent&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #cd853f"&gt;-and&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;test-path&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-pathtype&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #8a2be2"&gt;container&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$_&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #006400"&gt;# Recurse folder tree, return text or objects&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;		&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Get-ChildItem&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$_&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-recurse&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000080"&gt;-force&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #cd853f"&gt;|&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;			&lt;/span&gt;&lt;span style="color: #800000"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$astext&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;ispresent&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;				&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$_&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;fullname&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;			&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;			&lt;/span&gt;&lt;span style="color: #800000"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;				&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$_&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;			&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;		&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;	&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;	&lt;/span&gt;&lt;span style="color: #800000"&gt;elseif&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$astext&lt;/span&gt;&lt;span style="color: #cd853f"&gt;.&lt;/span&gt;&lt;span style="color: #000000"&gt;ispresent&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;		&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$_&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;	&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;	&lt;/span&gt;&lt;span style="color: #800000"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;		&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Get-Item&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color: #ff4500"&gt;$_&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;	&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Have fun&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-3313553041104659080?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=xr7LyAmlKc4:4hnRubpt6yc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=xr7LyAmlKc4:4hnRubpt6yc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=xr7LyAmlKc4:4hnRubpt6yc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=xr7LyAmlKc4:4hnRubpt6yc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=xr7LyAmlKc4:4hnRubpt6yc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/xr7LyAmlKc4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/3313553041104659080/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=3313553041104659080&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/3313553041104659080?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/3313553041104659080?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/xr7LyAmlKc4/picking-files-with-mouse-using-get.html" title="Picking files with the mouse using Get-DroppedFile" /><author><name>Per Østergaard</name><uri>http://www.blogger.com/profile/12128790394950237942</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10445043458334841722" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2009/11/picking-files-with-mouse-using-get.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIHR38-eip7ImA9WxNUF00.&quot;"><id>tag:blogger.com,1999:blog-8600848.post-4170371865255822128</id><published>2009-11-08T20:12:00.001+01:00</published><updated>2009-11-08T20:12:16.152+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-08T20:12:16.152+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Self-promotion ;-)" /><title>ATE Schedule for TechEd Berlin</title><content type="html">&lt;p&gt;I’m in Copenhagen waiting for my flight to Berlin. If you want to touch base then I have booth duty at the UC Ask-The-Experts (and Dennis ;-) area Tuesday from 15:15 – 18:15 and Friday 11:30 – 14:45.&lt;/p&gt;  &lt;p&gt;CU there !&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8600848-4170371865255822128?l=msgoodies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=w6po6YWx9gA:Op2CcV0Xyxw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=w6po6YWx9gA:Op2CcV0Xyxw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=w6po6YWx9gA:Op2CcV0Xyxw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.msgoodies.com/~ff/blogspot/msgoodies?a=w6po6YWx9gA:Op2CcV0Xyxw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/msgoodies?i=w6po6YWx9gA:Op2CcV0Xyxw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/msgoodies/~4/w6po6YWx9gA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://msgoodies.blogspot.com/feeds/4170371865255822128/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=8600848&amp;postID=4170371865255822128&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/4170371865255822128?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8600848/posts/default/4170371865255822128?v=2" /><link rel="alternate" type="text/html" href="http://feeds.msgoodies.com/~r/blogspot/msgoodies/~3/w6po6YWx9gA/ate-schedule-for-teched-berlin.html" title="ATE Schedule for TechEd Berlin" /><author><name>Dennis Lundtoft Thomsen [MVP]</name><uri>http://www.blogger.com/profile/14713138671966546640</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16206148123269563940" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://msgoodies.blogspot.com/2009/11/ate-schedule-for-teched-berlin.html</feedburner:origLink></entry></feed>
