Удаленная перезагрузка компьютера через командную строку

Удаленная перезагрузка компьютера через командную строку

Restart-Computer перезагрузка компьютера из PowerShell

Restart-Computer перезагрузка компьютера из PowerShell

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов рунета Pyatilistnik.org. В прошлый раз мы с вами разбирали перезагрузку сервера из командной строки, в данной публикации я хочу вас научить обычной и удаленной перезагрузке компьютера средствами PowerShell, который прочно вошел в нашу жизнь. Уверен, что вы сами сможете определить себе сценарии, которые сможете использовать в своей практике.

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

Открываем окно PowerShell в режиме администратора и знакомимся с командлетом Restart-Computer.Первое, что я вам советую сделать, это ознакомиться со справкой командлета, для этого введите:

Для того, чтобы была выполнена локальная перезагрузка компьютера, вам достаточно ввести данный командлет:

Как видим компьютер уходит в перезагрузку.

Так же можно использовать команду с добавлением ключа -ComputerName

Тут так же будет выполнена перезагрузка компьютера, хочу отметить, что localhost означает локальный компьютер, но вам никто не мешает тут ввести и имя локального компьютера.

Удаленная перезагрузка компьютера

Как я и говорил ранее PowerShell, это прекрасный инструмент по удаленному управлению компьютерами, серверами и службами. Предположим, что у меня есть RDS ферма состоящая из 10 серверов с Windows Server 2019. Мне необходимо произвести обслуживание четырех серверов, для этого я перевожу их в режим стока (Drain Mode) чтобы отсечь новые подключения, и рассылаю уведомление сотрудникам, через msg, чтобы сотрудники перелогинились. После я начинаю обслуживать данные системы, когда я заканчиваю, то мне необходимо их перезагрузить. Для этого мы воспользуемся вот такой конструкцией:

После выполнения команды компьютер уходит в перезагрузку, если этого не произошло, то вы с большой вероятностью получите ошибку:

+ CategoryInfo : OperationStopped: (w10-cl02:String) [Restart-Computer], InvalidOperationException
+ FullyQualifiedErrorId : RestartcomputerFailed,Microsoft.PowerShell.Commands.RestartComputerCommand

Restart-Computer : Не удалось перезагрузить компьютер w10-cl03 со следующим сообщение об ошибке: Невозможно инициировать завершение работы системы, так как компьютер используется другими пользователями.
строка:1 знак:1
+ Restart-Computer -ComputerName w10-cl02, w10-cl03
+

Читайте также:  Заблокировать ip через htaccess

+ CategoryInfo : OperationStopped: (w10-cl03:String) [Restart-Computer], InvalidOperationException
+ FullyQualifiedErrorId : RestartcomputerFailed,Microsoft.PowerShell.Commands.RestartComputerCommand


Тут вся загвоздка в том, что за компьютерами остались активные сессии работающих пользователей, именно в интерактивном режиме. В таких случаях, если они не вышли и не реагируют на ваши сообщения, вы можете принудительно произвести перезагрузку компьютера с чистой совестью. Для этого можно использовать ключ -Force, в результате PowerShell конструкцию будет выглядеть таким образом:

Как видим команда успешно отработала и была произведена перезагрузка компьютера.

Если вы хотите перезагрузить удаленный компьютер от имени определенного пользователя, то данный командлет вам это позволит сделать. Для этого введите:

В результате у вас появится окно для ввода пароля пользователя, указываем его и нажимаем "Ok". Кстати если на удаленном компьютере, который требуется перезагрузить, будет активная сессия пользователя в интерактивном режиме, то вам так же выскочит ошибка, что "компьютер используется другими пользователями" и вам нужно будет добавлять ключик -Force:

В логах Windows на тех компьютерах, в журнале система, вы сможете обнаружить событие с кодом ID 1074(/kak-uznat-kto-perezagruzil-server-windows/), в котором вы увидите, кто перезагрузил систему:

Предположим, что у вас есть список компьютеров, которые требуется удаленно перезагрузить. В такой ситуации сам Бог велел использовать PowerShell. Структура файла выглядит очень просто, обычный текстовый документ, формата txt. На каждой строке по одному имени компьютера, без запятых. Я положил его в корень диска C:.


Для того, чтобы прочитать данный файл есть командлет Get-Content и конструкция команды принимает вот такой вид:

В итоге удаленная перезагрузка компьютера через PowerShell успешно отработала и все системы из файла обслужены.


Перезагрузка компьютера с задержкой по времени

Еще очень частая ситуация, это перезапуск компьютера, но через определенное время, предположим, через 60 секунд, чтобы какие-то другие вещи успели отработать, очень часто применяется в сценариях и скриптах. Для выполнения это задачи есть командлет Start-Sleep. Пишем команду:

В ключе -Seconds вы задаете время в секундах.


так же у вас есть возможность определить механизм, который используется для аутентификации учетных данных пользователя. Этот параметр был введен в Windows PowerShell 3.0. Называется этот ключ -WsmanAuthentication. На выбор у вас будет пять вариантов: Basic, CredSSP, Default, Digest, Kerberos и Negotiate.

Читайте также:  Делают ли дубликат ключа от домофона

В моем примере я буду использовать проверку подлинности Kerberos, напоминаю, что для этого у вас на удаленных компьютерах должна быть настроена служба WinRM и политика, определяющая с каких ip-адресов вы можете производить подключение к ней. В итоге команда принимает такой вид:

После ее выполнения удаленные компьютеры уходят в перезагрузку.

Скрипт PowerShell для перезагрузки по расписанию

Предположим, что вам нужно перезагрузить компьютер по расписанию, это можно сделать и групповыми политиками, а так же и через задачу по расписанию, актуально для компьютеров не в домене. Вы в задаче подкладывает ваш скрипт PowerShell, чтобы выполнять его в нужное время, но с уведомлением человека. Ниже текст скрипта.

$wshell.Popup("Данный компьютер будет перезагружен",10,"Сохраните свои данные",0x0)

$wshell.Popup("Перезагрузка будет через 30 секунд",2,"Не забудьте сохранить данные",0x0)

Restart-Computer -ComputerName w10-cl01

Еще бонусом перезагрузка локального компьютера может быть выполнена и с помощью WMI. Для этого в оболочке PowerShell введите;

Задача стоит довольно простая, но часто требуемая в жизни.

Нужно перезагрузить удаленно с помощью командной строки компьютер пользователя по сети.

Для этого мы воспользуемся командой runas и shutdown.

Перезагрузка по сети usercomp будет выглядеть так:

shutdown -r -f -t 0 -m \usercomp

Что означают параметры:
-r — компьютер будет перезагружен
-f — принудительное завершение открытых программ.
-t 0 — время ожидания в секундах, 0 — немедленно.
-m — удалённый компьютер по сети.

В случае выполнения от имени пользователя можно запустить команду с помощью runas:

runas /user:Administrator "shutdown -r -f -t 0 -m \ usercomp "

На этом все, желаю успехов!

Разное

Если Вы хотите обменяться ссылками со мной между сайтами — пишите в контактах

Способ перезагрузки Dedicated зависит от того, есть ли связь с удаленным сервером. В статье расскажем о двух основных методах: программном и аппаратном. Разберемся, как перезагрузить сервер, который идет на контакт (через консоль). И как перезапустить сервер, который не отвечает (через IPMI).

Вам стоит перезагружать сервер, если:

  • завис терминал или визуальный интерфейс для работы с сервером;
  • работает с ошибками;
  • нужно войти в BIOS.

Перезагрузка сервера может вызвать потерю данных. Чтобы этого не произошло, завершите все работающие программы и не начинайте перезагрузку до окончания установки или удаления ПО.

Различают программную и аппаратную перезагрузку.

Читайте также:  Обзор видеокарты gtx 560

Программная перезагрузка

Программная перезагрузка подойдет для решения локальных проблем. Например, когда несколько программ работает неверно или без обновления системы не будут закончены установка/удаление ПО. Программная перезагрузка выполняется вводом нескольких команд в консоли или командной строке. Однако этот метод сработает, только если сервер доступен.

Как перезагрузить Linux-сервер через консоль?

Чтобы запустить программную перезагрузку сервера через консоль, достаточно подключиться к серверу под root-пользователем и ввести одну из трех команд:

Подробнее в статье Как перезагрузить сервер Linux. Если вас интересует вопрос, как перезапустить сервер Windows, читайте дальше.

Как перезагрузить Windows-сервер через командную строку?

Windows-серверы перезагружаются аналогично серверам с Linux.

Подключитесь к серверу под root-пользователем и введите команду.

Также можно воспользоваться стандартной оболочкой PowerShell. Просто введите командлет.

Restart-Computer имя компьютера

Если программная перезагрузка пошла не по плану, попробуйте воспользоваться аппаратным способом.

Аппаратная перезагрузка

Аппаратная перезагрузка применяется, когда сервер находится вне зоны доступа. В этом случае можно прибегнуть в перезагрузке по питанию (физическому перезапуску оборудования). Для этого необязательно ехать в ДОЦ, можно удаленно воспользоваться IPMI. Этот интерфейс используется для доступа к питанию настройкам BIOS сервера. В нем вы можете управлять конфигурацией сервера.

Как перезагрузить сервер удаленно с помощью IPMI/KVM

Рассмотрим перезагрузку через IPMI на примере интерфейса renter.ru.

Чтобы перезагрузить сервер аппаратно, авторизуйтесь в личном кабинете. Перейдите в раздел “Товары/Услуги“ — “Выделенные серверы”. Выберите нужный сервер и нажмите Перейти.

В новой вкладке откроется панель DCI. Перейдите в раздел “Серверы”, выделите зависший сервер или другой сервер, который хотите перезагрузить. Нажмите иконку KVM (“Перейти к интерфейсу IPMI S6560”):

В интерфейсе IPMI перейдите во вкладку “Remote Control”. В списке слева выберите пункт “Power Control”. Установите переключатель напротив Reset Control и нажмите Perform Action:

Сервер будет перезагружен. Если аппаратная перезагрузка не решила проблем, обратитесь в техническую поддержку renter.ru.

Нужен надежный и недорогой выделенный сервер?

Выделенные серверы по низким ценам! Переходи и выбирай свой!

Ссылка на основную публикацию
Титан квест охота земля
Продолжаем проходить Нормальный уровень сложности оригинальной игры Titan Quest теперь в кооперативе. Окунаемся в атмосферу древности, эпоху героев и великих...
Телевизор lg не светится экран звук есть
У телевизора пропало изображение, а вы не знаете что делать? Тогда вы попали по адресу! Современные Smart-TV и обычные ЖК-телевизоры...
Телевизор lg показывает тускло
Если потемнел экран телевизора, пропала яркость, картинка стала тусклой или исчезла совсем, прежде всего, следует изучить инструкцию и проверить настройки...
Титан квест секретная комната
Мой канал на youtube - http://www.youtube.com/user/GGPharmacist Записи предыдущих частей — http://www.youtube.com/playlist?feature=edit_ok&list=PLjjvJi9Qjo0PjJQUgjyL4ewNXV4LB7Q28 Онлайн трансляции вы можете увидеть на канале GG!! -...
Adblock detector