0

この質問に答える人は皆、次のいずれかの例を挙げて問題を回避しているようです。または、 B.-scriptBlockバージョンを使用します。

これが私が望むものです: リモート マシンで、ローカル マシンから PowerShell スクリプトを実行したいと考えています。引数またはパラメーターを渡す必要があります。

これが私がやっていることです:

$responseObject = Invoke-Command -ComputerName MININT-OU9K10R -FilePath C:\Users\Documents\RemoteProofOfConcept\validatePath.ps1 -ArgumentList $filename  -AsJob

スクリプトに渡したい$filenameのですが、validatePath.ps1これを行う方法がわかりません。

誰かがこれを行う方法を教えてもらえますか、または私が間違っていることを教えてください。

これらのリンクはどれも役に立ちませんでした:

Invoke-Command でスクリプトが呼び出されたときに PowerShell でスクリプト ディレクトリを取得する

Powershell Invoke-Command with-FilePath で ItemNotFoundException が発生する

Invoke-Command で名前付きパラメーターを渡すにはどうすればよいですか?

4

1 に答える 1

1

これは PowerShell v3 で動作します。V2ですか?

9# gc .\foo.ps1
param($myarg)

hostname
"parameter value of myarg is $myarg"
10# $filename = "c:\foo.txt"
11# Invoke-Command Beagle2 -FilePath .\foo.ps1 -ArgumentList $filename
BEAGLE2
parameter value of myarg is c:\foo.txt

ところで、foo.ps1 はリモート コンピューターに存在しません。実行のために PowerShell によってリモート コンピューターに転送されています。ローカル コンピューターのパスが含まれている場合$filename、両方のコンピューターに共通のファイルを指していない限り、それがリモート コンピューターでどのように機能するかわかりません。

于 2013-07-11T21:31:30.473 に答える