我在这里读到微软正在弃用 WMI。我需要在 .NET Core 中启动一个项目并从 Windows 查询信息,例如Win32_OperatingSystem
或Win32_LogicalDisk
.
我读过你应该避免Get-WmiObject
在 PowerShell 中使用,Get-CimInstance
而是使用。现在应该在 .Net Core 中使用什么(哪个 Nuget/库)来查询这些信息?
我在这里读到微软正在弃用 WMI。我需要在 .NET Core 中启动一个项目并从 Windows 查询信息,例如Win32_OperatingSystem
或Win32_LogicalDisk
.
我读过你应该避免Get-WmiObject
在 PowerShell 中使用,Get-CimInstance
而是使用。现在应该在 .Net Core 中使用什么(哪个 Nuget/库)来查询这些信息?
您可以使用适用于 .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 。基础设施/
希望这可以帮助。