-1
私は私が持っているしたい機能を持っているが、宣言の最初の出発点である(基本的に他のすべての関数に渡さ)PowerShellのパラメータセットと
をファイル名を必要とし、出力文字列と値の配列(オプション)
func {
[CmdletBinding()]
Param (
[Parameter(Mandatory=$true, ParameterSetName="Default", Position=1)]
[Parameter(Mandatory=$true, ParameterSetName="Variable", Position=1)]
[ValidateNotNullOrEmpty()]
[String]$FileName,
[Parameter(Mandatory=$true, ParameterSetName="Default", Position=2)]
[Parameter(Mandatory=$true, ParameterSetName="Variable", Position=2)]
[String]$Output,
[Parameter(Mandatory=$false, ParameterSetName="Default", Position=3)]
[Parameter(Mandatory=$true, ParameterSetName="Variable", ValueFromRemainingArguments=$true)]
[string[]]$Variables
)
}
しかし、私は意図したとおりに動作する機能を得ることができません。関数を呼び出すと、次のエラーが発生します。
func: Parameter set cannot be resolved using the specified named parameters.
At S:\PS\Home\Library\PSStdLib\PSStdLib.psm1:595 char:9
+ func"$psExecutionLog" "{0,-19} {1,-35} {2,-25} {3,-25} { ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [func], ParameterBindingException
+ FullyQualifiedErrorId : AmbiguousParameterSet,func
私は何時間もこれを見つめています。私が間違っていることを理解しようとしています。私はそれを見ることができません。
どのようにメソッドを呼び出しますか?なぜパラメータのプロパティを2回定義するのですか? –
答えはうまくいきましたか? –