Ich möchte eine bestehende Commandlet mit einer dynamischen Anzahl von Parametern aufzurufen.Wie übergebe ich dynamische Parameter in Powershell?
Anstatt dies zu tun (unter Write-Host als Beispiel), würde Ich mag es, die intelligente Art und Weise zu tun.
# these are the dynamic parameters which maybe get passed into my function or script
# they would be $null be default of course
$forecolor = 'Green'
$newline = $true
# now build the "dynamic" write-host...
if ($forecolor) {
if ($newline) {
write-host -fore $forecolor "Hello world"
}
else {
write-host -fore $forecolor "Hello world" -nonewline
}
}
else {
if ($newline) {
write-host "Hello world"
}
else {
write-host "Hello world" -nonewline
}
}
Das ist natürlich sehr hässlich. Hilf mir, es hübscher zu machen!
Ich habe bereits versucht nur $forecolor = '-fore Green'
Einstellung, die nur die Ausgänge „-fore Grün Hallo Welt“. Ich könnte daran denken, eine Liste von Argumenten an eine Funktion zu übergeben und für jedes Argument in der Liste den entsprechenden Parameter hinzuzufügen - ich weiß einfach nicht, wie man die Parameter hält.
Haben Sie bei Parametersätze hatte einen Blick? http://blogs.technet.com/b/heyscriptingguy/archive/2011/06/30/use-parameter-sets-to-simplify-powershell-commands.aspx –
David, wie würden diejenigen helfen hier? Ich bin verwirrt. ! – Joey