这可能是一个带有二进制答案的问题。
我在服务器上有一系列批处理文件。它们都需要通过CHOICE或SET进行某种方式的用户输入。
我想使用Powershell从我的桌面远程运行这些程序。
这可能吗?到目前为止,我的测试显示了批处理脚本正在运行,但是它们跳过了任何用户输入。
如果上述操作不可能实现,那么谁能将我指向具有有关Powershell实现信息的资源,该实现可以远程接受用户输入?
脚本需要保留在中央位置,因此所有用户应该在桌面上只有一个PS脚本,该PS脚本在服务器上运行PS脚本,负责请求和处理用户输入。
欢呼
编辑:
我已经尝试了Invoke-Command和Enter-pssession,但都没有用。我收到以下错误消息:
.\MultiScript.bat :
+ CategoryInfo : NotSpecified: (:String) [], RemoteExeption
+ FullyQualifiedErrorId : NativeCommandError
ERROR: The file is either empty or does not contain the valid choices.
这是一段代码摘录:
CHOICE /C 123456789 /M "Enter your choice:"
IF ERRORLEVEL 9 call %installdir%\stream\check1 %input% & GOTO main
...etc
IF ERRORLEVEL 1 call %installdir%\single\getlogs %input% & GOTO main
在我的Powershell终端上,它表明它正在自动选择上面的选项9以运行另一个脚本。在下面的脚本中,向用户请求了ID,我可以看到自动输入了女性性别符号(char [9792])。
问题实际上似乎是Powershell无法理解CHOICE或SET关键字,只是跳过了它们,或者给出了奇怪的输入。
答案 0 :(得分:0)
您需要远程调用命令。为此,您可以以此为例
Invoke-command -computername SERVERhostname -sessionoption (new-pssessionoption -nomachineprofule) -scriptblock {cmd.exe /c "c:/batchfile.bat -option"}
适当替换SERVER主机名。
除非您说它会问问题。然后,您可以远程进入服务器。
Enter-pssession
将根据您的需要