我正在运行以下批处理文件来连接远程计算机&使用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脚本文件名,然后尝试 试。
答案 0 :(得分:3)
尝试双引号。批处理文件由 cmd 解释,它不理解单引号。这应该有效:
psexec.exe %machinename% -u myID -p myPwd cmd.exe /c "echo .|powershell.exe -file C:\Test\DirChk.ps1"