Перейти на главную страничку сайта (список статей, файлы для скачивания)
Примеры кода в статье приводятся на языке VBScript для административных сценариев Windows.
Вот некоторые методы класса Win32_OperatingSystem, позволяющие управлять сеансом пользователя:
Метод | Описание |
---|---|
Reboot() | Перезагружает компьютер. Для выполнения метода нужна привилегия SeShutdownPrivilege. Возвращает 0 (в случае успеха) или код ошибки. |
SetDateTime(LocalDatetime) | Устанавливает текущее системное время на компьютере, переданное в единственном параметре. Для выполнения метода нужна привилегия SeSystemtimePrivilege. Возвращает 0 (в случае успеха) или код ошибки. |
Shutdown() | Выгружает все программы и библиотеки и безопасно выключает компьютер. Для выполнения метода нужна привилегия SeShutdownPrivilege. Возвращает 0 (в случае успеха) или код ошибки. |
Win32Shutdown(Flags) | Обеспечивает полный набор вариантов завершения, поддерживаемых Win32 операционными системами. Для выполнения
метода нужна привилегия SeShutdownPrivilege. Возвращает 0 (в случае успеха) или код ошибки. Возможные значения
параметра Flags:
|
Следующий сценарий демонстрирует возможность перезагрузки, выключения или Log Off указанного компьютера. Перед запуском раскомментируйте один из вызовов (Reboot, Shutdown или Win32Shutdown).
CompName = "." 'точка - текущий компьютер; сюда можно подставить любое сетевое имя компьютера Set objService = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}!\\" & CompName & "\root\CIMV2") If Err.Number <> 0 Then WScript.Echo Err.Number & ": " & Err.Description WScript.Quit End If For Each objOS In objService.ExecQuery("SELECT * FROM Win32_OperatingSystem") Exit For Next 'objOS.Reboot 'перезагрузка 'objOS.Shutdown 'выключение 'objOS.Win32Shutdown 0 'Log Off If Err.Number <> 0 Then WScript.Echo Err.Number & ": " & Err.Description WScript.Quit End If
Следующий сценарий устанавливает системное время указанного компьютера.
CompName = "." 'точка - текущий компьютер; сюда можно подставить любое сетевое имя компьютера Set objService = GetObject("winmgmts:{impersonationLevel=impersonate,(Systemtime)}!\\" & CompName & "\root\CIMV2") If Err.Number <> 0 Then WScript.Echo Err.Number & ": " & Err.Description WScript.Quit End If For Each objOS In objService.ExecQuery("SELECT * FROM Win32_OperatingSystem") Exit For Next '11 июня 2005 г., время 20:40:00 для пояса +4 часа от Гринвича objOS.SetDateTime "20050611204000.000000+240" If Err.Number <> 0 Then WScript.Echo Err.Number & ": " & Err.Description WScript.Quit End If
Людоговский Александр
Перейти на главную страничку сайта (список статей, файлы для скачивания)
© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.