如何通过.net c#连接到另一台具有windows操作系统的主机?
我想连接到一台具有windows操作系统的主机,然后在该计算机上运行一些命令。通常我会尝试两种解决方案:如何通过.net c#连接到另一台具有windows操作系统的主机?,c#,powershell,wmi,openssh,ssh.net,C#,Powershell,Wmi,Openssh,Ssh.net,我想连接到一台具有windows操作系统的主机,然后在该计算机上运行一些命令。通常我会尝试两种解决方案: 我在两台计算机上都安装了openSSh,然后使用ssh命令 在CMD中连接到主机,该操作已成功(这是在中完成的) 为了确保我可以连接),我使用了SSH.net 库以SSh方式连接到Visual Studio中的该主机,但它未连接 错误是“已建立的连接被 主机中的软件“(我阅读了所有关于此的问题 错误)。我认为这个错误是因为ssh.net库 为linux连接而不是windows编写。我说得对吗
ip=“172.17.9.2”;
用户名=“****”;
password=“***”;
端口=22;
var processorun=new[]{“notepad.exe”};
var connection=新连接选项();
connection.Username=用户名;
connection.Password=密码;
var wmiScope=newmanagementscope(String.Format(“\\\{0}\\root\\cimv2”,“FB”),连接);
var wmiProcess=newmanagementclass(wmiScope,newmanagementpath(“Win32_进程”),newObjectGetOptions());
wmiProcess.InvokeMethod(“创建”,processorun);
我在WMI上花了很多时间来了解问题所在。现在我正在寻找另一种简单易实现的方法。当使用WMI时,您需要使用一个用户帐户作为远程计算机上的权限 因此,如果您有PC1,并且您以user1身份登录,并且您尝试登录到PC2,那么它将尝试以PC1\user1身份登录。。因此,您需要具体说明登录到远程计算机的用户名,或者确保第二台计算机上的用户
您可能需要发送PC2\User1以User1身份登录远程计算机,这是一个完全不同的人你真的应该试试,而不是你对RESTful web服务不感兴趣吗?如果你完全必须使用c#-WMI作为一个整体是最简单的-你的代码的简单问题通常是如果你有一个用户域\用户。。如果只指定“用户”等。。或者您没有对计算机的权限。@BugFinder您的意思是,我应该使用username=“FB\****”,而不是username=“****”?这取决于用户的定义位置。。。。