远程计算机
问题描述:
上运行的程序我有这样的代码:远程计算机
ConnectionOptions connOptions = new ConnectionOptions();
connOptions.Impersonation = ImpersonationLevel.Impersonate;
connOptions.EnablePrivileges = true;
ManagementScope manScope = new ManagementScope(String.Format(@"\\{0}\ROOT\CIMV2", sHost), connOptions);
manScope.Connect();
ObjectGetOptions objectGetOptions = new ObjectGetOptions();
ManagementPath managementPath = new ManagementPath("Win32_Process");
ManagementClass processClass = new ManagementClass(manScope, managementPath, objectGetOptions);
ManagementBaseObject inParams = processClass.GetMethodParameters("Create");
inParams["CommandLine"] = "notepad.exe";
ManagementBaseObject outParams = processClass.InvokeMethod("Create", inParams, null);
当我设置sHost是我的本地IP地址,它的工作原理和记事本中打开。 但是,当我将它设置为远程服务器时,没有任何反应。
(我可以连接到远程计算机,并从我的应用程序复制文件 - 这只是为了尝试远程运行的东西,也为WMI配置了防火墙)。
有点没有更多的想法...
谢谢。
我假设你已经选中记事本没有在远程计算机的后台运行(查看任务管理器)?你没有连接到登录用户的桌面会话,所以它可能不会显示在屏幕上。 – Rhumborl
感谢您的回复。是的,我检查了,但没有运行,它不会在后台运行。我也尝试将用户名和密码设置为“connOptions”,但仍然没有... – Idanis
可以检查outParams [“returnValue”]和outParams [“processId”]的值吗? – prthrokz