Итак, я столкнулся с той же проблемой.Чтобы добавить к этому, Windows.Management.Instrumentation недоступен в .NET Core, но Microsoft.Management.Infrastructure - это.
С помощью большого количества поисков в Google я наконец нашел варианты, которые работают.Кажется, что для настройки локального сеанса вы должны использовать параметры сеанса DCOM.
Вот код, который работал для меня:
var sessionOptions = new DComSessionOptions
{
Timeout = TimeSpan.FromSeconds(30)
};
var cimSession = CimSession.Create("localhost", sessionOptions);
var volumes = cimSession.QueryInstances(@"root\cimv2", "WQL", "SELECT * FROM Win32_Volume");
foreach (var volume in volumes)
{
Console.WriteLine(volume.CimInstanceProperties["Name"].Value);
}