WMI устарел: как запросить. Net Core сейчас? - PullRequest
3 голосов
/ 05 марта 2020

Я прочитал здесь, что Microsoft устарела WMI . Мне нужно начать проект в. NET Ядро и запросить информацию из Windows, например Win32_OperatingSystem или Win32_LogicalDisk.

Я читал, что вам следует избегать Get-WmiObject в PowerShell и использовать вместо него Get-CimInstance. Что (какая Nuget / библиотека) должна использоваться в. Net Core сейчас, чтобы запрашивать такую ​​информацию?

1 Ответ

2 голосов
/ 05 марта 2020

Вы можете использовать пакет совместимости Windows ( статья , nuget ) для. NET Ядро, которое дает вам доступ ко многим Windows только API, но ограничивает ваше приложение для запуска только на Windows, вероятно, не то, что вас беспокоит. Этот пакет совместимости также известен как расширения платформы. При этом вам нужно будет научиться использовать классы в пространстве имен System.Management ( API Ref , пример кода 1 , пример кода 2 ). Продолжайте изучать API для примеров.

Кроме того, похоже, что существует более новая кроссплатформенная система с открытым исходным кодом, аналогичная CIM, разработанная Microsoft. Хотя, очевидно, не все, что доступно в WMI, доступно с этим, поэтому ваш пробег будет варьироваться: https://www.nuget.org/packages/Microsoft.Management.Infrastructure/

Надеюсь, это поможет.

...