问题标签 [system.management]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
416 浏览

c# - WMI 命名空间是类的实例吗?

我一直在用 C# 编写一个程序,以从 WMI 中作为一个项目清除信息(我知道已经存在许多很棒的工具,但这既是为了学习,也是为了根据我管理的环境定制),我来了跨越几个怪事。目前让我失望的是以下代码段:

鉴于 MSDN 文档和 VS 文档下的 System.Management.ManagementClass 的定义,我将重述它表示 CIM 类,以及返回所有子类集合的 GetSubclasses() 方法的定义在一个类下(在一个类是那里的关键短语下),我能得出的唯一合乎逻辑的结论是,WMI 中的命名空间实际上是一个类的实例,这听起来非常错误。

命名空间实际上是 WMI 中类的实例吗?如果没有,有谁知道为什么在命名空间上使用 ManagementClass 允许类清理?使用的语言真的让我很困惑。

编辑:要在这里回答这个问题。下面的 Hans Passant 指出 IWBEMPath 是问题的原因,并且 Namespaces 被 ManagementPath 视为目录和类,因为 IWbemPath 用于实例化 ManagementClass 的新实例。谢谢汉斯!

0 投票
2 回答
7707 浏览

c# - 引用类型“组件”声称它在“系统”中定义

试图在 UWP 应用程序中获取一些 WMI 对象。在 .net 4.6 上运行 VS2015。

我收到 ForEach 和方法调用的错误,说明“对类型'组件'的引用声称它是在'系统'中定义的”,错误为 CS7069。

错误

任何帮助,将不胜感激。

0 投票
1 回答
386 浏览

c# - 未找到处理器 ID

我正在尝试使用 managementobjectserarcher 获取 CPU ID,但我收到对象引用未找到对象异常实例的错误。示例代码是手动编写的,因此可能存在一些拼写错误。但它正在正确编译。

请帮我摆脱这个。

0 投票
1 回答
451 浏览

asp.net - System.Management.dll 无法识别.Net 4.6

我遇到了一个非常棘手的问题,我创建了一个新的 ASP.Net 4.6 Web 应用程序(Visual Studio 2015 社区版)并且一切正常。

该应用程序将毫无问题地编译,但是一旦我尝试在开发机器(Windows 10 Enterprise)上运行该应用程序,我每次都会收到以下错误,我不知道为什么?

BC30002:未定义类型“ConnectionOptions”。

我正在使用的代码如下:

我在应用程序的引用中引用了 System.Management DLL,并且我也有一个 Imports 声明。

有没有人遇到过这个?我的搜索全部返回到应用程序中未引用的 DLL,但我已添加、删除和重新添加,没有任何更改。

请帮助这让我发疯:-(

0 投票
1 回答
1896 浏览

c# - C# System.Management.Automation.Powershell 类在调用 Invoke() 时泄漏内存

我有一个 C# 测试应用程序的代码,它使用 PowerShell 查询系统信息,其中我有一些简单的函数,如下所示:

这很简单,主要取自 MSDN 示例,如下所示: https ://msdn.microsoft.com/en-us/library/dd182449(v=vs.85).aspx

问题是每次调用这个函数时,我都可以看到应用程序的内存占用增加。足迹在调用 ps.Invoke() 时会增长,并且永远不会缩小。我如何处理数据并不重要。我什至可以将 foreach 循环的主体完全注释掉,并且内存永远不会被垃圾收集。

据我通过查看 PowerShell 类接口可以看出,似乎没有办法强制它自行清理,并且 Dispose() 显然不起作用,因为使用后资源仍然在内存中泄漏块出口。

这是 C# PowerShell 类实现或 PowerShell 本身中的已知错误吗?是否有人知道解决方案或可能的替代方案?


编辑

我现在也尝试了以下方法,结果相同:

再次,超级简单。取自这里的样本。

我想知道这是否是 Powershell 模块中的已知错误。也许我会开始研究 Powershell 接口(WMI 等)的替代方案,因为我需要在不确定的长时间内定期调用这些 PS 查询。

0 投票
0 回答
282 浏览

system.management - 总可用图形内存?

我知道可以使用 WMI (AdapterRam) 获得专用视频内存,但我似乎无法在 WMI 上找到任何东西来获得我的显卡的共享内存和总内存?如果 wmi 不提供这些信息,如何检索这些信息

0 投票
2 回答
503 浏览

c# - 性能跟踪的最佳实践是什么?System.Diagnostics 还是 System.Management?

我想实现一个监控当前正在运行的进程的系统。系统获取有关高负载(CPU、内存等)的信息。我调查了两个命名空间。它是 System.Diagnostics 和 System.Management。首先,我编写了一个类来显示所有正在运行的进程的名称、ID 和 CPU 负载。

另外,我注意到在不同的命名空间中,相同的属性具有不同的值。此外,System.Diagnostic 比 System.Management 更快,但带有 CPU 加载数据的方法 SysDi() 看起来不清楚。

在我的情况下使用什么更好?我应该遵循什么标准来选择?

0 投票
0 回答
1935 浏览

powershell - 无法加载类型“System.Management.Automation.PSSnapIn

我通过 PowerShell 远程连接到 Nano server 2016。当我尝试导入模块时,出现错误Could not load type 'System.Management.Automation.PSSnapIn' from assembly 'System.Management.Automation, Version=3.0.0.0

0 投票
1 回答
505 浏览

c# - Windows 窗体中的 System.Management 实现不起作用

使用 Visual Studios RC 2017,将其模板用于 .NET Windows 窗体应用程序

尝试从我的计算机中获取 USB 设备列表,并将其粗略地粘贴到学校项目的 rTextbox 中,使用 System.Management 中名为“GetUSBDevices()”的函数。

尝试使用我知道System.Management 具有的功能来执行此操作,并且该功能在 Visual Studios C# 控制台应用程序模板中使用时有效,并且由于某种原因它无法识别参考...

我试过了:

  • 通过解决方案资源管理器添加 System.Management 作为参考

  • 重新安装 System.Management 参考

  • 直接从库中调用函数 [ System.Management.GetUSBDevices(); ]

到目前为止没有任何效果......

不起作用的代码:

给出的错误是:

错误 CS1579 foreach 语句无法对“?”类型的变量进行操作 因为 '?' 不包含 'GetEnumerator' Manager c:\users*****\documents\visual studio 2017\Projects\Manager\Manager\Form1.cs 40 的公共定义

有效的代码(取自获取已连接 USB 设备的列表 并经过个人测试,可在我的 PC 上正常工作)

非常感谢我在这件事上能得到的任何帮助,所以它会起作用的!

0 投票
1 回答
42 浏览

c# - 如何在 .NET 中将 cmdlet 作为参数值传递

如何在 C# 中将 cmdlet 作为参数值传递?换句话说,下面的 .NET 等价物是什么?

我有以下代码:

但是,字符串“(Some-Cmdlet)”被逐字传递。它不被解释。我也试过:

不幸的是,它给出了相同的结果。它似乎是在调用ToString()对象Command,而不是评估它。