如何获得许可使用System.Diagnostics.Process.GetProcess(字符串)? [英] How to get permissions for using System.Diagnostics.Process.GetProcess(string)?

查看:185
本文介绍了如何获得许可使用System.Diagnostics.Process.GetProcess(字符串)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Microsoft Visual Studio,以体验为目的的简单的远程任务管理器。

I'm using Microsoft Visual Studio to make a simple remote task manager for experience purposes.

我想用 Process.GetProcesses(字符串); ,但有一个拒绝访问异常,不会让我得到远程计算机的过程。其实,这是正常的,因为我们应该用一个用户名和密码,验证但如何

I want to use Process.GetProcesses(string); but there is an access denied exception that won't allow me to get the remote computer process. In fact it is normal because we should authenticate using a user name and password, but how?

推荐答案

您可以尝试使用 WMI 为此

/// using System.Management;  
// don't forget! in VS you may have to add a new reference to this DLL
ConnectionOptions op = new ConnectionOptions();
op.Username = "REMOTE_USER";
op.Password = "REMOTE_PASSWORD";

ManagementScope sc = new ManagementScope(@"\\REMOTE_COMPUTER_NAME\root\cimv2", op);

ObjectQuery query = new ObjectQuery("Select * from Win32_Process");

ManagementObjectSearcher searcher = new ManagementObjectSearcher(sc, query);
ManagementObjectCollection result = searcher.Get();

foreach (ManagementObject obj in result)
{
     if (obj["Caption"] != null) Console.Write(obj["Caption"].ToString() + "\t");
     if (obj["CommandLine"] != null) Console.WriteLine(obj["CommandLine"].ToString());
}

有关 Win32_Process的类请参阅MSDN。

For further details on Win32_Process class see MSDN.

心连心

这篇关于如何获得许可使用System.Diagnostics.Process.GetProcess(字符串)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆