【发布时间】:2018-06-08 13:19:14
【问题描述】:
我正在尝试通过 C# 中的 Microsoft.Management.Infrastructure API 访问 Windows 7 和 Windows 10 Embedded 上的 WMI 类。 它使用以下 sn-p 中的代码工作,但前提是我启动 Windows 远程管理 (WS-Management) 服务。
我注意到,即使未启动 WS-Management 服务,我也可以通过 Get-WmiObject 等 Powershell cmdlet 访问这些类。没有通过 Microsoft 管理基础结构 API 启动的服务,有什么方法可以访问 WMI?
CimSession cimSession = CimSession.Create("localhost");
IEnumerable<CimInstance> enumeratedInstances = cimSession.EnumerateInstances(@"root\cimv2", "Win32_Process");
foreach (CimInstance cimInstance in enumeratedInstances)
{
Console.WriteLine("{0}", cimInstance.CimInstanceProperties[ "Name" ].Value.ToString());
}
【问题讨论】:
-
我认为这里的错误是您将
"localhost"作为主机名传递。要连接到同一台机器,您应该改为传递null。