Показать сообщение отдельно
  #9  
Старый 29.11.2013, 11:26
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Lord_Vlad
poli-smen, спасибо!

Проверил на двух машинках:
- недоменный ноут, Win7 x64, учетка админа, с правами админа - ответ пустой;
- доменный комп, Win7 x64, учетка админа, с правами админа - ответ есть!

Вот теперь вопрос перерос в "как это так?!"
У меня ситуация оказалась противоположная - вчера на домашнем Windows7 нормально работало, а сегодня на доменном (и Win7 и WinXP) выдаёт пустой ответ. В ходе экспериментов оказалось, что если в запросе перечислить только нужные поля (вместо выбора всех указанием символа "*"), то на Win7 (доменном) начинает работать (под админом естественно), а под WinXP (тоже доменным) всё также возвращает пусто. Нужно дальше копать...

p.s. Я уже давно заметил, что WMI весьма глючная вещь, но иногда без неё не обойтись. Например выключить или перезагрузить удалённый компьютер можно через API-функцию InitiateSystemShutdown, но я так и не нашёл как можно через API завершить сеанс пользователя (LogOff) на удалённом компьютере, а с WMI можно через класс "Win32_OperatingSystem" методом "Win32Shutdown(EWX_LOGOFF, 0)". Или например прочитать серийный номер BIOS на удалённом компьютере через класс "Win32_BIOS.SerialNumber" (у нас поставщик компьютеров вшивает в BIOS каждого компьютера уникальный серийный номер, что весьма помогает при инвентаризации).
Ответить с цитированием