Powershell перезагрузка удаленного компьютера
Чтобы вернуть компьютер в исходное состояние в PowerShell, используйте стандартную программу командной строки, инструментарий WMI или класс CIM. Хотя PowerShell используется только для запуска программы, сведения об изменении состояния электропитания для компьютера в PowerShell иллюстрируют некоторые важные особенности работы с внешними средствами в PowerShell.
Удаленная перезагрузка компьютера
Как я и говорил ранее PowerShell, это прекрасный инструмент по удаленному управлению компьютерами, серверами и службами. Предположим, что у меня есть RDS ферма состоящая из 10 серверов с Windows Server 2019. Мне необходимо произвести обслуживание четырех серверов, для этого я перевожу их в режим стока (Drain Mode) чтобы отсечь новые подключения, и рассылаю уведомление сотрудникам, через msg, чтобы сотрудники перелогинились. После я начинаю обслуживать данные системы, когда я заканчиваю, то мне необходимо их перезагрузить. Для этого мы воспользуемся вот такой конструкцией:
Restart-Computer -ComputerName w10-cl02, w10-cl03 (w10-cl02, w10-cl03 имена удаленных компьютеров или серверов)
После выполнения команды компьютер уходит в перезагрузку, если этого не произошло, то вы с большой вероятностью получите ошибку:
Как видим команда успешно отработала и была произведена перезагрузка компьютера.
Если вы хотите перезагрузить удаленный компьютер от имени определенного пользователя, то данный командлет вам это позволит сделать. Для этого введите:
Restart-Computer -ComputerName w10-cl02, w10-cl03 -Credential root\sem (Где root, это наименование домена, а sem, это логин пользователя)
В результате у вас появится окно для ввода пароля пользователя, указываем его и нажимаем "Ok". Кстати если на удаленном компьютере, который требуется перезагрузить, будет активная сессия пользователя в интерактивном режиме, то вам так же выскочит ошибка, что "компьютер используется другими пользователями" и вам нужно будет добавлять ключик -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 и конструкция команды принимает вот такой вид:
В итоге удаленная перезагрузка компьютера через PowerShell успешно отработала и все системы из файла обслужены.
Зачем использовать CMD и PowerShell для выключения компьютера
Логично, что большинство людей всегда для завершения работы за компьютером будут использовать графические окна и мышку, это правильно, так как это проще и быстрее, но бывает ряд случаев, что вы как продвинутый пользователь или тем более системный администратор, просто обязаны уметь выполнять все задачи без GUI интерфейса. Вот вам примерный список ситуаций:
- Вам как системному администратору может выпасть честь работать с Windows Server Core, которая не имеет графического интерфейса и если вам вдруг нужно завершить работу такого сервера или виртуальной машины для обслуживания, вы обязаны это уметь.
- Вторая ситуация может возникнуть, на компьютерах, где политиками или иными методами была выключена возможность завершать работу компьютера. Вот вам пример, что есть только пункт "Выход".
- Третья ситуация, это различные сценарии, подразумевающие использование скриптом, например массово выключить компьютеры по списку, полет фантазии тут огромный.
- Так же не нужно забывать про удаленное выключение систем, PowerShell, как и был призван одним из основных инструментов по удаленному управлению Windows, но командная строка так же позволяет это выполнить.
Перезагрузить через командную строку
Перезагружать через командную строку мы будем Windows Server 2008 R2, но данная инструкция подойдет как и для 2012 R2 так и для любой клиентской ОС хоть от Windows 7 до Windows 10. В начале мы рассмотрим классическую cmd, открываем ее (Как открыть командную строку читайте тут). Для перезагрузки используется вот такая команда.
-r - означает перезагрузка
-t - время равное 0
У вас начнется моментально перезагрузка Windows.
Example 1: Restart the local computer
Restart-Computer restarts the local computer.
Как как выключить компьютер через PowerShell
Теперь давайте обратимся к более современному инструменту, а именно к оболочке PowerShell. Открываем ее в режиме администратора, нас будет интересовать командлет Stop-Computer. Если вы его просто введете в оболочке на локальном компьютере, то у вас начнется завершение работы.
Теперь давайте посмотрим справку по данному командлету, для этого введите
Как видим командлет имеет много дополнительных ключей.
Как перезагрузить сервер через PowerShell
Microsoft уже давно несет свой сильный язык в массы, и надо вам сказать он очень функционален, но об этом позже. PowerShell, так же имеет возможность перезагрузить ваш сервер или компьютер через свою командную строку, делается это очень просто. Открываем оболочку PowerShell и вводим вот такой командлет
Или для нескольких
Довольно таки просто, есть возможно перезагружать список серверов. Уверен теперь у вас не будет проблем перезагрузить компьютер через командную строку. Существует конечно большое множество подобного рода утилит, но их нужно доставлять. Описанные два средства уже являются компонентами Windows и не требуют установки, что подразумевает моментальное их использование, да и чем меньше на сервере установлено тем лучше, более безопасно, так как любое стороннее по нужно обновлять и следить за этим.
Parameters
Specifies one computer name or a comma-separated array of computer names. Restart-Computer accepts ComputerName objects from the pipeline or variables.
Type the NetBIOS name, an IP address, or a fully qualified domain name of a remote computer. To specify the local computer, type the computer name, a dot . , or localhost.
This parameter doesn't rely on PowerShell remoting. You can use the ComputerName parameter even if your computer isn't configured to run remote commands.
If the ComputerName parameter isn't specified, Restart-Computer restarts the local computer.
Type: | String [ ] |
Aliases: | CN, __SERVER, Server, IPAddress |
Position: | 0 |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Prompts you for confirmation before running Restart-Computer .
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies a user account that has permission to do this action. The default is the current user.
Type a user name, such as User01 or Domain01\User01, or enter a PSCredential object generated by the Get-Credential cmdlet. If you type a user name, you're prompted to enter the password.
Credentials are stored in a PSCredential object and the password is stored as a SecureString.
For more information about SecureString data protection, see How secure is SecureString?.
Type: | PSCredential |
Position: | 1 |
Default value: | Current user |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the frequency of queries, in seconds. PowerShell queries the service specified by the For parameter to determine whether the service is available after the computer is restarted.
This parameter is valid only together with the Wait and For parameters.
This parameter was introduced in Windows PowerShell 3.0.
If the Delay parameter isn't specified, Restart-Computer uses a five second delay.
Type: | Int16 |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the behavior of PowerShell as it waits for the specified service or feature to become available after the computer restarts. This parameter is only valid with the Wait parameter.
- Default: Waits for PowerShell to restart.
- PowerShell: Can run commands in a PowerShell remote session on the computer.
- WMI: Receives a reply to a Win32_ComputerSystem query for the computer.
- WinRM: Can establish a remote session to the computer by using WS-Management.
This parameter was introduced in Windows PowerShell 3.0.
Type: | WaitForServiceTypes |
Accepted values: | Wmi, WinRM, PowerShell |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Forces an immediate restart of the computer.
Type: | SwitchParameter |
Aliases: | f |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the duration of the wait, in seconds. When the timeout elapses, Restart-Computer returns to the command prompt, even if the computers aren't restarted.
The Timeout parameter is only valid with the Wait parameter. Timeout overrides the Wait parameter's indefinite waiting period.
This parameter was introduced in Windows PowerShell 3.0.
Type: | Int32 |
Aliases: | TimeoutSec |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Restart-Computer suppresses the PowerShell prompt and blocks the pipeline until the computers have restarted. You can use this parameter in a script to restart computers and then continue to process when the restart is finished.
The Wait parameter waits indefinitely for the computers to restart. You can use Timeout to adjust the timing and the For and Delay parameters to wait for particular services to become available on the restarted computers.
The Wait parameter isn't valid when you're restarting the local computer. If the value of the ComputerName parameter contains the names of remote computers and the local computer, Restart-Computer generates a non-terminating error for Wait on the local computer, but waits for the remote computers to restart.
This parameter was introduced in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Shows what would happen if the Restart-Computer runs. The Restart-Computer cmdlet isn't run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the mechanism that is used to authenticate the user credentials. This parameter was introduced in Windows PowerShell 3.0.
Credential Security Service Provider (CredSSP) authentication, in which the user credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.
Блокировка компьютера
Единственным способом непосредственной блокировки компьютера с помощью стандартных средств является вызов функции LockWorkstation() в user32.dll:
Эта команда немедленно блокирует рабочую станцию. Она использует rundll32.exe, который запускает библиотеки DLL Windows (и сохраняет их библиотеки для многократного использования), чтобы запустить user32.dll — библиотеку функций управления Windows.
Если рабочая станция блокируется при включенном быстром переключении пользователей, например в Windows XP, компьютер отображает экран входа в систему вместо того, чтобы запустить заставку текущего пользователя.
Чтобы завершить работу конкретных сеансов на сервере терминалов, используйте программу командной строки tsshutdn.exe.
Создание ярлыка выключения компьютера
Если вы хотите вынести себе функцию выключения вашего компьютера в виде отдельного файла-ярлыка, вы можете это легко реализовать. Щелкаете правой кнопкой мыши по рабочему столу и выбираем пункт "Создать - Ярлык"
Задаем параметры для нашего ярлыка, тут вы вводите нужную вам команду, в моем случае, это команда, которая немедленно выключает компьютер.
Указываем нужное вам название ярлыка.
Вот такой у меня получился ярлык для завершения системы Windows.
Example 3: Get computer names from a text file
Restart-Computer gets a list of computer names from a text file and restarts the computers. The ComputerName parameter isn't specified. But because it's the first position parameter, it accepts the computer names from the text file that are sent down the pipeline.
Get-Content uses the Path parameter to get a list of computer names from a text file, Domain01.txt. The computer names are sent down the pipeline. Restart-Computer restarts each computer.
Удаленное выключение компьютера из PowerShell
Командлет Stop-Computer имеет ключ -ComputerName через который можно указать список систем, требующих завершения работы. У меня есть два удаленных компьютера с Windows 10, w10-cl02 и w10-cl03. Давайте их выключим, вводим команду:
Если на текущий момент на удаленных компьютерах. кто-то работает, то вы получите ошибку:
Чтобы это обойти вы можете добавить ключик -Force, который сделает принудительное выключение
Если вам необходимо выполнить выключение от имени определенной учетной записи, то вы можете воспользоваться ключом -Credential:
Stop-Computer -ComputerName w10-cl02, w10-cl03 -Credential root\sem -Force(Где root, это наименование домена, а sem, это логин пользователя)
В окне запроса учетных данных Windows, укажите пароль. В итоге я выключил два компьютера и все можно сделать и без использования мышки.
Также командлет Stop-Computer имеет ключ -WsmanAuthentication, который позволяет производить подключения по разным протоколам аутентификации. Возможные варианты:
Напоминаю, что по умолчанию используется CredSSP .но я в моем примере буду использовать Kerberos, так как привык работать со службой удаленного управления Windows (WinRM).
[info]Stop-Computer -ComputerName w10-cl02, w10-cl03 -Force -WsmanAuthentication Kerberos[/info]
Как выключить компьютер со списком компьютеров в текстовом файле
Может возникнуть ситуация, что вы или ваши коллеги могут подготовить тестовый файл со списком компьютеров, которые потребуется выключить. Stop-Computer легко справится с этой задачей. Кладу на диск C:\ файл computers.txt, после чего выполняю команды.
$s = Get-Content -Path C:\computers.txt
$c = Get-Credential root\sem
Stop-Computer -ComputerName $s -Force -Credential $c
Как выключить компьютер через командную строку
Для начала давайте я вам напомню, как производилось выключение компьютера из командной строки, если вы постоянный читатель моего блога, то помните, что мы уже создавали задание по выключению систему по таймеру, там мы так же использовали cmd. Что мы делаем, открываем окно командной строки, желательно в режиме администратора, чтобы все команды у вас точно отработали.
Есть такая замечательная команда Shutdown, она имеет два режима работы, первый это консольный, а второй графический, да не удивляйтесь. Давайте для начала посмотрим справку по данной утилите, для этого выполните команду:
Утилита имеет большое количество ключей для различных сценариев.
Самый простой сценарий, нужно завершить работы локального компьютера и для того, чтобы выключить компьютер через командную строку вы вводите:
У вас появится всплывающее окно, где будет указано, что ваш сеанс будет завешен. Для завершения работы Windows осталось менее 1 минуты. Тут вам дают возможность успеть сохранить важные данные в программах и документах.
Теперь давайте поиграемся с таймером, у вас может быть желание немедленного завершения работы или наоборот вы хотите задать время превышающее стандартную минуту, тут нам поможет ключ /t, в там случае команда будет выглядеть так:
При t = 0 у меня будет произведено моментальное выключение компьютера, если же я например задам 180, что равносильно трем минутам, то вы увидите вот такое окно:
Если у вас время в ключе /f задано более 0, то вы можете столкнуться с ситуацией, что какие-то приложения могут не дать завершить работу системы и выключить компьютер. В таких сценариях вы можете принудительно их завершать, для этого есть ключ /f:
Или вы вообще можете захотеть, выключить компьютер через 2 часа. это в секундах 7200. Так же есть отдельный ключ, который сразу завершает работу вашей системы, без ввода времени, этот ключ /p. В итоге можно выключить компьютер командой
Если вы хотите задать комментарий при выключении компьютера из командной строки и задать причину, то есть ключи /c и /d. Ключ /c задает комментарий, который не может быть длиннее, чем 512 символов. Ключ /d указывает причину, тут может быть совместный ключ "p", означающий запланированное завершение или же ключ "u", означающий что причину указывает пользователь.
В логах Windows вы можете обнаружить событие 1074 с нашим комментарием. Согласитесь, что это отличный инструмент выключить компьютер без помощи мышки.
Description
This cmdlet is only available on the Windows platform.
The Restart-Computer cmdlet restarts the operating system on the local and remote computers.
You can use the parameters of Restart-Computer to run the restart operations, to specify the authentication levels and alternate credentials, to limit the operations that run at the same time, and to force an immediate restart.
Starting in Windows PowerShell 3.0, you can wait for the restart to complete before you run the next command. Specify a waiting time-out and query interval, and wait for particular services to be available on the restarted computer. This feature makes it practical to use Restart-Computer in scripts and functions.
![перезагрузка компьютеров из списка]()
Перезагрузка компьютера с задержкой по времени
Еще очень частая ситуация, это перезапуск компьютера, но через определенное время, предположим, через 60 секунд, чтобы какие-то другие вещи успели отработать, очень часто применяется в сценариях и скриптах. Для выполнения это задачи есть командлет Start-Sleep. Пишем команду:
В ключе -Seconds вы задаете время в секундах.
так же у вас есть возможность определить механизм, который используется для аутентификации учетных данных пользователя. Этот параметр был введен в Windows PowerShell 3.0. Называется этот ключ -WsmanAuthentication. На выбор у вас будет пять вариантов: Basic, CredSSP, Default, Digest, Kerberos и Negotiate.
Аутентификация поставщика услуг безопасности учетных данных (CredSSP), при которой учетные данные пользователя передаются на удаленный компьютер для проверки подлинности, предназначена для команд, требующих проверки подлинности на нескольких ресурсах, например для доступа к удаленному сетевому ресурсу. Этот механизм увеличивает риск безопасности при удаленной операции. Если удаленный компьютер скомпрометирован, переданные ему учетные данные можно использовать для управления сетевым сеансом.
В моем примере я буду использовать проверку подлинности Kerberos, напоминаю, что для этого у вас на удаленных компьютерах должна быть настроена служба WinRM и политика, определяющая с каких ip-адресов вы можете производить подключение к ней. В итоге команда принимает такой вид:
После ее выполнения удаленные компьютеры уходят в перезагрузку.
Удаленное выключение компьютера из командной строки
CMD может легко взаимодействовать и с удаленными системами, давайте я покажу, как вы можете завершить работу Windows у двух удаленных компьютеров, у меня это будет система с Windows 10 под именем W10-cl02. Для этого мы используем ключ "m".
Тут я принудительно завершаю работу удаленного компьютера W10-cl02. Так же вы можете произвести удаленное выключение компьютера и из графического интерфейса, для этого есть ключ -i. Вводим команду:
В результате у вас откроется форма "Диалог удаленного завершения работы", я его уже вам показывал при массовом выключении компьютеров.
Нажимаем кнопку "Добавить" и вводим нужные вам сервера и рабочие станции которые вы планируете выключить.
В выборе действий, указываем "Завершение работы", ставим галку "Предупредить пользователей об этом действии" если нужно сделать отложенное выключение, можете хоть выставить 2 часа. Указываете причину и комментарий при необходимости.
Выскочит предупредительное окно, произойдет выключение компьютера через определенное время, заданное вами ранее.
Как видите утилита командной строки shutdown.exe даже в нынешнее время Windows 10, является отличным инструментом, умеющим выключать компьютер с Windows по нужному сценарию. дополнительную информацию про утилиту shutdown вы можете посмотреть по ссылке:
Синтаксис утилиты shutdown
Ниже представлена подробная справка по всем возможным параметрам данной утилиты, думаю вы сможете найти бного полезного для различных задач.
Z:\>shutdown
Использование: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]
[/m \\компьютер][/t xxx][/d [p|u]xx:yy [/c "комментарий"]]
Для удобства можно создать ярлык в котором можно вставить данную команду, или же создать cmd или bat файл для удобства. Так же я данную возможность использовал в mmc консоли. Помимо того что можно перезагрузить через командную строку, есть возможность сделать тоже самое и через PowerShell.
Example 6: Restart a remote computer and wait for PowerShell
Restart-Computer restarts the remote computer and then waits up to 5 minutes (300 seconds) for PowerShell to become available on the restarted computer before it continues.
Restart-Computer uses the ComputerName parameter to specify Server01. The Wait parameter waits for the restart to finish. The For specifies that PowerShell can run commands on the remote computer. The Timeout parameter specifies a five-minute wait. The Delay parameter queries the remote computer every two seconds to determine whether it's restarted.
Examples
Выключение компьютера с задержкой по времени через PowerShell
И так, как выключить компьютер через определенное время, так как у вас легко может возникнуть такой сценарий. Для решения вопроса со временем есть командлет Start-Sleep.
В результате выполнения команды, у меня завершится работа на двух удаленных компьютерах. Или можно вот так со списком компьютеров в текстовом файле.
$s = Get-Content -Path C:\computers.txt
$c = Get-Credential root\sem
Start-Sleep -Seconds 60; Stop-Computer -ComputerName $s -Force -Credential $c
Дополнительную информацию, по командлету Stop-Computer я вам советую поискать на сайте Microsoft
Выход из текущего сеанса
Выйти из сеанса в локальной системе можно несколькими способами. Самый простой заключается в использовании программы командной строки удаленного рабочего стола или служб терминалов — logoff.exe (для получения дополнительных сведений введите logoff /? в командной строке PowerShell). Чтобы выйти из текущего активного сеанса, введите logoff без аргументов.
Можно также использовать средство shutdown.exe с параметром выхода:
Еще один вариант — использование инструментария WMI. Класс Win32_OperatingSystem имеет метод Shutdown. Вызов метода с флагом 0 инициирует выход из системы:
Дополнительные сведения о методе Shutdown класса Win32_OperatingSystem см. в этой статье.
Как выключить компьютер через WMI запрос
Так же используя командную строку или оболочку PowerShell вы можете выполнить команду с использованием WMI, чтобы завершить работу компьютера. Для этого введите команду:
[info](Get-WmiObject Win32_OperatingSystem -EnableAllPrivileges).Win32Shutdown(1)[/info]
В результате у вас будет произведено корректное завершение работы в вашей системе Windows, так же можно сделать форсированное выключение, для этого выполните:
Дополнительные варианты выключения компьютера
Restarts the operating system on local and remote computers.
Syntax
Скрипт PowerShell для перезагрузки по расписанию
Предположим, что вам нужно перезагрузить компьютер по расписанию, это можно сделать и групповыми политиками, а так же и через задачу по расписанию, актуально для компьютеров не в домене. Вы в задаче подкладывает ваш скрипт PowerShell, чтобы выполнять его в нужное время, но с уведомлением человека. Ниже текст скрипта.
$wshell.Popup("Данный компьютер будет перезагружен",10,"Сохраните свои данные",0x0)
$wshell.Popup("Перезагрузка будет через 30 секунд",2,"Не забудьте сохранить данные",0x0)
Restart-Computer -ComputerName w10-cl01
Еще бонусом перезагрузка локального компьютера может быть выполнена и с помощью WMI. Для этого в оболочке PowerShell введите;
Всем привет мне уже несколько раз писали такой вопрос, как перезагрузить сервер Windows через командную строку. Сегодня я на него отвечу, рассказав о нескольких способах это сделать. Для чего это может быть использовано ну например для написания скрипта, который в нужное время перезагрузит сервер, либо для саморазвития, мотивы могут быть разными, давайте смотреть как это сделать.
Example 2: Restart multiple computers
Restart-Computer can restart remote and local computers. The ComputerName parameter accepts an array of computer names.
Example 7: Restart a computer by using WsmanAuthentication
Restart-Computer restarts the remote computer using the WsmanAuthentication mechanism. Kerberos authentication determines whether the current user has permission to restart the remote computer. For more information, see AuthenticationMechanism.
Restart-Computer uses the ComputerName parameter to specify the remote computer, Server01. The WsmanAuthentication parameter specifies the authentication method as Kerberos.
Завершение работы или перезапуск компьютера
Завершение работы и перезапуск компьютеров обычно относятся к схожим типам задач. Средства, завершающие работу компьютера, обычно также перезапускают его и наоборот. Есть два варианта непосредственной перезагрузки компьютера из PowerShell. Используйте tsshutdn.exe или shutdown.exe с соответствующими аргументами. Подробные сведения об использовании можно получить, запустив tsshutdn.exe /? или shutdown.exe /? .
Операции завершения работы и перезапуска можно также выполнять непосредственно из PowerShell.
Чтобы завершить работу компьютера, используйте команду Stop-Computer.
Чтобы перезапустить операционную систему, используйте команду Restart-Computer.
Чтобы выполнить немедленную перезагрузку компьютера, используйте параметр -Force.
Перезагрузка компьютера, это базовая процедура в операционной системе, и для большинства людей достаточно графического варианта, но бывают ситуации, что у вас может быть с помощью групповой политики убрана кнопка перезагрузки, или же вам нужно перезагрузить сразу пачку серверов, в таких ситуациях вас выручит PowerShell.
Открываем окно PowerShell в режиме администратора и знакомимся с командлетом Restart-Computer.Первое, что я вам советую сделать, это ознакомиться со справкой командлета, для этого введите:
Для того, чтобы была выполнена локальная перезагрузка компьютера, вам достаточно ввести данный командлет:
Как видим компьютер уходит в перезагрузку.
Так же можно использовать команду с добавлением ключа -ComputerName
Тут так же будет выполнена перезагрузка компьютера, хочу отметить, что localhost означает локальный компьютер, но вам никто не мешает тут ввести и имя локального компьютера.
Example 4: Force restart of computers listed in a text file
This example forces an immediate restart of the computers listed in the Domain01.txt file. The computer names from the text file are stored in a variable. The Force parameter forces an immediate restart.
Get-Content uses the Path parameter to get a list of computer names from a text file, Domain01.txt. The computer names are stored in the variable $Names . Get-Credential prompts you for a username and password and stores the values in the variable $Creds . Restart-Computer uses the ComputerName and Credential parameters with their variables. The Force parameter causes an immediate restart of each computer.
Читайте также: