3

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

我读过你应该避免Get-WmiObject在 PowerShell 中使用,Get-CimInstance而是使用。现在应该在 .Net Core 中使用什么(哪个 Nuget/库)来查询这些信息?

4

1 回答 1

2

您可以使用适用于 .NET Core 的 Windows 兼容包(文章nuget),它使您可以访问许多仅限 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.Management 。基础设施/

希望这可以帮助。

于 2020-03-05T17:27:21.167 回答