次の定義のコマンドレットがあります。
[CmdletBinding(DefaultParameterSetName="Path",
SupportsShouldProcess=$TRUE)]
param(
[parameter(Mandatory=$TRUE,Position=0)]
[String] $Pattern,
[parameter(Mandatory=$TRUE,Position=1)]
[String] [AllowEmptyString()] $Replacement,
[parameter(Mandatory=$TRUE,ParameterSetName="Path",
Position=2,ValueFromPipeline=$TRUE)]
[String[]] $Path,
[parameter(Mandatory=$TRUE,ParameterSetName="LiteralPath",
Position=2)]
[String[]] $LiteralPath,
[Switch] $CaseSensitive,
[Switch] $Multiline,
[Switch] $UnixText,
[Switch] $Overwrite,
[Switch] $Force,
[String] $Encoding="ASCII"
)
次のように、コマンドレット.ps1ファイルを、コマンドレットを呼び出すPowerShellスクリプトファイルと同じフォルダーに配置します。
Invoke-Expression-Command。\Replace-FileString.ps1"9595" "NewPort" "c:\temp"-上書き
ただし、psスクリプトを実行すると、次のエラーが発生します。
Invoke-Expression:引数「9595」を受け入れる位置パラメーターが見つかりません。どうすればそれを機能させることができますか?ありがとう。