我有这段代码:
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)。
有点没有更多想法......
感谢。
答案 0 :(得分:2)
也许,您应该使用PsTools(从您的应用程序运行)?理想情况下用于远程部署。