Shutdown удаленная перезагрузка компьютера
Несколько замечаний от любителя
1)В Вашем варианте после префикса «WinMgmts:» в моникере WMI используется такой параметр безопасности как уровень олицетворения DCOM (DCOM Impersonation Level) «WinMgmts:». Проще использовать назначенные или отозванные привилегии, например, «WinMgmts:<(Shutdown, !RemoteShutdown)>» в нашем случае «WinMgmts:»
2)Вы пытаететь работать с пространством имен по умолчанию, которое извлекается из подраздела HKEY_LOCAL_MACHINESOFTWAREMicrosoftWBEMScriptingDefault Namespace. В нашем случае таким пространством является RootCIMV2.
Тогда вот это:
set objWMIService = GetObject(«winmgmts:» & «!\.rootcimv2») можно смело сократить до вот этого:
set objWMIService = GetObject(«winmgmts:»),
т.к. ваш случай больше подходит для перезагрузки удаленных станций.
Я бы понял такой вариант:
objWMIService = GetObject(«winmgmts:» & «!\VPUPKIN_COMProotcimv2». Но зачем так много писать для локального компа?
3)ObjOperatingSystem.Win32Shutdown(1) выключит машину, а не перезагрузит/ Либо параметр (2) либо ObjOperatingSystem.Reboot()
Log Off — objOperatingSystem.Win32Shutdown(0)
Forced Log Off — objOperatingSystem.Win32Shutdown(0 + 4)
Shutdown — objOperatingSystem.Win32Shutdown(1)
Forced Shutdown — objOperatingSystem.Win32Shutdown(1 + 4)
Reboot — objOperatingSystem.Win32Shutdown(2)
Forced Reboot — objOperatingSystem.Win32Shutdown(2 + 4)
Power Off — objOperatingSystem.Win32Shutdown(8)
Forced Power Off — objOperatingSystem.Win32Shutdown(8 + 4)
4)Ваш вариант на Windows 7 вместо перезагрузки выдаст лаконичное «Privilege not Held»
Этот вариант будет работать и на семерке и на XP:
set objWMIService = GetObject(«winmgmts:»)
set colSoftware = objWMIService.ExecQuery(«Select * from Win32_OperatingSystem»)
for each objSoftware in colSoftware
objSoftware.Win32Shutdown(2)
next
Вот еще варианты на VBS с запросом подтверждения выполнения действия
—————————————————————
Message=»Вы хотите заверить сеанс пользователя?»
YesNo = MsgBox(Message, vbYesNo)
If YesNo = vbYes Then
Set objWMIService = GetObject(«winmgmts:»)
Set colOperatingSystems = objWMIService.ExecQuery («Select * from Win32_OperatingSystem»)
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Win32Shutdown(0)
Next
End if
—————————————————————
Message=»Вы хотите выключить компьютер?»
YesNo = MsgBox(Message, vbYesNo)
If YesNo = vbYes Then
Set objWMIService = GetObject(«winmgmts:»)
Set colOperatingSystems = objWMIService.ExecQuery («Select * from Win32_OperatingSystem»)
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Win32Shutdown(1)
Next
End if
——————————————————————
Message=»Вы хотите перезагрузить компьютер?»
YesNo = MsgBox(Message, vbYesNo)
If YesNo = vbYes Then
Set objWMIService = GetObject(«winmgmts:»)
Set colOperatingSystems = objWMIService.ExecQuery («Select * from Win32_OperatingSystem»)
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Reboot()
Next
End If
А как из командной строки под ХР запустить е-майл?
Win 98 было — start mailto:test@mail.ru?subject=трялялля
Спасибо, действительно нужная инфа. Вот только я пару лет назад озадачился этим же для Windows 98, хочу еще пару способов для Windows 98 указать, вдруг еще кому пригодится 🙂 .
Перезагрузка RUNDLL32.EXE shell32.dll,SHExitWindowsEx 2
Выключение RUNDLL32.EXE shell32.dll,SHExitWindowsEx 1
И на VB script выключение
Dim objShell
set objShell = CreateObject(«Shell.Application»)
objShell.ShutdownWindows
set objShell = nothing
Примеры использования утилиты shutdown
Если запустить утилиту shutdown с параметром /i, то на эране увидите примерно следующее (актуально для Windows 7):
При использовании отложенной перезагрузки:
Получим следующее уведомление на экране:
Если вы желаете отменить намеченную перезагрузку, то используйте команду:
Как завершить работу через cmd?
- Запустите командную строку Windows.
- Выполните следующую команду: shutdown /s /t 60 и система будет выключена через одну минуту (именно за это отвечает ключ /t с количеством секунд задержки — 60).
Команда shutdown
shutdown.exe -r -f -t 20 -c «Без паники компьютер будет перезагружен через 20 сек.»
Справка:
shutdown /?
Использование: shutdown [-i | -l | -s | -r | -a] [-f] [-m \]
[-t xx] [-c «комментарий»] [-d up:xx:yy]
Без аргументов Вывод справки по использованию (как и -?)
-i Отображение интерфейса, д.быть первым параме
-l Выход (не совместим с параметром -m)
-s Завершение работы компьютера
-r Перезагрузка компьютера
-a Прекращение завершения работы системы
-m \ Удаленный компьютер, на котором выполняется
действие
-t xx Таймаут завершения работы — xx сек.
-c «comment» Комментарий (не более 127 знаков)
-f Принудительное завершение приложений без
предварительного предупреждения
-d [u][p]:xx:yy Код причины завершения работы
u — пользовательский код
p — код запланированного завершения
xx — основной код причины (1 — 255)
yy — дополнительный код причины (1 — 65535)
Перезагрузка Windows через командную строку — Как перезагрузить компьютер из командной строки
Или «как перезагрузить компьютер из командной строки» Для перезагрузки через удаленный рабочий стол под Windows XP/Vista/7 можно выполнить команду: shutdown -t 0 -r -f
Параметры: -t 0 означает перезагрузка в течении «ноль» секунд,
-r перезагрузка а не выключение (reboot)
-f завершает все запущенные приложения (force, форсированное выключение с принудительным завершением программ)
Немедленная перезагрузка через командную строку:
Немедленное выключение через командную строку:
Команда shutdown
shutdown.exe -r -f -t 20 -c «Без паники компьютер будет перезагружен через 20 сек.»
Справка:
shutdown /?
Использование: shutdown [-i | -l | -s | -r | -a] [-f] [-m \]
[-t xx] [-c «комментарий»] [-d up:xx:yy]Без аргументов Вывод справки по использованию (как и -?)
-i Отображение интерфейса, должен быть первым параметром
-l Выход (не совместим с параметром -m)
-s Завершение работы компьютера
-r Перезагрузка компьютера
-a Прекращение завершения работы системы
-m \ Удаленный компьютер, на котором выполняется
действие
-t xx Таймаут завершения работы — xx сек.
-c «comment» Комментарий (не более 127 знаков)
-f Принудительное завершение приложений без
предварительного предупреждения
-d [u][p]:xx:yy Код причины завершения работы
u — пользовательский код
p — код запланированного завершения
xx — основной код причины (1 — 255)
yy — дополнительный код причины (1 — 65535)
Как выключить Windows через командную строку
Ниже приведен синтаксис команды shutdown:
shutdown OPTIONS COMPUTER COMMENT
- OPTIONS используется для различных типов параметров, таких как перезагрузка, выход из системы и т. д.
- COMPUTER используется, когда нужно запустить команду выключения на удаленном компьютере
- COMMENT используется с функцией комментариев, чтобы отобразить сообщение
Выключение компьютера из командной строки
Основная цель команды shutdown — выключение компьютера из командной строки Windows. Простого предоставления команд выключения недостаточно. Чтобы выключить системы необходимо выполнить команду с параметром /s.
Перезагрузка компьютера из командной строки
Мы также можем перезапустить компьютер с помощью команды shutdown. Для перезагрузки системы нужно запустить команду с параметром /r. Это выключит и перезагрузит компьютер.
Выход из текущей сессии
Если мы вошли в систему, нам может потребоваться выйти из текущего сеанса. Для выхода из текущего сеанса пользователя мы надо использовать параметр /l.
Прервать выключение системы из командной строки
По умолчанию при выполнении команды выключения компьютер не выключается сразу. Время ожидания до полного отключения составляет 60 секунд. За это время с помощью параметра /a можно прервать процесс выключения компьютера.
Режим гибернации из командной строки Windows
Гибернация — энергосберегающий режим, на позволяет сохранять содержимое оперативной памяти перед выключением питания. В отличие от ждущего режима, при использовании Гибернации подача электроэнергии полностью прекращается. Можно перевести компьютер в спящий режим Гибернации с помощью параметра /h, как показано ниже.
Отправка сообщения пользователям системы
Типичный сервер будет использоваться более чем одним человеком. Там могут быть другие пользователи, которые используют сервер в настоящее время. В таком случае может потребоваться послать уведомление о выключении или перезагрузке системы. Сделать это можно добавив параметр /c. Сообщение будет заключено в двойные кавычки. Ниже пример выполнения команды.
shutdown / s / c «Компьютер будет выключен через 60 секунд.»
Время или интервал для выключения и перезапуска
Интервал или время отключения по умолчанию может быть достаточно для нас или других пользователей компьютера и системы. Мы можем указать нужный нам интервал с параметром /t и значением времени. В этом примере мы укажем время ожидания 120 секунд для завершения работы. Объединение этой опции с отправкой сообщения будет очень полезным.
shutdown / s / t 120 / c «Выключение через 120 секунд»