WMI 已弃用:现在如何从 .Net Core 查询?

问题描述 投票:0回答:2

我在这里读到 Microsoft 正在弃用 WMI 。我需要在 .NET Core 中启动一个项目并从 Windows 查询信息,例如

Win32_OperatingSystem
Win32_LogicalDisk

我读到您应该在 PowerShell 中避免使用

Get-WmiObject
并使用
Get-CimInstance
来代替。现在应该在 .Net Core 中使用什么(哪个 Nuget/库)来查询此类信息?

windows .net-core wmi cim
2个回答
6
投票

您可以使用 .NET Core 的 Windows 兼容包(articlenuget),它使您可以访问许多仅限 Windows 的 API,但限制您的应用程序只能在 Windows 上运行,这可能不是您担心的事情关于。此兼容包也称为平台扩展。有了这个,您需要学习如何使用

System.Management
命名空间中的类(API Ref示例代码 1示例代码 2)。继续探索 API 的示例。

另外,貌似微软有一个比较新的类似CIM的跨平台开源系统。虽然显然并不是 WMI 中提供的所有功能都可用,所以您的情况会有所不同:https://www.nuget.org/packages/Microsoft.Management/https://www.nuget.org/packages/ Microsoft.管理.基础设施/

希望这有帮助。


0
投票

我个人使用过https://github.com/MartinKuschnik/WmiLight,它的效果就像margic!

© www.soinside.com 2019 - 2024. All rights reserved.