<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>PowerShell Station</title>
	
	<link>http://powershellstation.com</link>
	<description>Mike's PowerShell Musings</description>
	<lastBuildDate>Fri, 24 May 2013 00:53:04 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/PowershellStation" /><feedburner:info uri="powershellstation" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FPowershellStation" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FPowershellStation" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FPowershellStation" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/PowershellStation" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FPowershellStation" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FPowershellStation" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FPowershellStation" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2FPowershellStation" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2FPowershellStation" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2FPowershellStation" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FPowershellStation" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FPowershellStation" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FPowershellStation" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FPowershellStation" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2FPowershellStation" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2FPowershellStation" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item>
		<title>PowerShell Identity Function (revisted)</title>
		<link>http://feedproxy.google.com/~r/PowershellStation/~3/mokxZRe430k/</link>
		<comments>http://powershellstation.com/2013/05/24/powershell-identity-function-revisted/#comments</comments>
		<pubDate>Fri, 24 May 2013 00:53:04 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://powershellstation.com/?p=498</guid>
		<description><![CDATA[One of my earliest (posts was about implementing an &#8220;identity function&#8221; in PowerShell to assist in typing lists of strings without bothering with commas. The function I presented was this: I recently saw (in a Scripting Games entry) that you don&#8217;t need to define your own function for this. write-output works just fine. For example: ...</p><p><a href="http://powershellstation.com/2013/05/24/powershell-identity-function-revisted/" class="more-link">Continue reading &#8216;PowerShell Identity Function (revisted)&#8217; &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>One of my earliest  (<a href="http://powershellstation.com/2010/08/01/the-identity-function/" title="The Identity Function">posts</a> was about implementing an &#8220;identity function&#8221; in PowerShell to assist in typing lists of strings without bothering with commas.</p>
<p>The function I presented was this:</p>
<pre class="brush: powershell; title: ; notranslate">
function identity{
    return $args
}
</pre>
<p>I recently saw (in a Scripting Games entry) that you don&#8217;t need to define your own function for this.  <code>write-output</code> works just fine.</p>
<p>For example:</p>
<pre class="brush: powershell; title: ; notranslate">
$values=write-output apple orange banana
</pre>
<p>Mike</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fpowershellstation.com%2F2013%2F05%2F24%2Fpowershell-identity-function-revisted%2F&amp;title=PowerShell%20Identity%20Function%20%28revisted%29" id="wpa2a_2"><img src="http://powershellstation.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><img src="http://feeds.feedburner.com/~r/PowershellStation/~4/mokxZRe430k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://powershellstation.com/2013/05/24/powershell-identity-function-revisted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://powershellstation.com/2013/05/24/powershell-identity-function-revisted/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=powershell-identity-function-revisted</feedburner:origLink></item>
		<item>
		<title>PowerShellStation.com update</title>
		<link>http://feedproxy.google.com/~r/PowershellStation/~3/YT6jUJR5DIE/</link>
		<comments>http://powershellstation.com/2013/05/22/powershellstation-com-update/#comments</comments>
		<pubDate>Wed, 22 May 2013 12:49:21 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://powershellstation.com/?p=495</guid>
		<description><![CDATA[I just changed the syntax highlighting used by the site (to SyntaxHighlighter Evolved). One reason is that it&#8217;s much easier to use. I have tried to go through the older posts and update the markup to include the proper codes to highlight using the new plugin. If you notice one that doesn&#8217;t look quite right, ...</p><p><a href="http://powershellstation.com/2013/05/22/powershellstation-com-update/" class="more-link">Continue reading &#8216;PowerShellStation.com update&#8217; &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>I just changed the syntax highlighting used by the site (to <a href="http://www.viper007bond.com/wordpress-plugins/syntaxhighlighter/">SyntaxHighlighter Evolved</a>).  One reason is that it&#8217;s much easier to use.</p>
<p>I have tried to go through the older posts and update the markup to include the proper codes to highlight using the new plugin.  If you notice one that doesn&#8217;t look quite right, let me know.</p>
<p>Mike</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fpowershellstation.com%2F2013%2F05%2F22%2Fpowershellstation-com-update%2F&amp;title=PowerShellStation.com%20update" id="wpa2a_4"><img src="http://powershellstation.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><img src="http://feeds.feedburner.com/~r/PowershellStation/~4/YT6jUJR5DIE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://powershellstation.com/2013/05/22/powershellstation-com-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://powershellstation.com/2013/05/22/powershellstation-com-update/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=powershellstation-com-update</feedburner:origLink></item>
		<item>
		<title>Best Practices Update and some Scripting Games thoughts</title>
		<link>http://feedproxy.google.com/~r/PowershellStation/~3/Bg7id55rotA/</link>
		<comments>http://powershellstation.com/2013/05/22/best-practices-update-and-some-scripting-games-thoughts/#comments</comments>
		<pubDate>Wed, 22 May 2013 00:49:02 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://powershellstation.com/?p=470</guid>
		<description><![CDATA[Just a quick note to let you know that I haven&#8217;t given up on writing about PowerShell best practices. A few things which have derailed my thinking. My first &#8220;best practice&#8221; I thought was a no-brainer. After I wrote it I got thinking about what actual benefit there was to sticking to single-quotes rather than ...</p><p><a href="http://powershellstation.com/2013/05/22/best-practices-update-and-some-scripting-games-thoughts/" class="more-link">Continue reading &#8216;Best Practices Update and some Scripting Games thoughts&#8217; &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>Just a quick note to let you know that I haven&#8217;t given up on writing about PowerShell best practices.  A few things which have derailed my thinking.</p>
<ul>
<li> My first &#8220;best practice&#8221; I thought was a no-brainer.  After I wrote it I got thinking about what actual benefit there was to sticking to single-quotes rather than using double-quotes.  Perhaps it makes sense to use double quotes all the time unless you don&#8217;t want interpolation and control characters.  </li>
<li>The 2013 Scripting Games started.  Reading the comments by the community regarding the scripts has been a real eye-opener about how people feel about different topics.  I think I&#8217;ll probably wait until the games are over and try to compile a list of what everyone seems to agree on.</li>
</ul>
<p>
With regard to the Scripting Games, if you haven&#8217;t gotten involved with them it&#8217;s not too late.  There are still 2 events left (I think).  Even if you don&#8217;t feel up to competing, looking at over a hundred different implementations of the same problem will definitely get your brain working on some new stuff to try in your scripts.  Maybe some technique you hadn&#8217;t really used before (splatting?  parameter validation?  pipeline input?  comment-based help?).  Take some time to read through some of the entries and at the very least you&#8217;ll start to develop an opinion on what &#8220;good&#8221; means in a script.  If you do enter, don&#8217;t worry too much about the judging.  The point values have been &#8220;evolving&#8221; over time and the important thing (to me) is the constructive comments I&#8217;ve received on my scripts.  Some of the comments haven&#8217;t been accurate (or helpful), but hey, you get what you pay for.  </p>
<p>
My hat is definitely off to Don Jones and the rest of the PowerShell.org folks for hosting this.  If you&#8217;ve been watching the forums at all, you can tell that they&#8217;re working hard to make it successful. If you&#8217;ve looked at scripts, you know that they&#8217;ve added a lot of awesome functionality on the judging side for how the commenting and scoring is handled.</p>
<p>
Looking forward to event 5.</p>
<p>Mike</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fpowershellstation.com%2F2013%2F05%2F22%2Fbest-practices-update-and-some-scripting-games-thoughts%2F&amp;title=Best%20Practices%20Update%20and%20some%20Scripting%20Games%20thoughts" id="wpa2a_6"><img src="http://powershellstation.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><img src="http://feeds.feedburner.com/~r/PowershellStation/~4/Bg7id55rotA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://powershellstation.com/2013/05/22/best-practices-update-and-some-scripting-games-thoughts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://powershellstation.com/2013/05/22/best-practices-update-and-some-scripting-games-thoughts/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=best-practices-update-and-some-scripting-games-thoughts</feedburner:origLink></item>
		<item>
		<title>PowerShell Best Practice #1 – Use Single Quotes</title>
		<link>http://feedproxy.google.com/~r/PowershellStation/~3/tVe5Z0LYHXU/</link>
		<comments>http://powershellstation.com/2013/04/02/powershell-best-practice-1-use-single-quotes/#comments</comments>
		<pubDate>Tue, 02 Apr 2013 07:50:45 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://powershellstation.com/?p=465</guid>
		<description><![CDATA[I&#8217;m going to kick off this series with a no-brainer. In PowerShell, there are 2 ways to quote strings, using single-quotes (&#8216;) or double-quotes (&#8220;). This is probably not a surprise to you if you&#8217;ve seen PowerShell scripts before. A &#8220;best practice&#8221; in PowerShell is that you should always default to using single-quotes unless you ...</p><p><a href="http://powershellstation.com/2013/04/02/powershell-best-practice-1-use-single-quotes/" class="more-link">Continue reading &#8216;PowerShell Best Practice #1 &#8211; Use Single Quotes&#8217; &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m going to kick off this series with a no-brainer.  </p>
<p>In PowerShell, there are 2 ways to quote strings, using single-quotes (&#8216;) or double-quotes (&#8220;).  This is probably not a surprise to you if you&#8217;ve seen PowerShell scripts before.</p>
<p>A &#8220;best practice&#8221; in PowerShell is that you should always default to using single-quotes unless you specifically need to use double-quotes.  The reasons to use double-quotes are:</p>
<ul>
<li>To enable substitution in the string (variables or expressions)</li>
<li>To utilize escape sequences in the string (introduced by backtick `)</li>
<li>To simplify embedding single-quotes in the string (without doubling the single quotes)</li>
</ul>
<p>I have to admit, I find myself getting lazy about this and switching between types of quotes with no rhyme or reason.  In fact, sometimes I see that I&#8217;m using double-quotes as the default just in case I end up doing variable substitution.  In my opinion, however, this is not something I should be doing.</p>
<p>Here&#8217;s a <a href="http://windowsitpro.com/blog/what-do-not-do-powershell-part-7">post</a> from Don Jones about quoting.</p>
<p>Anyone disagree with this one?</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fpowershellstation.com%2F2013%2F04%2F02%2Fpowershell-best-practice-1-use-single-quotes%2F&amp;title=PowerShell%20Best%20Practice%20%231%20%E2%80%93%20Use%20Single%20Quotes" id="wpa2a_8"><img src="http://powershellstation.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><img src="http://feeds.feedburner.com/~r/PowershellStation/~4/tVe5Z0LYHXU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://powershellstation.com/2013/04/02/powershell-best-practice-1-use-single-quotes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://powershellstation.com/2013/04/02/powershell-best-practice-1-use-single-quotes/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=powershell-best-practice-1-use-single-quotes</feedburner:origLink></item>
		<item>
		<title>PowerShell Best Practices</title>
		<link>http://feedproxy.google.com/~r/PowershellStation/~3/enpT5MTFR8w/</link>
		<comments>http://powershellstation.com/2013/04/02/powershell-best-practices/#comments</comments>
		<pubDate>Tue, 02 Apr 2013 01:51:19 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Discussion]]></category>
		<category><![CDATA["Best Practices"]]></category>

		<guid isPermaLink="false">http://powershellstation.com/?p=459</guid>
		<description><![CDATA[I&#8217;ve seen several posts on PowerShell best practices, and even read Ed Wilson&#8217;s book on the subject. There is some commonality in the lists in the obvious places (verb-noun, output objects, format your code nicely), and some disagreement in other areas (code signing, for example). I also see a great amount of variation in use ...</p><p><a href="http://powershellstation.com/2013/04/02/powershell-best-practices/" class="more-link">Continue reading &#8216;PowerShell Best Practices&#8217; &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve seen several posts on PowerShell best practices, and even read Ed Wilson&#8217;s <a href="http://www.amazon.com/Windows-PowerShell-Best-Practices-Microsoft/dp/0735626464" title="book">book</a> on the subject.  There is some commonality in the lists in the obvious places (verb-noun, output objects, format your code nicely), and some disagreement in other areas (code signing, for example).  I also see a great amount of variation in use of aliases and whether or not to name every parameter.  Looking at code in various blogs shows yet another view of what common practices are (whether those are &#8220;best&#8221; or not is another question).</p>
<p>I&#8217;ve been thinking about &#8220;best practices&#8221; for a long time in PowerShell, and I come at it backwards.  I&#8217;m really a &#8220;proof-of-concept&#8221; person.  I&#8217;ve got a background in Mathematics, so my tendency is to implement something to the point where it works (for some value of &#8220;works&#8221;) and move on.  Polishing scripts and focusing on quality has unfortunately been something that I&#8217;ve never really invested a lot into.  </p>
<p>At work, lately, I&#8217;ve started to spend some time (a few days a month) doing PowerShell training, and I&#8217;m really enjoying myself.  As I&#8217;m teaching, though, I&#8217;m trying to instill upon my students a love of PowerShell, and the skills they need to implement quality scripts.  And to do that, I have to think about what quality means for me.</p>
<p>Fortunately, I recently read Don Jones and Jeffery Hicks&#8217; new book, <a href="http://manning.com/jones4/">Learn PowerShell Toolmaking in a Month of Lunches</a>.  This book focuses almost entirely on the practice of making powerful, high-quality, reusable functions in PowerShell and I recommend it highly to anyone who uses PowerShell.  It is very different from any other PowerShell book in that it isn&#8217;t a tutorial on the language or on how to use certain cmdlets to accomplish tasks.  </p>
<p>Will all this going around in my head, I&#8217;m trying to formulate a list of best practices and I think that there&#8217;s a continuum in what should be recommended.  Practices range from &#8220;required&#8221; (use meaningful variable names!) to &#8220;likely to start a religious war&#8221; (set tabs to 4 spaces, or braces should be on their own line).  </p>
<p>Since I&#8217;ve already spent this much text just rambling, I&#8217;m thinking that it&#8217;s too late to actually start listing my thoughts out, but I&#8217;ll try to do that in the next few days.  I&#8217;d really like to hear some community feedback (pro/con) on various ideas, since I know that there will never be a &#8220;final list&#8221;.</p>
<p>Let me know what you think.</p>
<p>Mike</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fpowershellstation.com%2F2013%2F04%2F02%2Fpowershell-best-practices%2F&amp;title=PowerShell%20Best%20Practices" id="wpa2a_10"><img src="http://powershellstation.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><img src="http://feeds.feedburner.com/~r/PowershellStation/~4/enpT5MTFR8w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://powershellstation.com/2013/04/02/powershell-best-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://powershellstation.com/2013/04/02/powershell-best-practices/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=powershell-best-practices</feedburner:origLink></item>
		<item>
		<title>PowerShell Splatting Tricks</title>
		<link>http://feedproxy.google.com/~r/PowershellStation/~3/TIkJDl4J4og/</link>
		<comments>http://powershellstation.com/2013/03/26/powershell-splatting-tricks/#comments</comments>
		<pubDate>Tue, 26 Mar 2013 21:50:20 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://powershellstation.com/?p=449</guid>
		<description><![CDATA[If you&#8217;ve never heard of splatting in PowerShell or possibly read about it but never used it, you should probably consider it.  Briefly, splatting is the ability to package up parameters into a hashtable and use the hashtable to supply the parameters to a function call. The parameters which are passed into a function automatically ...</p><p><a href="http://powershellstation.com/2013/03/26/powershell-splatting-tricks/" class="more-link">Continue reading &#8216;PowerShell Splatting Tricks&#8217; &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>If you&#8217;ve never heard of splatting in PowerShell or possibly read about it but never used it, you should probably consider it.  Briefly, splatting is the ability to package up parameters into a hashtable and use the hashtable to supply the parameters to a function call. The parameters which are passed into a function automatically populate a hashtable called <code>$PSBoundParameters</code>. Note that to &#8220;splat&#8221; a hashtable you use an <code>@</code> in place of the normal <code>$</code>. So to pass <code>$PSBoundParameters</code>, you&#8217;d use <code>@PSBoundParameters</code>. If this isn&#8217;t making sense, please refer to the code example below.</p>
<p>Why would you want to do this? I can think of a couple of instances where the functionality is very useful.</p>
<p>First, consider a function which calls several other, related functions. If the parameters for the &#8220;inner&#8221; are the same (or similar), splatting can make the resulting function calls very easy.</p>
<p>For example, assume we have a functions which start and stop a &#8220;widget&#8221; (with some options, of course). In order write a restart-widget function, we can simply pass the $PSBoundParameters hashtable on to the start/stop functions.<br />
The code could look something like this:</p>
<pre class="brush: powershell; title: ; notranslate">function start-item{
param([switch]$option1,
      [switch]$option2,
      [switch]$option3)
      #start the item using the provided options
}
function stop-item{
param([switch]$option1,
      [switch]$option2,
      [switch]$option3)
      #Stop the item using the provided options
}
function restart-item{
param([switch]$option1,
      [switch]$option2,
      [switch]$option3)
      #restart the item using the provided options
      #note, the hashtable with parameters passed to this function is called $PSBoundParameters
      stop-item @PSBoundParameters
      start-item @PSBoundParameters
}
}</pre>
<p>Note that with 3 switch parameters, you&#8217;d have to write 8 different if/then branches to pass the appropriate switches to these functions without using splatting.</p>
<p>Another example of splatting is when writing a proxy function, you will often be adding or removing parameters from a given function and you will need to adjust the hashtable accordingly before passing it into the &#8220;wrapped&#8221; function.</p>
<p>The first several times I used splatting, I was simply passing <code>$PSBoundParameters</code> to a subordinate function. In many cases, though, you&#8217;ll be constructing your own hashtable or modifying <code>$PSBoundParameters</code> in order to supply parameters to another function.</p>
<p>A couple of corner-cases which I haven&#8217;t ever seen discussed are:</p>
<ol>
<li>How are switch parameters handled in a hashtable since there isn&#8217;t really a value?</li>
<li>Can I mix splatting with normal parameter passing</li>
</ol>
<p>To answer these questions, we&#8217;ll write a simple function (all best-practices are out the window) and try it out.</p>
<pre class="brush: powershell; title: ; notranslate">function show-splat{
param($name,[switch]$hello)
  $PSBoundParameters | out-string
  if($hello){
    write-host &amp;quot;Hello!&amp;quot;
  }
  write-host $name
}</pre>
<p>Calling it as such gives us the answers:<br />
<code><br />
PS C:\&gt; $parms=@{hello=$true}<br />
PS C:\&gt; show-splat -name Mike @parms<br />
Key Value<br />
--- -----<br />
name Mike<br />
hello True<br />
</code></p>
<p>Hello!<br />
Mike</p>
<p>We see clearly that the switch (<code>$hello</code>) is simply passed as a boolean value, and we were able to mix a named parameter (<code>-name</code>) with splatting.  Mixing the two could be useful if you had a lengthy command-line and wanted to specify options for it using splatting or if you only wanted to pass a selection of parameters on to another function.</p>
<p>&nbsp;</p>
<p>Anyway, splatting is a powerful technique which can easily simplify your functions.  Let me know if you have situations where it seems appropriate.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fpowershellstation.com%2F2013%2F03%2F26%2Fpowershell-splatting-tricks%2F&amp;title=PowerShell%20Splatting%20Tricks" id="wpa2a_12"><img src="http://powershellstation.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><img src="http://feeds.feedburner.com/~r/PowershellStation/~4/TIkJDl4J4og" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://powershellstation.com/2013/03/26/powershell-splatting-tricks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://powershellstation.com/2013/03/26/powershell-splatting-tricks/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=powershell-splatting-tricks</feedburner:origLink></item>
		<item>
		<title>Def: A Quick Helper Function</title>
		<link>http://feedproxy.google.com/~r/PowershellStation/~3/UtX6otwuNGw/</link>
		<comments>http://powershellstation.com/2012/07/07/defa-quick-helper-function/#comments</comments>
		<pubDate>Sat, 07 Jul 2012 03:11:51 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Scripts]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[metadata]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Script]]></category>

		<guid isPermaLink="false">http://powershellstation.com/?p=420</guid>
		<description><![CDATA[Did you ever find yourself knowing that you had written a function but you couldn&#8217;t remember which module you put it in? If you have the module imported, you can find out with this: Note that I am defiantly using the &#8220;dir&#8221; alias for get-childitem even though everyone says not to. I&#8217;ll be a rulebreaker ...</p><p><a href="http://powershellstation.com/2012/07/07/defa-quick-helper-function/" class="more-link">Continue reading &#8216;Def: A Quick Helper Function&#8217; &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>Did you ever find yourself knowing that you had written a function but you couldn&#8217;t remember which module you put it in? If you have the module imported, you can find out with this:</p>
<pre class="brush: powershell; title: ; notranslate">dir function:functionname | select Name,ModuleName</pre>
<p>Note that I am <em>defiantly</em> using the &#8220;dir&#8221; alias for get-childitem even though everyone says not to.  I&#8217;ll be a rulebreaker again later on in this post as you&#8217;ll see.</p>
<p>If you ever wanted to know the definition of a function you can use the &#8220;definition&#8221; property:</p>
<pre class="brush: powershell; title: ; notranslate">dir function:functionname | select -expand Definition</pre>
<p>I recently put these 2 together in a helper function I call &#8220;def&#8221;</p>
<pre class="brush: powershell; title: ; notranslate">
function def{
param($funcname)
    $func=dir function:$funcname
    if($func.ModuleName){
      Write-host &quot;$func is defined in module $($func.ModuleName)&quot;
    }
    write-host $Func.definition
}
</pre>
<p>Here you&#8217;ll see my rebellious ways in 2 different strains:</p>
<ul>
<li>I defined a function without using the verb-noun convention</li>
<li>I used write-host to provide output from a function</li>
</ul>
<p>For what it&#8217;s worth, I am very fond of the verb-noun naming convention.  I was tempted to name the function &#8220;show-commanddefinition&#8221; and give it an alias of &#8220;def&#8221;, but I doubt I&#8217;d ever use the full name.</p>
<p>Also, I <em>completely</em> agree with not using write-host to provide output from functions.  Doing so makes the function in question a dead-end as far as PowerShell goes.  In this case, I used it because I was providing 2 different kinds of output (the module name and the definition of the function) and writing those to the output stream wouldn&#8217;t help much.  I could have defined an object with those 2 properties, or even just used select-object to whittle down the command object to those 2, but then the default display would have made presented a tabular view which probably would have truncated the definition.  This function wasn&#8217;t meant to be consumed by other functions, it was meant for me to look at the output.  Thus, <code>write-host</code> was the right choice.  Jeff Hicks is correct, though, every time you use write-host in a function (let&#8217;s say a &#8220;real function&#8221;), %deity% kills a puppy.</p>
<p>Fortunately for everyone I know, that&#8217;s about as rebellious as I get.</p>
<p>Let me know what you think.<br />
Mike</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fpowershellstation.com%2F2012%2F07%2F07%2Fdefa-quick-helper-function%2F&amp;title=Def%3A%20A%20Quick%20Helper%20Function" id="wpa2a_14"><img src="http://powershellstation.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><img src="http://feeds.feedburner.com/~r/PowershellStation/~4/UtX6otwuNGw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://powershellstation.com/2012/07/07/defa-quick-helper-function/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://powershellstation.com/2012/07/07/defa-quick-helper-function/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=defa-quick-helper-function</feedburner:origLink></item>
		<item>
		<title>A Remoting Issue with PowerShell 3 Beta</title>
		<link>http://feedproxy.google.com/~r/PowershellStation/~3/cTBJwI00R6I/</link>
		<comments>http://powershellstation.com/2012/04/05/a-remoting-issue-with-powershell-3-beta/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 03:05:09 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Scripts]]></category>
		<category><![CDATA[3.0 Beta]]></category>
		<category><![CDATA[PSRemoting]]></category>

		<guid isPermaLink="false">http://powershellstation.com/?p=411</guid>
		<description><![CDATA[I&#8217;ve been doing some thinking about PowerShell Remoting for a project at work and realized that I hadn&#8217;t ever set up remoting on my &#8220;home&#8221; laptop. I&#8217;m not in a domain, so remoting configuration is a bit different. In any case, I would be using the same machine as source and target of the remoting ...</p><p><a href="http://powershellstation.com/2012/04/05/a-remoting-issue-with-powershell-3-beta/" class="more-link">Continue reading &#8216;A Remoting Issue with PowerShell 3 Beta&#8217; &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been doing some thinking about PowerShell Remoting for a project at work and realized that I hadn&#8217;t ever set up remoting on my &#8220;home&#8221; laptop.  I&#8217;m not in a domain, so remoting configuration is a bit different.  In any case, I would be using the same machine as source and target of the remoting call, so how could it go wrong?</p>
<p>First of all, VMWare had set up some network adapters and placed them in a public profile.  Enable-PSRemoting doesn&#8217;t like that.  It was an easy google (bing?) to fix and Enable-PSRemoting succeeded.</p>
<p>I then issued this:</p>
<pre class="brush: powershell; title: ; notranslate">
invoke-command -scriptblock { get-process | select-object -first 10  } -computer  localhost
</pre>
<p>Imagine my surprise when the result was this:</p>
<pre>
Could not find file 'C:\Windows\System32\WindowsPowerShell\v1.0\Event.Format.ps1xml'.
    + CategoryInfo          : OpenError: (:) [], RemoteException
    + FullyQualifiedErrorId : PSSessionStateBroken
</pre>
<p>I searched the internet for this, but only found one hit that was close, and that was <a href="http://nuget.codeplex.com/workitem/2016" title="a bug report">a bug report</a> for <a href="http://nuget.codeplex.com/" title="nuget">nuget</a>.</p>
<p>It seems like the powershell engine that is running the remote payload is looking for a formatting file that doesn&#8217;t exist.  To work around this, I simply copied an existing Format.ps1xml file (I chose Registry.format.ps1xml because it was the smallest), removed the signature from it, and changed the name of the view (so it wouldn&#8217;t change any output).</p>
<p>It&#8217;s not a big bug, and it&#8217;s a beta so I&#8217;m not worried.  Just thought I&#8217;d share my workaround.</p>
<p>-Mike</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fpowershellstation.com%2F2012%2F04%2F05%2Fa-remoting-issue-with-powershell-3-beta%2F&amp;title=A%20Remoting%20Issue%20with%20PowerShell%203%20Beta" id="wpa2a_16"><img src="http://powershellstation.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><img src="http://feeds.feedburner.com/~r/PowershellStation/~4/cTBJwI00R6I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://powershellstation.com/2012/04/05/a-remoting-issue-with-powershell-3-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://powershellstation.com/2012/04/05/a-remoting-issue-with-powershell-3-beta/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=a-remoting-issue-with-powershell-3-beta</feedburner:origLink></item>
		<item>
		<title>Speeding up Powershell Webcast by Dr. Tobias Weltner</title>
		<link>http://feedproxy.google.com/~r/PowershellStation/~3/ynYoLCqwKtk/</link>
		<comments>http://powershellstation.com/2012/03/13/speeding-up-powershell-webcast-by-dr-tobias-weltner/#comments</comments>
		<pubDate>Tue, 13 Mar 2012 04:06:50 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://powershellstation.com/?p=399</guid>
		<description><![CDATA[If you&#8217;ve done much looking around, you know that there&#8217;s an awful lot of great information about PowerShell available on the web. The community that has formed around this product is one of its strengths. You&#8217;re probably familiar with the name Tobias Weltner. His Master-PowerShell e-book has long been a resource that I&#8217;ve turned to ...</p><p><a href="http://powershellstation.com/2012/03/13/speeding-up-powershell-webcast-by-dr-tobias-weltner/" class="more-link">Continue reading &#8216;Speeding up Powershell Webcast by Dr. Tobias Weltner&#8217; &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>If you&#8217;ve done much looking around, you know that there&#8217;s an awful lot of great information about PowerShell available on the web.  The community that has formed around this product is one of its strengths.  You&#8217;re probably familiar with the name Tobias Weltner.  His <a href="http://powershell.com/cs/blogs/ebook/" title="Master-PowerShell">Master-PowerShell</a> e-book has long been a resource that I&#8217;ve turned to for examples and explanations.  I recently watched a webcast that Dr. Weltner did as part of a series of webcasts at <a href="http://idera.com" title="Idera.com">idera.com</a>.  The title of the webcast is <a href="http://www.idera.com/Events/RegisterWC.aspx?EventID=297" title="Speeding up PowerShell: Multithreading">&#8220;Speeding up PowerShell: Multithreading&#8221;</a>.  When I got the announcement, I thought it was going to be about using the [System.Threading] namespace.  Boy, was I wrong.</p>
<p>The talk starts off with discussing times when it might make sense to avoid using the pipeline.  Once you see the material, it&#8217;s makes perfect sense.  He then moves to using PowerShell jobs to perform tasks, discussing the pros and cons of that approach.  Finally, he talks about using the Runspace class to run separate PowerShell instances.  It uses the classes, but still manages to be very readable, very approachable PowerShell.  He provides several examples in each section (including a function that executes a PowerShell scriptblock with a timeout, something I&#8217;ve never seen before).</p>
<p>All in all, this was easily the best webcast on PowerShell I&#8217;ve ever watched.  Unlike most Powershell videos I&#8217;ve seen, it wasn&#8217;t targeting a beginner, but someone who already knows the basics of scripting and wants to learn more.  The techniques he presents are, as I have said, very straightforward and explained very well.  I can already think of several examples of code that I&#8217;m probably going to be writing in the near future based on this presentation.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fpowershellstation.com%2F2012%2F03%2F13%2Fspeeding-up-powershell-webcast-by-dr-tobias-weltner%2F&amp;title=Speeding%20up%20Powershell%20Webcast%20by%20Dr.%20Tobias%20Weltner" id="wpa2a_18"><img src="http://powershellstation.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><img src="http://feeds.feedburner.com/~r/PowershellStation/~4/ynYoLCqwKtk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://powershellstation.com/2012/03/13/speeding-up-powershell-webcast-by-dr-tobias-weltner/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://powershellstation.com/2012/03/13/speeding-up-powershell-webcast-by-dr-tobias-weltner/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=speeding-up-powershell-webcast-by-dr-tobias-weltner</feedburner:origLink></item>
		<item>
		<title>Importing Modules using -AsCustomObject</title>
		<link>http://feedproxy.google.com/~r/PowershellStation/~3/49hydpmEyic/</link>
		<comments>http://powershellstation.com/2012/02/08/importing-modules-using-ascustomobject/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 04:46:26 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://powershellstation.com/?p=379</guid>
		<description><![CDATA[I recently got thinking about the -AsCustomObject switch for the Import-Module cmdlet. I have seen it several times in discussions of implementing &#8220;classes&#8221; in PowerShell. Here&#8217;s a typical (i.e. trivial) example: With that module, we can do the standard module stuff: Ok, that was way too basic. Here&#8217;s something a lot closer to the topic ...</p><p><a href="http://powershellstation.com/2012/02/08/importing-modules-using-ascustomobject/" class="more-link">Continue reading &#8216;Importing Modules using -AsCustomObject&#8217; &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>I recently got thinking about the -AsCustomObject switch for the Import-Module cmdlet. I have seen it several times in discussions of implementing &#8220;classes&#8221; in PowerShell. Here&#8217;s a typical (i.e. trivial) example:</p>
<pre class="brush: powershell; title: ; notranslate">
#module adder.psm1
function add-numbers($x,$y){
   return $x+$y
}
</pre>
<p>With that module, we can do the standard module stuff:</p>
<pre class="brush: powershell; title: ; notranslate">
PS&gt; import-module adder
PS&gt; add-numbers 1 2
3
</pre>
<p>Ok, that was way too basic. Here&#8217;s something a lot closer to the topic at hand:</p>
<pre class="brush: powershell; title: ; notranslate">
PS&gt; $adder=import-module adder -ascustomobject
PS&gt; $adder | gm

   TypeName: System.Management.Automation.PSCustomObject

Name        MemberType   Definition                    
----        ----------   ----------                    
Equals      Method       bool Equals(System.Object obj)
GetHashCode Method       int GetHashCode()             
GetType     Method       type GetType()                
ToString    Method       string ToString()             
add-numbers ScriptMethod System.Object add-numbers(); 

PS&gt; $adder.add-numbers(1,2)
Unexpected token '-numbers' in expression or statement.
At line:1 char:11
PS&gt;  $adder.&quot;add-numbers&quot;( 1, 2)
3
</pre>
<p>There are a several interesting things to notice about this example. First of all, note that the add-numbers function has become a scriptmethod on the $adder object. As the help topic for import-module states, the members of the custom object are the (exported) members of the module. When we try to call the add-numbers method, we find that our decision to use the <em>noun-verb</em> naming convention has bitten us. To use the method, we need to enclose the offending method name in quotes (both single and double work fine). Note that since this is a method we need to use commas to separate the arguments to the function.</p>
<p>A second thing to note is since this is a method, not a function, we can&#8217;t skip arguments.</p>
<pre class="brush: powershell; title: ; notranslate">PS&gt; $adder.add-numbers(,2)</pre>
<p>Note that we could definitely do</p>
<pre class="brush: powershell; title: ; notranslate">add-numbers -y 2</pre>
<p>if we had used a normal import-module. Granted that in this case there would be no need to.</p>
<p>What if we try to fix the quotation issue by including an alias (say, AddNumbers) to the module and exporting it?</p>
<pre class="brush: powershell; title: ; notranslate">
function add-numbers($x,$y){
   return $x+$y
}
new-alias addNumbers add-numbers
export-modulemember -Function * -Variable * -alias *
</pre>
<p>Here&#8217;s what we find:</p>
<pre class="brush: powershell; title: ; notranslate">
PS&gt; $adder=import-module adder -ascustomobject -force
PS&gt; $adder | gm

   TypeName: System.Management.Automation.PSCustomObject

Name        MemberType   Definition                    
----        ----------   ----------                    
Equals      Method       bool Equals(System.Object obj)
GetHashCode Method       int GetHashCode()             
GetType     Method       type GetType()                
ToString    Method       string ToString()             
add-numbers ScriptMethod System.Object add-numbers(); 

PS&gt; get-alias AddNumbers

Capability      Name                             ModuleName                                                 
----------      ----                             ----------                                                       
Script          addNumbers -&gt; add-numbers        adder

</pre>
<p>Hey! Our alias is missing. Unfortunately, it got imported into the global scope (possibly hiding another function).  Note that I used the -force switch to make sure that we re-import it if it was already loaded.</p>
<p>When I first read about the -asCustomObject switch, I could see myself using this to import modules that had conflicting function names, and using the custom objects to call the methods in question.  However, consider a function with a large number of switches or parameters.  With an &#8220;-ascustomobject&#8221; object, you would need to specify all of the switches or parameters. Again, what about a function which used parametersets? As it turns out, scriptmethods don&#8217;t seem to use parametersets.  Here&#8217;s function to demonstrate:</p>
<pre class="brush: powershell; title: ; notranslate">
function test-psets{
param([Parameter(ParameterSetName=&quot;Set1&quot;)]$x,
      [Parameter(ParameterSetName=&quot;Set2&quot;)]$y)
      switch ($PsCmdlet.ParameterSetName){
         &quot;Set1&quot; {write-host &quot;we're using Set1&quot;}
         &quot;Set2&quot;  {write-host &quot;we're using Set2&quot;}
         default {write-host &quot;don't know what parameter set we're in&quot;}
      }
      Write-host &quot;we had better be using $($PsCmdlet.ParameterSetName)&quot;
}
</pre>
<p>Calling that function on a custom object looks like this:</p>
<pre class="brush: powershell; title: ; notranslate">
PS&gt; $adder=import-module adder -ascustomobject -force
PS&gt; $adder.&quot;test-psets&quot;(1)   #should use pset 1, since we're only using the first parameter
don't know what parameter set we're in
we had better be using 
PS&gt; $adder.&quot;test-psets&quot;(1,2)  #shouldn't be valid, since they're different parametersets
don't know what parameter set we're in
we had better be using
PS&gt; #Sanity check to make sure the function works 
PS&gt; import-module adder 
PS&gt; test-psets -x 1
we're using Set1
we had better be using Set1

PS&gt; test-psets -y 1
we're using Set2
we had better be using Set2

PS&gt; test-psets -x 1 -y 2
test-psets : Parameter set cannot be resolved using the specified named parameters.
At line:1 char:1
+ test-psets -x 1 -y 2
+ ~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [test-psets], ParameterBindingException
    + FullyQualifiedErrorId : AmbiguousParameterSet,test-psets


</pre>
<p>So it seems that functions that utilize parametersets are going to be a lot less useful with -AsCustomObject imports.</p>
<p>As I mentioned, there are several examples floating around concerning creating new objects (or classes, depending on your perspective) using modules and this option.  Given the drawbacks I&#8217;ve noted in this article, I think I&#8217;m going to stay away from that particular use case.</p>
<p>What do you think?  Did I miss something important?  Please let me know what your opinion is.</p>
<p>-Mike</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fpowershellstation.com%2F2012%2F02%2F08%2Fimporting-modules-using-ascustomobject%2F&amp;title=Importing%20Modules%20using%20-AsCustomObject" id="wpa2a_20"><img src="http://powershellstation.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><img src="http://feeds.feedburner.com/~r/PowershellStation/~4/49hydpmEyic" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://powershellstation.com/2012/02/08/importing-modules-using-ascustomobject/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://powershellstation.com/2012/02/08/importing-modules-using-ascustomobject/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=importing-modules-using-ascustomobject</feedburner:origLink></item>
	</channel>
</rss>
