3

皆さん、今晩は、

次のスクリプトで引数を変数として渡すコマンド ラインを使用して、このスクリプト内から呼び出す別の ps1 で実行します。コマンドラインから引数を渡そうとするたびに、次のエラーが発生します

Start-Process : 引数を受け入れる位置パラメーターが見つかりません

誰か助けてくれませんか?
お時間をいただきありがとうございました。

param
(
    [string]$targetserver = $args[0], #target server
    [string]$module = $args[1], #module name
)

function Get-Script-Directory
{    
  return Split-Path $script:MyInvocation.MyCommand.Path
}

Start-Process powershell.exe (Join-Path (Get-Script-Directory) "...\StopServices.ps1") -ArgumentList $targetserver $module
4

1 に答える 1

4

最後の行でこれを試してください

$scriptPath = Join-Path (Get-Script-Directory) "...\StopServices.ps1"
Start-Process powershell.exe -ArgumentList "-file $scriptPath", $targetserver, $module  

コメントによる更新: 動作していることを示すには、下の GIF を参照してください。もう一度確認するか、デバッグ出力を挿入して、スクリプトのどこに問題があるかを確認してください。

実用的なソリューションを示す GIF

于 2016-08-11T15:57:41.803 に答える