c# - 如何获取使用 System.Diagnostics.Process.GetProcess(string) 的权限?

标签 c# authorization remote-access user-permissions

出于体验目的,我正在使用 Microsoft Visual Studio 制作一个简单的远程任务管理器。

我想使用 Process.GetProcesses(string); 但存在拒绝访问异常,不允许我获取远程计算机进程。其实这很正常,因为我们应该使用用户名和密码进行身份验证,但是如何呢?

最佳答案

为此您可以尝试使用 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。

第一个

关于c# - 如何获取使用 System.Diagnostics.Process.GetProcess(string) 的权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6757711/

相关文章:

c# Winform Controls to VSTO Excel Addin 如何取回值(value)。

c# - 谁将 "args"传递给了 main 方法?

c# - 使用 cookie 进行 ASP.NET Core .NET Framework 测试

java - React 应用程序不向 java 服务器发送 header

deployment - 如何将 Docker Machine 连接到远程 Docker VirtualBox

java - CPanel SQL : Need Remote Access, CPanel 或 WHM 中没有授予权限

c# - 如何检查依赖对象是否包含依赖属性?

php - PHP POST 请求中缺少授权 header

ios - 关于iOS弹出窗口,要求用户继续允许应用在后台使用位置

shell - 如何通过管道将主机名传送到 SSH 调用中?