C# .NET中的WMI访问是否需要管理权限?

C# .NET中的WMI访问是否需要管理权限?,c#,.net,wmi,C#,.net,Wmi,我正在写一个应用程序来获取一些系统信息。我想知道应用程序是否需要管理权限才能运行。我粗略地搜索了WMI文档、google等等 在我发现的每件事中,我都没有注意到有人提到它。我认为这意味着我不需要管理员权限。(也是因为我在一个普通用户帐户上的WinXP机器上测试了它,它运行得很好。) NET,x86应用程序。需要在XP上工作,并赢得7。与windows WMI类、命名空间和实例中需要安全性的每个文件、内核对象或任何其他对象一样,这定义了谁可以访问什么。(基于a) 连接到WMI被视为WMI命名空间访

我正在写一个应用程序来获取一些系统信息。我想知道应用程序是否需要管理权限才能运行。我粗略地搜索了WMI文档、google等等

在我发现的每件事中,我都没有注意到有人提到它。我认为这意味着我不需要管理员权限。(也是因为我在一个普通用户帐户上的WinXP机器上测试了它,它运行得很好。)


NET,x86应用程序。需要在XP上工作,并赢得7。

与windows WMI类、命名空间和实例中需要安全性的每个文件、内核对象或任何其他对象一样,这定义了谁可以访问什么。(基于a) 连接到WMI被视为WMI命名空间访问,该访问还具有。WMI上的大多数类和名称空间不需要管理帐户来连接和读取,写入是另一回事。(请注意,远程访问时会发生此更改,它的顶部有一个层,并且需要另一组权限,除非手动更改,否则这些权限是管理权限)

您可以使用wbemtest.exe(C:\windows\system32\wbemtest.exe)或(具有更好的GUI)浏览WMI类和名称空间,可以使用wmimgmt.msc浏览安全性,您可以看到\\root\cimv2(默认名称空间)对所有经过身份验证的用户具有读取权限


此外,microsoft有一个关于更改wmi权限的指南(假设您需要更改权限,这通常不是一个好主意):。

不,除非MSDN文档中针对wmi类指出了这一点,否则通常不会。更常见的身份验证需求是尝试使用WMI访问另一台计算机上的信息。在告诉你你有特权问题,特别是在C#中,它并不害羞。有点像pr0n,当你看到异常时你就知道了。