Перезагрузка компьютера

Типичные администраторские сценарии WMI

Мы рассмотрим несколько простых сценариев WMI, которые могут оказаться полезными при решении определенной задачи администратора Windows (удаленное управление работой рабочих станций, централизованная инвентаризация установленного на компьютерах оборудования и т. д.). Поняв принцип их работы, можно по аналогии составлять сценарии, работающие с другими компонентами информационной системы (естественно, при этом нужно знать, какие именно объекты WMI соответствуют тому или иному компоненту системы, и какие свойства и методы этих объектов следует задействовать в сценарии).

Управление компьютером

В листингах 13.1–13.3 приведены сценарии, которые с помощью соответствующих методов класса Win32_OperatingSystem позволяют принудительно завершить сеанс активного пользователя, перезагрузить или выключить компьютер.

Завершение сеанса пользователя

Для завершения сеанса активного пользователя необходимо вызвать метод Win32Shutdown объекта Win32_OperatingSystem (листинг 13.1).

'*******************************************************************

' Имя: LogOff.vbs

' Язык: VBScript

' Описание: Завершение сеанса пользователя

'*******************************************************************

Option Explicit

 

' Объявляем переменные

Dim strComputer ' Имя компьютера

Dim strNamespace ' Имя пространства имен

Dim strClass ' Имя класса

Dim objClass ' Объект SWbemObject (класс WMI)

Dim colInstances ' Коллекция экземпляров класса WMI

Dim objInstance ' Элемент коллекции

 

'********************** Начало *************************************

' Присваиваем начальные значения переменным

strComputer = "."

strNamespace = "Root\CIMV2"

strClass = "Win32_OperatingSystem"

 

' Получаем указатель на класс WMI

Set objClass = GetObject("WinMgmts:\\" & strComputer & _

"\" & strNamespace & ":" & strClass)

' Создаем коллекцию экземпляров класса Win32_OperatingSystem

Set colInstances = objClass.Instances_

 

' Перебираем элементы коллекции

For Each objInstance In colInstances

' Выводим на экран предупреждение

WScript.Echo "На компьютере " & objInstance.CSNAME & VbCrLf &_

"сеанс текущего пользователя будет завершен "

' Для каждого экземпляра вызываем метод Win32Shutdown

objInstance.Win32Shutdown(0)

Next

'************************* Конец ***********************************

Листинг 13.1. Завершение сеанса пользователя

Перезагрузка компьютера

Для перезагрузки компьютера необходимо использовать метод Reboot объекта Win32_OperatingSystem (листинг 13.2). При этом при подключении к подсистеме WMI необходимо указать дополнительные привилегии Shutdown (для перезагрузки локального компьютера) и RemoteShutdown (для перезагрузки удаленного компьютера).

'*******************************************************************

' Имя: Reboot.vbs

' Язык: VBScript

' Описание: Перезагрузка компьютера

'*******************************************************************

Option Explicit

 

' Объявляем переменные

Dim strComputer ' Имя компьютера

Dim strNamespace ' Имя пространства имен

Dim strClass ' Имя класса

Dim objClass ' Объект SWbemObject (класс WMI)

Dim colInstances ' Коллекция экземпляров класса WMI

Dim objInstance ' Элемент коллекции

 

'********************** Начало *************************************

' Присваиваем начальные значения переменным

strComputer = "."

strNamespace = "Root\CIMV2"

strClass = "Win32_OperatingSystem"

 

' Получаем указатель на класс WMI

Set objClass = GetObject("WinMgmts:{(Shutdown,RemoteShutdown)}!\\" &_

strComputer & "\" & strNamespace & ":" & strClass)

' Создаем коллекцию экземпляров класса Win32_OperatingSystem

Set colInstances = objClass.Instances_

 

' Перебираем элементы коллекции

For Each objInstance In colInstances

' Выводим на экран предупреждение

WScript.Echo "Компьютер " & objInstance.CSNAME &_

" будет перезагружен "

' Для каждого экземпляра вызываем метод Reboot

objInstance.Reboot()

Next

'************************* Конец ***********************************

Листинг 13.2. Перезагрузка компьютера

<== предыдущая лекция | следующая лекция ==>
Соединение посредством моникера WMI | Вывод информации о BIOS


Дата добавления: 2018-03-01; просмотров: 84; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию, введите в поисковое поле ключевые слова и изучайте нужную вам информацию.

Поделитесь с друзьями:

Если вам понравился данный ресурс вы можете рассказать о нем друзьям. Сделать это можно через соц. кнопки выше.
helpiks.org - Хелпикс.Орг - 2014-2018 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.011 сек.