使用Psexec运行PowerShell脚本时出错

时间:2013-07-29 11:56:24

标签: powershell batch-file psexec

我正在运行以下批处理文件来连接远程计算机&使用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服务...处理-File   'C:\ Test \ DirChk.ps1''失败,因为该文件没有'.ps1'   延期。指定有效的PowerShell脚本文件名,然后尝试   试。

1 个答案:

答案 0 :(得分:3)

尝试双引号。批处理文件由 cmd 解释,它不理解单引号。这应该有效:

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