<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: PowerShell Deep Dive: Discovering dynamic parameters</title>
	<atom:link href="http://poshoholic.com/2007/11/28/powershell-deep-dive-discovering-dynamic-parameters/feed/" rel="self" type="application/rss+xml" />
	<link>http://poshoholic.com/2007/11/28/powershell-deep-dive-discovering-dynamic-parameters/</link>
	<description>Totally addicted to PowerShell</description>
	<lastBuildDate>Sat, 05 May 2012 13:03:31 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Michael Klement</title>
		<link>http://poshoholic.com/2007/11/28/powershell-deep-dive-discovering-dynamic-parameters/#comment-1170</link>
		<dc:creator><![CDATA[Michael Klement]]></dc:creator>
		<pubDate>Tue, 09 Jun 2009 19:16:51 +0000</pubDate>
		<guid isPermaLink="false">http://poshoholic.com/2007/11/28/powershell-deep-dive-discovering-dynamic-parameters/#comment-1170</guid>
		<description><![CDATA[Thanks for continuing to maintain your library.

As for the specific problem I mentioned: I worked around it as follows (and there may well be a better v2 solution to this, I just haven&#039;t studied what&#039;s new in v2 yet); the side effect is that all pipeline input is collected before it gets passed to the underyling cmdlet:

# In the &#039;begin&#039; block, declare a variable to
# collect all pipeline input
$allPipeInput = New-Object Collections.ArrayList

# In the &#039;process&#039; block, if $_ is non-null,
# collect pipeline items.
[void] $allPipeInput.Add($_)

# Finally, in the &#039;end&#039; block, if $allPipeInput
# is non-empty, make it part of the command line.
Invoke-Expression &quot;`$(`$allPipeInput.GetEnumerator()) &#124; ...&quot;]]></description>
		<content:encoded><![CDATA[<p>Thanks for continuing to maintain your library.</p>
<p>As for the specific problem I mentioned: I worked around it as follows (and there may well be a better v2 solution to this, I just haven&#8217;t studied what&#8217;s new in v2 yet); the side effect is that all pipeline input is collected before it gets passed to the underyling cmdlet:</p>
<p># In the &#8216;begin&#8217; block, declare a variable to<br />
# collect all pipeline input<br />
$allPipeInput = New-Object Collections.ArrayList</p>
<p># In the &#8216;process&#8217; block, if $_ is non-null,<br />
# collect pipeline items.<br />
[void] $allPipeInput.Add($_)</p>
<p># Finally, in the &#8216;end&#8217; block, if $allPipeInput<br />
# is non-empty, make it part of the command line.<br />
Invoke-Expression &#8220;`$(`$allPipeInput.GetEnumerator()) | &#8230;&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kirk Munro</title>
		<link>http://poshoholic.com/2007/11/28/powershell-deep-dive-discovering-dynamic-parameters/#comment-1165</link>
		<dc:creator><![CDATA[Kirk Munro]]></dc:creator>
		<pubDate>Tue, 09 Jun 2009 16:05:36 +0000</pubDate>
		<guid isPermaLink="false">http://poshoholic.com/2007/11/28/powershell-deep-dive-discovering-dynamic-parameters/#comment-1165</guid>
		<description><![CDATA[You&#039;re absolutely right Michael.  PowerShell v1 comes with limited capabilities when it comes to wrapping cmdlets and invoking items within a pipeline.  PowerShell v2 adds a lot of improvements in this area, and I have a pending todo to review much of my function library and upgrade it, this function included.  I have about 170 functions to review and update for v2 though, so it may take a little while.]]></description>
		<content:encoded><![CDATA[<p>You&#8217;re absolutely right Michael.  PowerShell v1 comes with limited capabilities when it comes to wrapping cmdlets and invoking items within a pipeline.  PowerShell v2 adds a lot of improvements in this area, and I have a pending todo to review much of my function library and upgrade it, this function included.  I have about 170 functions to review and update for v2 though, so it may take a little while.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Klement</title>
		<link>http://poshoholic.com/2007/11/28/powershell-deep-dive-discovering-dynamic-parameters/#comment-1162</link>
		<dc:creator><![CDATA[Michael Klement]]></dc:creator>
		<pubDate>Tue, 09 Jun 2009 03:08:22 +0000</pubDate>
		<guid isPermaLink="false">http://poshoholic.com/2007/11/28/powershell-deep-dive-discovering-dynamic-parameters/#comment-1162</guid>
		<description><![CDATA[Great stuff.

A note on Invoke-Cmdlet:

It won&#039;t work as expected with cmdlets that operate on the pipeline *as a whole*, e.g. Get-Member, given that it invokes the underlying cmdlet for each object in the pipeline.]]></description>
		<content:encoded><![CDATA[<p>Great stuff.</p>
<p>A note on Invoke-Cmdlet:</p>
<p>It won&#8217;t work as expected with cmdlets that operate on the pipeline *as a whole*, e.g. Get-Member, given that it invokes the underlying cmdlet for each object in the pipeline.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Supporting -Whatif, -Confirm and -Verbose in *localized* scripts &#171; Poshoholic</title>
		<link>http://poshoholic.com/2007/11/28/powershell-deep-dive-discovering-dynamic-parameters/#comment-664</link>
		<dc:creator><![CDATA[Supporting -Whatif, -Confirm and -Verbose in *localized* scripts &#171; Poshoholic]]></dc:creator>
		<pubDate>Wed, 16 Jan 2008 05:47:44 +0000</pubDate>
		<guid isPermaLink="false">http://poshoholic.com/2007/11/28/powershell-deep-dive-discovering-dynamic-parameters/#comment-664</guid>
		<description><![CDATA[[...] file in the editor of your choice and take a look at them.  This script originally started as a small project to dig into dynamic parameters, but I&#8217;ve found the functions I created in that work so useful myself that I&#8217;ve been [...]]]></description>
		<content:encoded><![CDATA[<p>[...] file in the editor of your choice and take a look at them.  This script originally started as a small project to dig into dynamic parameters, but I&#8217;ve found the functions I created in that work so useful myself that I&#8217;ve been [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sometimes you just want a property &#171; Poshoholic</title>
		<link>http://poshoholic.com/2007/11/28/powershell-deep-dive-discovering-dynamic-parameters/#comment-331</link>
		<dc:creator><![CDATA[Sometimes you just want a property &#171; Poshoholic]]></dc:creator>
		<pubDate>Sat, 08 Dec 2007 03:16:53 +0000</pubDate>
		<guid isPermaLink="false">http://poshoholic.com/2007/11/28/powershell-deep-dive-discovering-dynamic-parameters/#comment-331</guid>
		<description><![CDATA[[...] recently in my Cmdlet Extension Library (you can read more about what this library contains here).  If you want to use the Invoke-Member function by itself, you will have to change the calls to [...]]]></description>
		<content:encoded><![CDATA[<p>[...] recently in my Cmdlet Extension Library (you can read more about what this library contains here).  If you want to use the Invoke-Member function by itself, you will have to change the calls to [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: /\/\o\/\/</title>
		<link>http://poshoholic.com/2007/11/28/powershell-deep-dive-discovering-dynamic-parameters/#comment-281</link>
		<dc:creator><![CDATA[/\/\o\/\/]]></dc:creator>
		<pubDate>Fri, 30 Nov 2007 13:28:56 +0000</pubDate>
		<guid isPermaLink="false">http://poshoholic.com/2007/11/28/powershell-deep-dive-discovering-dynamic-parameters/#comment-281</guid>
		<description><![CDATA[Great work !

I think you are correct about tabexpansion and get-command extending ( PowerTab is using get-Command and hence only provides the parameter when in the provider it works on .

but I will take a look also at adding this functionalty into PowerTab using the get-help option, as this might be not always wanted (triggering only when valid as in you last example will be hard to do )
.

Greetings /\/\o\/\/]]></description>
		<content:encoded><![CDATA[<p>Great work !</p>
<p>I think you are correct about tabexpansion and get-command extending ( PowerTab is using get-Command and hence only provides the parameter when in the provider it works on .</p>
<p>but I will take a look also at adding this functionalty into PowerTab using the get-help option, as this might be not always wanted (triggering only when valid as in you last example will be hard to do )<br />
.</p>
<p>Greetings /\/\o\/\/</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: What should you do when a cmdlet doesn&#8217;t do enough? &#171; Poshoholic</title>
		<link>http://poshoholic.com/2007/11/28/powershell-deep-dive-discovering-dynamic-parameters/#comment-266</link>
		<dc:creator><![CDATA[What should you do when a cmdlet doesn&#8217;t do enough? &#171; Poshoholic]]></dc:creator>
		<pubDate>Wed, 28 Nov 2007 16:27:47 +0000</pubDate>
		<guid isPermaLink="false">http://poshoholic.com/2007/11/28/powershell-deep-dive-discovering-dynamic-parameters/#comment-266</guid>
		<description><![CDATA[[...] Now that this function is written, what is an example where you could use this to extend a cmdlet while following the rules outlined above?  Right here. [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Now that this function is written, what is an example where you could use this to extend a cmdlet while following the rules outlined above?  Right here. [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

