1

以下のバッチ ファイルを実行してリモート マシンに接続し、psexec を使用してリモート マシンで PowerShell スクリプトを実行しています。

ローカル マシンでバッチ ファイルを実行 (myscript.bat)
コマンドを実行: myscript.bat \\mymachine

set machinename=%1

@echo " started"
PsExec.exe %machinename% -u myID -p myPwd -i -d cmd /c mkdir C:\test

xcopy  DirChk.ps1 %machinename%\C$\test

psexec.exe %machinename% -u myID -p myPwd cmd.exe /c 'echo .|powershell.exe -file C:\Test\DirChk.ps1'

@echo "Completed"

エラー:

\\mymachine で PsExec サービスを開始しています ...処理中 - ファイル 'C:\Test\DirChk.ps1'' は、ファイルの拡張子が '.ps1' でないため失敗しました。有効な PowerShell スクリプト ファイル名を指定してから、やり直してください。

4

1 に答える 1

3

二重引用符を試してください。バッチ ファイルは、一重引用符を認識しないcmdによって解釈されます。これはうまくいくはずです:

psexec.exe %machinename% -u myID -p myPwd cmd.exe /c "echo .|powershell.exe -file C:\Test\DirChk.ps1"
于 2013-07-29T15:33:02.427 に答える