Недокументированные и малоизвестные возможности Windows XP
Шрифт:
• 0 — успешное завершение;
• 2 — пользователь не имеет доступа к запрашиваемым данным;
• 3 — у пользователя нет достаточных привилегий;
• 8 — неизвестная ошибка;
• 9 — пользователь не имеет необходимых привилегий;
• 21 — указан недопустимый параметр.
Несмотря на то, что при вызове данного метода был использован только один параметр, на самом деле для работы с ним нужны четыре параметра. Во-первых, это путь к файлу, который будет вызван (в данном случае применялся только этот параметр). Во-вторых, это путь к каталогу, который должен использовать-ся вызываемым
■ Terminate — прекращает процесс и все его дочерние процессы.
■ GetOwner — возвращает учетную запись пользователя, от имени которого был запущен процесс, а также домен, к которому он принадлежит.
■ GetOwnerSid — возвращает SID пользователя, от имени которого был запущен процесс.
■ SetPriority — устанавливает приоритет выполнения определенного процесса.
■ AttachDebugger — вызывает отладчик данного процесса.
ПРИМЕЧАНИЕ
За более детальной информацией обращайтесь к файлу cimwin32.mfl, расположенному в каталоге %systemroot%\SYSTEM32\wbem.
Выключение, перезагрузка компьютера, завершение сеанса пользователя
С помощью инструментария WMI можно выключить удаленный или локальный компьютер, перезагрузить его или завершить сеанс текущего пользователя. Рассмотрим пример завершения сеанса текущего пользователя на локальном компьютере (если у вас есть удаленный компьютер, то при подключении к пространству имен вместо точки необходимо указать его имя). Особенность данного примера состоит в другом способе подключения к классу — с помощью базы данных CIMOM.
Как правило, администраторы локального компьютера обладают правами на завершение сеанса. Другие же действия по умолчанию возможны от имени системы.
Кроме метода Win32 Shutdown, класс Win32_OperatingSystem описывает еще три метода. Если вызывающий процесс обладает правом SE_SHUTDOWN_NAME, то выполняются следующие действия.
■ Reboot — компьютер будет перезагружен. Метод не имеет параметров, но при успешном выполнении возвращает 0.
■ Shutdown — компьютер будет выключен. Метод не имеет параметров, но при успешном выполнении возвращает 0.
■ SetDateTime — будет установлено системное время компьютера. Данный метод для своей работы требует один параметр, определяющий новое время, которое нужно установить (имеет тип DateTime, имеющий довольно странный формат, например установка параметра равным "00000000000000.000000:000" обнуляет время).
Получение сведений об установленных на компьютере программах
Это еще одна интересная возможность WMI, которой можно воспользоваться. Другими словами, можно удаленно узнавать о том, установлена ли на компьютере какая-либо программа, когда она была установлена, а также просмотреть весь список установленных на компьютере программ. Для примера попробуем создать текстовый файл, содержащий сведения об установленных на компьютере программах, их описании, а также дате установки. В приведенном ниже коде будет использоваться еще одна возможность WMI — получение сведений непосредственно из ее базы данных.