我的远程服务器名称:MyServerName 操作系统:带SP1的Windows Server 2008 R2 DomainName:MyDomainName 用户名:MyUserName 密码:MyPassWord
我从本地桌面使用远程桌面连接实用程序,并且能够使用管理员登录连接到远程服务器(假设MyUserName& MyPassWord作为管理员登录)。
在我的远程桌面中,我必须打开cmd提示符并执行以下命令:
C:\用户\ MyUserName输入\ hpacu
其中“hpacu”是一个实用程序,它将在命令提示符中自行执行,并在同一个命令提示符中为我提供输出。
我正在使用Windows Forms C#准备自动化。
我的申请表:
TextBox - 从用户(我自己)获取服务器名称。我会给出正确的服务器名称。
按钮 - 使用我的管理员凭据连接到服务器并远程执行硬编码命令。
PsExec - 此工具位于我本地计算机的D-Drive中。文件的确切位置是D:\ PSTools \ PsExe.exe
注意:我没有收集用于访问远程计算机的用户名和密码,因为我会右键单击windows forms exe并以不同的用户身份执行 - >提供管理员凭据以及服务器的域名,因此它不会要求我输入访问服务器计算机的用户名和密码。
我的C#按钮点击代码:
string arg =“cd / d d:/ PStools& psexec.exe \\”+ txtServerName.Text +“C:\ Users \”+ MyUserName +“\ hpacu& Pause”;
System.Diagnostics.Process.Start(“CMD.Exe”,“/ c”+ arg);
当我点击按钮时,我可以连接到远程机器。我也能够启动命令提示符并执行命令。但最后我得到了以下错误:“没有进程在管道的另一端。”
当我尝试以传统方式手动执行命令时(即通过远程桌面实用程序连接),该命令完美运行并为我提供输出。请指导我如何继续。