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

Содержание

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

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


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

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

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

Get-Help Restart-Computer

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

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

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

Restart-Computer -ComputerName localhost

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

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

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

Restart-Computer -ComputerName w10-cl02, w10-cl03 (w10-cl02, w10-cl03 имена удаленных компьютеров или серверов)

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

Restart-Computer : Не удалось перезагрузить компьютер w10-cl02 со следующим сообщение об ошибке: Невозможно инициировать завершение работы системы, так как компьютер используется другими пользователями. строка:1 знак:1 + Restart-Computer -ComputerName w10-cl02, w10-cl03 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 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 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OperationStopped: (w10-cl03:String) [Restart-Computer], InvalidOperationException

+ FullyQualifiedErrorId : RestartcomputerFailed,Microsoft.PowerShell.Commands.RestartComputerCommand

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

Restart-Computer -ComputerName w10-cl02, w10-cl03 -Force

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

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

Restart-Computer -ComputerName w10-cl02, w10-cl03 -Credential root\sem (Где root, это наименование домена, а sem, это логин пользователя)

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

Restart-Computer -ComputerName w10-cl02, w10-cl03 -Credential root\sem -Force

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

Процесс C:\Windows\system32\wbem\wmiprvse.exe (W10-CL02) инициировал действие «Перезапустить» для компьютера W10-CL02 от имени пользователя ROOT\sem по причине: Причина на перечислена
Код причины: 0x80070015 Тип выключения: Перезапустить

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

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

Get-Content -Path C:\computers.txt | Restart-Computer -Force

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

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

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

Start-Sleep -Seconds 60; Restart-Computer -ComputerName w10-cl03 -Force

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

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

Аутентификация поставщика услуг безопасности учетных данных (CredSSP), при которой учетные данные пользователя передаются на удаленный компьютер для проверки подлинности, предназначена для команд, требующих проверки подлинности на нескольких ресурсах, например для доступа к удаленному сетевому ресурсу. Этот механизм увеличивает риск безопасности при удаленной операции. Если удаленный компьютер скомпрометирован, переданные ему учетные данные можно использовать для управления сетевым сеансом.

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

Restart-Computer -ComputerName w10-cl02, w10-cl03 -Force -WsmanAuthentication Kerberos

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

Более подробно про командлет Restart-Computer вы можете почитать по ссылке https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/restart-computer?view=powershell-6

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

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

$wshell = New-Object -ComObject Wscript.Shell

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

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

$xCmdString = {sleep 30}

Invoke-Command $xCmdString

Restart-Computer -ComputerName w10-cl01

Источник: http://pyatilistnik.org/restart-computer/

Powershell подключиться к другому компьютеру: перезагрузка сервера

Удаленная перезагрузка компьютера через командную строку
Начинаем серию переводов, посвященную управлению службами Windows с помощью PowerShell 2.0 и 3.0.

В данном посте будут рассмотрены следующие вопросы управления службами Windows:

  • Получаем статус службы на локальном компьютере
  • Получаем статус службы на удаленном компьютере
  • Осуществляем фильтрацию служб (например, остановленные службы)
  • Зависимые службы

Обозначим начальные условия: Вы работаете под Windows 7 и выше и у Вас имеются права администратора. Все команды рекомендуются выполнять в лабораторной или виртуальной среде, перед тем, как применять в “полевых условиях”.

Получаем статус службы

Давайте начнем с того, что просто получим статус всех служб, запущенных на локальном компьютере. Используем для этого командлет Get-Service.

PowerShell, как правило, не чувствителен к регистру. Вывод приведен на скриншоте ниже.

Читайте также  Выключение компа через командную строку

Каждая строка представляет собой объект службы (service object).Каждый сервисный объект, как правило, имеет свои свойства. Вы можете открыть их, просто передав эти объекты в другую команду, Get-Member.

Результаты приведены на скриншоте ниже.

Параметр Typename сверху говорит о том, что за объект перед нами; в данном случае это System.ServiceProcess.ServiceController. На скриншоте также обведены свойства объекта. Это атрибуты, которые описывают этот тип объекта. Хотя большинство из них не используются при отображении по умолчанию, вы можете использовать их, если вы их знаете.
Например, нам интересно посмотреть информацию только о Windows Update. Через Get-Service получим информацию только о некоторых ее свойствах.

Как я узнал, что могу напечатать имя службы? Посмотрел с помощью Get-Service.
PS C:\> help get-service

Вы можете получить полную справочную информацию, напечатав:

Информацию о службе можно получить по ее имени или даже начальным буквам имени.

Или если вам удобнее работать с отображаемыми именами, используйте параметр –Displayname.

Я должен использовать имя параметра, чтобы PowerShell воспринимал значения в качестве отображаемого имени, а не фактического имени службы. Команда будет выглядеть так:

Параметр –Name можно не печатать.

Получаем статус службы НА УДАЛЕННЫХ КОМПЬЮТЕРАХ

До этого нас интересовало получение информации о статусе служб на локальном компьютере. Однако управление службами осуществляется на удаленных компьютерах. Если посмотреть справку по Get-Service, то можно увидеть наличие у этого командлета параметра –Computername. В данном случае подключение к удаленным компьютерам осуществляется без включения функции удаленного управления PowerShell. Если вы можете управлять службами, используя инструменты командной строки (sc.exe или консоль управления Service Manager), вы можете использовать PowerShell. Давайте взглянем на пример:

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

Для наглядности представления отформатируем вывод.

Тот же самый результат, но в PowerShell v2.

Осуществляем фильтрацию (используя where-object)

Фильтрация служб осуществляется с помощью командлета Where-Object (where – сокращение для командлета). Все, что нам нужно от PowerShell в этом случае, так это получить только те службы, у которых статус равен “stopped”.

PowerShell получает информацию обо всех службах и передает их (с помощью “|”) в следующую команду, которая осуществляет просмотр каждого объекта. Если свойство статуса объекта равно “stopped”, она остается в конвейере (pipeline), в противном случае она из него исключается. В конце выражение PowerShell отображает те объекты, которые остались в конвейере.
Результаты приведены ниже.

Теперь давайте попробуем найти одну службу на нескольких машинах.

Как удалённо перезагрузить Server 2012 R2?

Вывод отформатируем в таблицу.

Мы даже можем комбинировать запрос отдельных служб с их фильтрацией.

Эта команда находит все службы на компьютере CHI-DC03, которые начинаются с ‘WIN’, но отображает только те, которые запущены.
Также можно сгруппировать объекты по свойству статуса (status property).

Переменная $dc03 является объектом GroupInfo.

Свойство Group представляет собой коллекцию связанных служб.

Написанное выше проще понять, если взглянуть на скриншот.

Что касается меня, то я бы предпочел использовать хеш-таблицу.

Теперь каждое имя представляет собой свойство в хеш-таблице. Если у вас имеется опыт работы с PoweShell, вы, возможно, подумываете сделать сделующее:

Однако ничего не произойдет. Потому что свойство Status является просто перечислением (enumeration) для [System.ServiceProcess.ServiceControllerStatus] .NET клас и такие свойства, как Running и Stopped представляют собой целые числа. PowerShell осуществляет конвертацию, чтобы представить в более наглядной форме.

В чем суть параметра –AsString, на мой взгляд, достаточно очевидно. Теперь работать с хеш-таблицей стало проще.

Следующей задачей на повестке дня является проверка зависимостей сервера (server dependencies).

Требуемые службы

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

Параметр –RequiredServices передаст объект в конвейер для каждой требуемой службы.

Вы можете даже пойти дальше и проверить требуемые службы для работы данной службы.

Параметр –Computername командлета Get-Service возьмет вывод, но только для тех объектов, у которых есть объект свойство Computername – именно поэтому я использую хеш-таблицу с Select-Object. Как мы видим проблем со службой DNS на компьютере CHI-DC03 нет.

Зависимые службы

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

Требуемые и зависимые службы также являются частью каждого объекта службы.

А пока Вы можете получить все зависимости для всех служб, следующая команда

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

Результаты видны на скриншоте ниже.

Чтобы получить подобные результаты в PowerShell v2, вам придется передать имена компьютеров (computernames) в Get-Service.

В следующей статье будет рассмотрен запуск, остановка и перезапуск служб.
Конец перевода.

P.S. Хотим также поделиться нашей бесплатной программой для управления службами Windows – NetWrix Service Monitor. Программа отслеживает все автоматически запускаемые службы на группе серверов и в случае внезапного сбоя одной или нескольких из них отправляет уведомления по электронной почте. Функция перезапуска гарантирует, что все подконтрольные службы будут работать без простоев. Программа проста в настройке: устанавливаем, вводим имена компьютеров и указываем нужный адрес электронной почты.

ссылка на оригинал статьи http://habrahabr.ru/company/netwrix/blog/166289/

Источник: https://steptosleep.ru/%D0%BF%D0%B5%D1%80%D0%B5%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0-%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F/

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

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

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

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

В данном материале я расскажу о shutdown — команде выключения и перезагрузки ОС Windows, опишу особенности её ключей, а также поясню, как удобнее использовать указанную команду при работе с вашим компьютером.

Знакомимся с функционалом команды shutdown

Предназначение SHUTDOWN

Большинство пользователей выключает свой компьютер с помощью стартового меню, с помощью меню через Alt+F4, или просто нажав на кнопку питания ПК.

Альтернативой этому может стать команда shutdown (перевод с англ. «shutting down» — выключение). Функционал данной команды позволяет выключить ваш компьютер (как сразу, так и через некоторое время), перезагрузить его, ввести в режим гибернации, выйти из учётной записи. Также, задать особенности выключения в специальном графическом окне, совершить другие действия, позволяющие кастомизировать процесс выключения ПК под нужды конкретного пользователя.

Функционал команды позволяет отключить ваш компьютер через заданное вами время

Команда поддерживает как локальное отключение компьютера, так и удалённое, позволяя отключать (перезагружать, вводить в гибернацию и т.д.) другие ПК в вашей сети (необходимо наличие прав администратора).

Как использовать SHUTDOWN

Вы можете активировать shutdown как с помощью классической командной строки, так и используя инструментарий «PowerShell». Также вы можете упростить работу с командой,  создав ярлык для её запуска на рабочем столе.

Чтобы начать работу с командой запустите командную строку (нажмите на кнопку «Пуск», в строке поиска введите cmd, и нажмите ввод). Рекомендую запускать командную строку от имени администратора по видео:

Функционал команды shutdown выглядит следующим образом:

Перечень ключей для работы с командой

Из всей обоймы ключей я бы отметил следующие:

shutdown /a – команда останавливает процесс выключения или перезагрузки. Может быть полезна в ситуации, когда служба обновления Виндовс (Windows Update) решила перезагрузить ваш компьютер (или когда вы или какие-либо сторонние программы запустили процесс перезагрузки);

shutdown /s – команда выключения ПК;

shutdown /r – команда перезагрузки PC;

shutdown /g – функционал ключа похож на shutdown /r (компьютер перезагружается), при этом вновь запускаются все зарегистрированные приложения;

shutdown /h – ввод компьютера в режим гибернации;

shutdown /l – выход из учётной записи текущего пользователя (log off);

shutdown /p – выключение компьютера без соответствующих предупреждений. Равноценна команде shutdown /s /f /t 0.

Команда SHUTDOWN — примеры реализации

Давайте рассмотрим популярные примеры использования команды shutdown:

Пример №1. Выключаем питание компьютера немедленно

В командной строке наберите:

shutdown /s /t 0

Наберите команду с указанными ключами в командной строке

Пример №2. Выключаем питание компьютера с задержкой

В командной строке используйте команду:

shutdown /s /t 3600 (3600 – это время в секундах, в данном примере это 60 минут, т.е. один час). Вместо 3600 поставьте любое удобное для вас время, высчитав его показатель в секундах;

Компьютер отключится через час

Пример №5. Завершаем сеанс текущего пользователя

shutdown /l

Указанная команда позволяет завершить сеанс текущего пользователя

Пример №6. Останавливаем выключение компьютера

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

shutdown /a

Пример №7. Перезагружаем удалённый компьютер по IP-адресу

shutdown /r /m \\192.168.0.1

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

Читайте также  Запуск командной строки из биоса

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

Пример №8. Выключаем удалённый компьютер по его сетевому имени

shutdown /s /t 300 /m \\COMP1

Команда выключает питание сетевого компьютера COMP1 через 5 минут (300 секунд).

Пример №9. Запускаем графическую утилиту showdown

shutdown /i

После запуска на экране появится табличка «Диалог удалённого завершения работы».

Настройте необходимые опции в графическом окне утилиты showdown

С помощью кнопки «Добавить» необходимо указать IP-адрес или имя нужного компьютера,  выбрать желаемое действие, а затем заполнить форму «Примечание» (данный текст будет выводиться в предупреждении о выполнении запланированного вами действия).

Автоматизируем процесс с помощью создания ярлыков

Также вы можете легко оформить нужную вам команду в виде ярлыка, размещённом на рабочем столе. Затем, когда вам необходимо выполнить указанную операцию, будет достаточно кликнуть по ярлыку, и команда будет выполнена.

Для осуществления этой операции выполните следующее:

  1. Наведите курсор на свободное место на рабочем столе, нажмите правую клавишу мыши;
  2. Выберите «Создать» — «Ярлык»;
  3. В поле «Укажите расположение объектов» введите нужную команду с ключами, а затем нажмите на «Далее»;

    В строке «Укажите расположения объектов» наберите команду с нужными ключами, а затем нажмите на «Далее»

  4. Выберите имя для вашего ярлыка, затем он будет размещён на рабочем столе для дальнейшего использования.

Заключение

Команда shutdown позволяет выполнять необходимые операции для выключения и перезагрузки вашего компьютера. Если же функционал данного инструмента вас не устроил, тогда можно обратиться к возможностям таких программ как «Таймер выключения», «Time PC», «Shutdown Scheduler» и других аналогов, позволяющих выключить ПК в заданное вами время.

Источник: https://sdelaicomp.ru/obzori/shutdown-komanda.html

Админу на заметку — 17. Как выключить или перезагрузить компьютер через RDP

Удаленный доступ к рабочему столу по протоколу RDP широко используется для работы не только с серверами, но и с рабочими станциями, как для удаленной работы, так и в целях администрирования. Однако есть некоторые ограничения, в частности в среде клиентской ОС нельзя управлять параметрами питания, даже имея права локального администратора. В некоторых случаях это способно взывать затруднения, поэтому если вы до сих пор не знаете, как выключить или перезагрузить клиентскую версию ОС через RDP — эта статья для вас.

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

В клиентских ОС ситуация принципиально иная, даже локальный администратор не имеет возможности выключить или перезагрузить компьютер.

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

Но как показывает практика, умеют это не все. Ничего страшного в этом нет, как говорил мой школьный учитель: спросить — стыд минуты, не знать — стыд всей жизни.

Графическая оболочка

На самом деле «проблема» решается не просто, а очень просто. Выйдя на рабочий стол достаточно нажать Alt+F4 чтобы получить стандартный диалог завершения работы.

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

Беда в том, что этого экрана через RDP вы уже не увидите. Да и открытые приложения — это полбеды, хуже, когда систему не дает выключить или перезагрузить зависшее приложение. В этом случае придется искать иные методы.

Командная строка

Как обычно, если графические инструменты не помогают, на помощь администратору приходит командная строка. Для того, чтобы управлять питанием компьютера с ее помощью не надо обладать особыми знаниями, достаточно запомнить одну простую команду. Нажмите Win+R или Пуск — Выполнить и введите следующие команды:

shutdown -s -f -t 0

для выключения

shutdown -r -f -t 0

для перезагрузки.

Разберем ключи команды подробнее:

  • s — выключение компьютера
  • r — перезагрузка
  • f — принудительное завершение мешающих перезагрузке процессов
  • t — время, через которое завершение работы будет выполнено, указывается в секундах через пробел. Если данный параметр не используется команда будет выполнена через 60 секунд.

Утилита PsShutdown от Sysinternals

Если штатные возможности вас по какой-либо причине не устраивают, то можно воспользоваться альтернативой — утилитой PsShutdown от Sysinternals. Разместите скачанный файл в любом удобном месте, лучше всего в одном из указанных в переменной PATH, либо добавьте туда ее расположение, это позволить запускать ее по короткому имени, без указания пути. Синтаксис утилиты похож на синтаксис стандартной, но есть некоторые отличия, так для выключения выполните:

Источник: http://eglite.ru/udalennaya-perezagruzka-kompyutera-cherez-komandnuyu-stroku/

Как перезапустить компьютер через интернет?

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

Вышел и оставил компьютер включенным? Нужно перезагрузить систему удаленно, возможно, чтобы выйти из запущенной программы? Для удаленного перезапуска компьютера под управлением Windows доступно несколько параметров с использованием встроенных инструментов и сторонних приложений.

Давайте рассмотрим три способа удаленной перезагрузки ПК под управлением Windows 10.

1. Как удаленно перезагрузить компьютер с IP-адресом

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

Для удаленного выключения используйте средство Windows shutdown.exe. Основное использование этого инструмента простое, но доступно несколько функций, так что вы можете настроить команду выключения.

Начните с открытия инструмента PowerShell. Щелкните правой кнопкой мыши Пуск, затем выберите Windows PowerShell.

По сути, из командной строки или приложения вы можете выполнить команду выключения, используя синтаксис: shutdown /r /f /m \\[remotecomputerIP] -t 00

  • /m \[remotecomputerIP] — указать конкретное устройство; замените [remotecomputerIP] сетевым именем или IP-адресом компьютера.
  • /r вызывает полный перезапуск
  • /hybrid — выключение с последующим быстрым запуском, используется в сочетании с /s
  • /f закрывает все запущенные приложения
  • /t 00 сообщает команде перезапустить без задержки (ноль секунд)
  • /c позволяет добавить сообщение, например: «ИТ-отдел удаленно перезагружает ваш компьютер».
  • /? отображает полный список команд

(Большинство этих команд будут работать в устаревшей командной строке Windows. Просто замените косую черту «/» дефисом «-».)

Используйте эти команды осторожно. Например, вы можете захотеть дать любому, кто сидел перед компьютером, возможность отменить перезагрузку.

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

2. Как перезагрузить компьютер с помощью удаленного рабочего стола

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

RDP (протокол удаленного рабочего стола) является проприетарным протоколом Microsoft для доступа к удаленному рабочему столу.

В основном это используется по сети. (Для использования Интернета вам необходимо настроить переадресацию портов на маршрутизаторе, более подробно описанную ниже).

RDP встроен в рабочие столы Windows, поэтому просто запустите его из меню «Пуск» (используйте команду поиска «rdp»).

Когда RDP запущен на вашем ПК, введите IP-адрес или имя хоста ПК, который вы перезапускаете удаленно. Вам также понадобится имя пользователя и пароль при появлении запроса. Установив соединение с удаленным ПК, перезагрузите компьютер обычной мышью.

Другие инструменты для удаленного рабочего стола также доступны. Все они могут перезагрузить компьютер удаленно через Интернет. Многие из этих параметров также будут иметь выделенную команду меню для перезагрузки или выключения компьютера одним щелчком мыши.

3. Удаленно перезагрузите компьютер через веб-браузер с затвором

Другой способ удаленно перезагрузить компьютер — установить бесплатное приложение, созданное Денисом Козловым, под названием Shutter .

Это инструмент удаленного планирования, который дает вам доступ к удаленным действиям и событиям. Например, вы можете проверить использование процессора (действие) или запустить удаленное отключение (событие). С установленным на вашем целевом ПК затвором вы можете выполнять различные удаленные функции на вашем компьютере через браузер.

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

Чтобы настроить это, нажмите « Параметры»> «Веб-интерфейс» . Здесь выберите Enable , выберите Listen IP из списка и введите любой порт, который вы хотите использовать. Порт 80 является наиболее распространенным, поскольку он используется по умолчанию. Однако, если вам нужна дополнительная безопасность, вы можете использовать какой-то непонятный порт.

Наконец, задайте имя пользователя и пароль (обязательно), нажмите « Сохранить», и приложение готово — это так просто!

Скачать: Shutter

Настройка затвора для удаленного перезапуска ПК

Для использования вне вашей домашней сети вам необходимо открыть «дыру» для доступа к Shutter через маршрутизатор.

Читайте также  Сочетание клавиш для открытия командной строки

Для этого откройте страницу вашего маршрутизатора (обычно 192.168.0.1 или 192.168.1.1, в зависимости от марки вашего маршрутизатора) и настройте переадресацию портов. Обратитесь к документации вашего маршрутизатора для точных шагов для вашей модели маршрутизатора.

Просто убедитесь, что IP-адрес и порт, которые вы определили в Shutter, определены здесь и включены. После сохранения настройка завершена. Теперь вы можете зайти в любой веб-браузер и отправить на компьютер не только команду «перезагрузить», но и целый список других команд.

Для удаленного доступа к Shutter откройте браузер и введите IP-адрес и порт, указанные ранее. Например: 192.168.1.103:8080

Из внешнего местоположения, например из библиотеки или с работы, введите назначенный Интернет-провайдер внешний IP, а затем порт. Это может быть: 65.xxx.xxx.122: 8080 . Веб-интерфейс появится после входа в систему с идентификатором и паролем, которые вы определили.

Не уверены, какой у вас внешний IP? Просто зайдите на сайт whatismyip.com в вашем браузере.

Обратите внимание, что вам понадобится статический IP-адрес для доступа к Shutter из-за пределов вашей локальной сети. Здесь вы можете выполнять различные удаленные задачи, от выключения компьютера до отключения звука или запуска определенной программы.

Чтобы удаленно перезапустить Windows с помощью веб-интерфейса Shutter, нажмите «Перезагрузить», затем «Выполнить». Работа сделана!

Три умных способа перезагрузить компьютер удаленно

Как вы можете видеть, удаленная перезагрузка вашего компьютера очень проста с Windows 10:

  • Перезагрузитесь по сети с помощью команд shutdown.exe
  • Перезагрузите компьютер с помощью программного обеспечения для удаленного рабочего стола
  • Перезагрузите Windows с помощью Shutter

Независимо от того, что вы решили перезагрузить компьютер, это разумный вариант, чтобы регулярно обновлять параметры безопасности компьютера. Если вы перезапускаете его для предотвращения доступа, почему бы не использовать один из этих методов для автоматической блокировки вашего ПК с Windows?

Источник: https://ip-calculator.ru/blog/ask/kak-perezapustit-kompyuter-cherez-internet/

Перезагрузка удаленного ПК через командную строку

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

В наше время даже для собак придумали удаленное управление.

Возвращаясь к циклу «Конспект Админа», мне хотелось бы рассказать о вариантах запуска исполняемых программ на удаленных компьютерах. Эта статья будет интересна тем, у кого еще нет систем централизованного управления, но уже есть понимание утомительности ручного обхода рабочих станций и серверов. Либо тем, кому решения «под ключ» не интересны ввиду неспортивности.

В качестве того, зачем нужен такой запуск программ, можно привести недавнюю истерию с ПетейНе-Петей, когда все бросились проверятьотключать SMBv1 и загружать обновления. Да и провести инвентаризацию или установить срочный патч таким методом тоже можно.

Когда-то давно я устроился работать в организацию в период эпидемии KidoConficker. Наиболее простым способом выяснить, все ли хорошо в ИС компании, была славная утилита от Касперского под названием Kido Killer, которая проверяла наличие вируса и устраняла его. Запускать программу на доброй сотне машин руками было невесело, поэтому пришлось знакомиться с автоматизацией.

Если в операционных системах *nix для удаленного запуска, как правило, используется SSH, то у Windows способов запуска программ и скриптов воистину как песка в пустыне. Я разберу основные варианты, как общеизвестные, так и экзотические. Таких очевидных вещей как telnet-сервер касаться не буду, тем более Microsoft уже убрала его из современных ОС.

Psexec

Пожалуй, это первое, что приходит на ум, когда идет речь об удаленном запуске программ. Утилита от Марка Руссиновича используется еще со времен Windows NT и до сих пор применяется. Помимо основной функции, можно использовать ее и как Runas, и для запуска программ в пользовательской сессии терминального сервера. Psexec также позволяет задавать ядра процессора, на которых будет запускаться программа, и ее приоритет в системе.

В качестве примера посмотрим, установлено ли обновление, закрывающее нашумевшую уязвимость SMB на списке компьютеров:

psexec @computers.txt /u USER /p PASS cmd.exe /v /c «»systeminfo | find «KB4012212″ || echo !computername! >> \serversharelog.txt»»»

В файле computers.txt находится список компьютеров. Для запуска по всему домену можно использовать \*. В файле \serversharelog.txt будут появляться имена рабочих станций или серверов без обновления. Если в домене существуют компьютеры с *nix на борту или нет доступа к административному сетевому ресурсу Admin$ ― команда на этой машине не выполнится, но обработка продолжится. Чтобы скрипт не зависал при каждой попытке подключения, можно задать тайм-аут с помощью ключа -n.

Если компьютер выключен ― мы об этом не узнаем. Поэтому лучше предварительно проверять доступность машин или собирать в файле информацию об успешном или неудачном выполнении.

К минусам Psexec можно отнести то, что она из-за своего удобства и популярности часто используется вирусописателями. Поэтому антивирусные системы могут обнаруживать утилиту как опасность вида remote admin.

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

WMIC

Для управления системами Windows с помощью разных графических утилит часто используется WMI (Windows Management Instrumentation) ― реализация объектно-ориентированного стандарта управления WBEM. В качестве утилиты с графическим интерфейсом для работы с WMI можно использовать wbemtest.exe.

Для работы с WMI из консоли создана wmic.exe. Например, для проверки установленных обновлений вместо жутковатой конструкции из предыдущего примера можно использовать простую команду:

wmic /node:»servername» qfe get hotfixid | find «KB4012212»

Использовать список компьютеров также можно командой /node:»@computers.txt».

Еще при помощи WMI можно запускать программы – синтаксис предельно прост:

wmic /node:»servername» process call create «cmd /c somecommands»

К сожалению, в отличие от Psexec, получить вывод в консоли не получится ― придется выводить результаты команды в файл.

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

Групповые политики и скрипты

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

Скрипты, выполняющиеся при старте и завершении системы.

Скрипты, выполняющиеся при входе и выходе пользователя из системы.

Скрипты, настраиваемые в пользовательском разделе, выполняются от имени пользователя, а в разделе компьютера ― под аккаунтом SYSTEM.

Назначенные задания

Довольно интересный способ, заслуживающий право на жизнь. Назначенные задания можно создавать из командной строки при помощи утилиты schtasks.exe, выполнять их, затем удалять. Подробнее с синтаксисом можно ознакомиться в документации, я же разберу пример использования назначенных заданий в доменной среде. Предположим, нам нужно выполнить команду как можно быстрее вне зависимости от того, выключен компьютер или нет. Для этого используются так называемые предпочтения групповых политик (Group Policy Preference).

Искать установку назначенных заданий следует в конфигурации компьютера или пользователя ― «Настройка ― Параметры панели управления ― Назначенные задания».

Создание нового назначенного задания.

Для выполнения команды или скрипта ASAP понадобится создать «Немедленную задачу (Windows 7 и выше)». Если вдруг в инфраструктуре остались машины под управлением Windows XP, то подойдет «Очередное задание (Windows XP)».

Стоит сделать несколько политик с соответствующими WMI-фильтрами или создать два разных назначенных задания в одной политике с нацеливанием ― например, при помощи того же WMI-фильтра. Это поможет избежать конфликтов в разнородной среде со старыми и новыми Windows.

Пример WMI-фильтра для применения политики только на компьютерах с Windows XP:

SELECT * FROM Win32_OperatingSystem WHERE Version «5.1%» AND ProductType = «1»

В остальном процедура создания назначенного задания тривиальна. Единственное, не забывайте отметить пункт «Применить один раз и не применять повторно», если задача не требует повторного запуска.

Запускаем немедленную задачу только один раз.

При использовании таких назначенных заданий программа запустится, как только компьютер получит обновление групповой политики. Это удобно: не нужно проверять доступность компьютеров в случае Psexec и wmic и заставлять пользователей перезагружать машины, как в случае скриптов групповых политик. При необходимости можно скопировать файл скрипта локально в разделе «Настройка ― Конфигурация Windows ― Файлы».

Назначенные задания позволяют явно задать имя пользователя для запуска программы, в том числе и для SYSTEM.

Через реестр

Модификация реестра на пользовательских машинах ― странный вариант, лишь на случай крайней необходимости. Можно использовать ветки Run или RunOnce. Подробнее о них ― в документации. Сама модификация реестра может проводиться через групповые политики или из командной строки ― например, такой командой:

reg add \COMPUTERHKLMSoftwareMicrosoftWindowsCurrentVersionRunOnce /v script /t Reg_SZ /d «script.cmd»

В зависимости от ветки реестра, процесс будет выполняться или под пользователем, выполнившим вход в систему, или под аккаунтом SYSTEM.

Есть и другие способы, такие как правка ярлыков в папке «Автозагрузка» или добавление в ярлык к популярной программе && script.cmd, но эти методы уже из серии «можно, но не нужно».

Источник: https://ferracomp.ru/perezagruzka-udalennogo-pk-cherez-komandnuyu-stroku/