我的场景是使用C#.Net连接到远程计算机,并列出该远程计算机的所有进程。我可以杀死一个进程,或者在远程启动一个新进程。问题是,当我在远程执行一个新进程时,我可以在任务管理器上看到该进程,但它在Windows屏幕上并没有。不知道为什么它没有出现在Windows上,而是出现在任务管理器/进程上。这是我的执行代码
private void btnStartNew_Click(object sender, EventArgs e)
{
object[] arrParams = { txtNewProcess.Text.Trim()};
try
{
manageClass = new ManagementClass(myScope, new ManagementPath("Win32_Process"), new ObjectGetOptions());
manageClass.InvokeMethod("Create", arrParams);
btnConnect_Click(sender, e);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
我的范围是:
myScope = new ManagementScope(@"\ROOT\CIMV2", connOptions);
答案 0 :(得分:2)
问题与管理员权限有关
答案 1 :(得分:0)
管理路径不应该是\ ComputerName \ Root \ CIMV2而不仅仅是\ ROOT \ CIMV2吗?
答案 2 :(得分:0)
如果您在身份验证方面遇到问题,则需要检查目标计算机上的DCOM配置。
dcomcnfg
。 Component Services\Computers\My Computer\DCOM Config
8BC3F05E-D86B-11D0-A075-00C04FB68820
标识的Windows管理说明(您可以在详细信息视图中看到这一点)。