Почему WMI работает через поиск, а не напрямую?

Спасибо Riddhi M. После этого работал для меня.

Удалить временные файлы C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Временные файлы ASP.NET Закрыть VSTS и открыть снова Удалить и добавить те же DLL (Примечание: вы добавляете одинаковые совпадающие версии)

0
задан ispiro 26 February 2019 в 19:09
поделиться

3 ответа

К сожалению, вы не можете создать экземпляр объекта, используя свойство, которое не является ключевым свойством. Свойство ключа в WMI - это свойство, которое имеет квалификатор CIM_Key , документация WMI более подробно описывает Key Qualifier . Для получения дополнительной информации о требовании WMI об использовании полного пути с ключом для ссылки на объект вы можете прочитать документацию WMI о Пути объекта экземпляра .

В C # для определенного класса, который вы указали (Win32_EncryptableVolume), вы можете выполнить то, что пытаетесь сделать, используя ManagementObjectSearcher, как показано в вашем примере. Это потому, что вы пытаетесь получить экземпляр на основе стандартного свойства, а не ключевого свойства.

Отличной утилитой для изучения WMI является WMI Explorer 2.0. Это дает отличное визуальное представление классов WMI. В этой утилите ключевые свойства помечены звездочкой.

https://github.com/vinaypamnani/wmie2/releases

0
ответ дан Paul G 26 February 2019 в 19:09
поделиться

Похоже, вы не вызываете Get() метод. Попробуйте это:

ManagementObject classInstance2 = new ManagementObject("root\\CIMV2\\Security\\MicrosoftVolumeEncryption", "Win32_EncryptableVolume.DriveLetter='E:'", null);
classInstance2.Get();
classInstance2.InvokeMethod("Lock", new object[] { 0 });

Ознакомьтесь с этой документацией: https://docs.microsoft.com/en-us/windows/desktop/wmisdk/retrieving-an-instance [114 ]

0
ответ дан NicoRiff 26 February 2019 в 19:09
поделиться

Я просто предположу, что правильный ответ похож на то, что упоминали другие, но не совсем.

На странице класса упоминается, что DeviceID имеет следующее свойство:

Квалификаторы: Ключ

Я полагаю, из-за отсутствия фактическая документация, что поиск чего-либо по их ключу возвращает саму вещь. При поиске по чему-то еще возвращается список объектов, удовлетворяющих этому условию. Даже если список содержит только 1 запись - это не сам объект, а список.

Но если бы кто-то мог предоставить какую-то документацию, это было бы неплохо.

0
ответ дан ispiro 26 February 2019 в 19:09
поделиться