0
-Computernameパラメータを使用するPS関数を作成しようとしています。ここで私が使用しているコードされています。私はGet-Foo -Computername BAZ
としての機能を実行すると名前付きパラメータがスクリプトで機能しない
function Get-Foo {
param(
[Parameter(Mandatory=$False,Position=0,ValueFromPipeline=$True,ValueFromPipelineByPropertyName=$True)]
[string[]]$Computername = $env:COMPUTERNAME
)
はしかし、それは名前付きパラメータBAZを渡すことはありませんが、代わりに常に$env:COMPUTERNAME
の値を使用しています。私はPowerShellにはまったく新しく、関数を書くのは間違いないので、誰かがここで間違っている場所をすばやく見ることができれば幸いです。私は切り取って、動作する別のスクリプトからparam
行を変更したので、なぜここではうまくいかないのかわかりません...ありがとう。
私はあなたが見ているものを見ていません...私はその正確なスクリプトを実行すると、私は出力を取得しません。私はPS3.0をWin8 CTPで動かしていますが、それは問題ではないと思います。 –
PS 2.0を使って、同じことを試しました。非常に非常に奇妙な... –
私は未知ですので、それはです:)私は、パラメータなしでちょうど "Get-Foo"として関数を呼び出していました。だから、常にデフォルトを取っていました:-Pそして、上記のテストでは、私は関数ブロックをコピーし、コマンドラインでパラメータ付きのスクリプトとして実行しようとしました。明らかに私は学ぶべきことがたくさんある...どうも助けてくれてありがとう! –