Простым решением является перезагрузка. В этом руководстве вы узнаете, как перезапустить Windows Server 2016 с несколькими параметрами команды.
Перезагрузить Windows Server через графический интерфейс
Интерфейс Windows Server 2016 представляет собой графический интерфейс, который упрощает многие задачи.
Нажмите: меню Пуск -> Кнопка питания -> Перезагрузить.
Как перезагрузить Windows Server с помощью командной строки
В некоторых случаях у вас может не быть установлен компонент GUI. Или ваша операционная система столкнулась с проблемой, и все, что вы можете получить доступ, это командная строка.
Шаг 1: Откройте командную строку
- Нажмите Ctrl + Alt + Del.
- Система должна показать меню — щелкните Task Manager (Диспетчер задач).
- В окне Task Manager (Диспетчер задач) нажмите More Details (Подробнее).
- Откройте меню File (Файл) и выберите Run new task (Запустить новое задание).
- В поле введите
cmd.exe–
, затем установите флажок, чтобы создать задачу с правами администратора. Нажмите ОК. - Должно появиться черное окно с белым текстом.
Шаг 2. Перезагрузите операционную систему Windows Server.
В окне командной строки введите команду перезагрузки Windows Server и нажмите клавишу Enter:
shutdown –r
Параметр –r
заставляет Windows перезагружаться, а не просто выключаться.
Перезапуск из PowerShell
Windows PowerShell напоминает расширенную версию командной строки. Он основан на .NET Framework и включает язык сценариев. PowerShell полезен для работы под операционной системой Windows.
Шаг 1. Запустите PowerShell
- Нажмите Ctrl + Alt + Del и выберите Task Manager (Диспетчер задач).
- Откройте меню File (Файл) и выберите Run new task (Запустить новое задание).
- В командной строке введите
powershell.exe
и установите флажок, чтобы начать с правами администратора. Нажмите ОК. - Должно открыться новое окно с темно-синим фоном. Вы можете понять, что находитесь в окне PowerShell, если подсказка начинается с
PS
.
Шаг 2: перезагрузите систему
В окне PowerShell введите следующую команду и нажмите Enter:
Restart-Computer
По умолчанию вы получите 5-секундный обратный отсчет, затем система перезагрузится. Вы можете добавить опцию, чтобы отложить перезапуск на более чем 5 секунд по умолчанию:
Restart-Computer –delay 15
Перезагрузка удаленного сервера Windows с помощью PowerShell
Шаг 1. Запустите PowerShell
Если вы находитесь в командной строке, введите команду:
PowerShell
Подсказка добавит PS
в начале, и ваши набранные команды должны появиться в желтом цвете.
Шаг 2. Перезагрузитесь удаленно
В окне PowerShell введите следующее:
Restart-Computer –ComputerName “NAME_OF_SYSTEM”
Замените NAME_OF_SYSTEM
на имя компьютера, который вы хотите перезагрузить. Не забудьте поставить кавычки.
Примечание. Предполагается, что ваши текущие учетные данные те же, что и для удаленной системы. Обычно это может выглядеть как имя пользователя администратора, и один и тот же пароль для обеих систем. Это также может работать, если обе системы находятся в одном домене, а ваша учетная запись пользователя имеет соответствующие разрешения.
Sometimes it is difficult to locate the shut down or restart buttons in Windows Server Desktop. You may shut down or restart Windows Server using Windows Graphical User Interface or Command Prompt terminal (cmd.exe) or using PowerShell terminal.
How to shutdown or restart Windows Server 2022 using Graphical User Interface
Follow below steps to shutdown or restart Windows Server 2022 using Windows Graphical User Interface.
Step 1 — Click Windows start menu button on extreme left-bottom corner from Windows Server desktop. Windows start menu button is shown in below screen shot.
Step 2 — Click on «Power» on start menu as shown below.
Step 3 — Click on «Shut down» or «Restart», as you require.
Step 4 — Now you need to choose a proper reason for this shut down, or restart. Select the reason for shut down or restart from the drop-down menu, as shown in below images. Click «Continue» button after selecting a proper reason for the shutdown or restart
Step 5 — Now Windows Server will display a warning message, showing that if you shut down the machine now, any unsaved work from other user logins will not be saved and lost. If you are sure that currently any other user is not logged-in to the Windows Server, click «Shut down anyway» button. If you have any unsaved works, go back and save all your unsaved works before clicking «Shut down anyway» button.
Now the Windows Server will shut down or restart, according to the option you had selected from the 3rd step.
You may also shut down or restart Windows Server from right-clicking the start menu and then clicking the «Shut down or sign out» menu, as shown below.
How to shutdown or restart Windows Server 2022 from Command Prompt terminal (cmd.exe)
To shutdown or restart Windows using Command Prompt (cmd.exe), you need to run cmd.exe as administrator. To run Command Prompt (cmd.exe) as administrator, search for «cmd» from Windows search box. Right-click «Command Prompt» from search result. Click «Run as administrator» from the context menu. Click following link to learn how to run any program as administrator.
Refer below screen shot.
The command used to shutdown or restart Windows from Command Prompt (cmd.exe) is shutdown.exe. To see all options available for shutdown.exe, view help by typing shutdown.exe /? from Command Prompt. The output is shown below.
C:\jajish>shutdown.exe /? Usage: shutdown.exe [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f] [/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]] No args Display help. This is the same as typing /?. /? Display help. This is the same as not typing any options. /i Display the graphical user interface (GUI). This must be the first option. /l Log off. This cannot be used with /m or /d options. /s Shutdown the computer. /sg Shutdown the computer. On the next boot, if Automatic Restart Sign-On is enabled, automatically sign in and lock last interactive user. After sign in, restart any registered applications. /r Full shutdown and restart the computer. /g Full shutdown and restart the computer. After the system is rebooted, if Automatic Restart Sign-On is enabled, automatically sign in and lock last interactive user. After sign in, restart any registered applications. /a Abort a system shutdown. This can only be used during the time-out period. Combine with /fw to clear any pending boots to firmware. /p Turn off the local computer with no time-out or warning. Can be used with /d and /f options. /h Hibernate the local computer. Can be used with the /f option. /hybrid Performs a shutdown of the computer and prepares it for fast startup. Must be used with /s option. /fw Combine with a shutdown option to cause the next boot to go to the firmware user interface. /e Document the reason for an unexpected shutdown of a computer. /o Go to the advanced boot options menu and restart the computer. Must be used with /r option. /m \\computer Specify the target computer. /t xxx Set the time-out period before shutdown to xxx seconds. The valid range is 0-315360000 (10 years), with a default of 30. If the timeout period is greater than 0, the /f parameter is implied. /c "comment" Comment on the reason for the restart or shutdown. Maximum of 512 characters allowed. /f Force running applications to close without forewarning users. The /f parameter is implied when a value greater than 0 is specified for the /t parameter. /d [p|u:]xx:yy Provide the reason for the restart or shutdown. p indicates that the restart or shutdown is planned. u indicates that the reason is user defined. If neither p nor u is specified the restart or shutdown is unplanned. xx is the major reason number (positive integer less than 256). yy is the minor reason number (positive integer less than 65536). Reasons on this computer: (E = Expected U = Unexpected P = planned, C = customer defined) Type Major Minor Title U 0 0 Other (Unplanned) E 0 0 Other (Unplanned) E P 0 0 Other (Planned) U 0 5 Other Failure: System Unresponsive E 1 1 Hardware: Maintenance (Unplanned) E P 1 1 Hardware: Maintenance (Planned) E 1 2 Hardware: Installation (Unplanned) E P 1 2 Hardware: Installation (Planned) E 2 2 Operating System: Recovery (Unplanned) E P 2 2 Operating System: Recovery (Planned) P 2 3 Operating System: Upgrade (Planned) E 2 4 Operating System: Reconfiguration (Unplanned) E P 2 4 Operating System: Reconfiguration (Planned) P 2 16 Operating System: Service pack (Planned) 2 17 Operating System: Hot fix (Unplanned) P 2 17 Operating System: Hot fix (Planned) 2 18 Operating System: Security fix (Unplanned) P 2 18 Operating System: Security fix (Planned) E 4 1 Application: Maintenance (Unplanned) E P 4 1 Application: Maintenance (Planned) E P 4 2 Application: Installation (Planned) E 4 5 Application: Unresponsive E 4 6 Application: Unstable U 5 15 System Failure: Stop error U 5 19 Security issue (Unplanned) E 5 19 Security issue (Unplanned) E P 5 19 Security issue (Planned) E 5 20 Loss of network connectivity (Unplanned) U 6 11 Power Failure: Cord Unplugged U 6 12 Power Failure: Environment P 7 0 Legacy API shutdown
Most important options of «shutdown.exe» are listed below. Note that below commands will not display any warning to save your session’s or other user session’s works. Make sure your session’s works or other user session’s works are saved before running shutdown.exe command for shutdown or restart Windows Server.
Shutdown Command Option | Description |
---|---|
shutdown.exe /s | Shutdown Windows without specifying a time gap to shutdown. Default time gap for shutdown after the command run is 30 seconds. |
shutdown.exe /r | Restart Windows without specifying a time gap to restart. Default time gap to shutdown for restart after the command run is 30 seconds. |
shutdown.exe /l | Logoff current user. Windows Server will logoff immediately after the command is run. Be careful, no warning will be displayed. |
shutdown.exe /f | Force shutdown, after closing all applications. Be careful, no warning will be displayed. |
shutdown.exe /a | Abort shutdown or restart command run earlier. Run this command before time gap. |
shutdown.exe /s /t | Specify a time gap to shutdown Windows Server in seconds. |
shutdown.exe /s /t | Specify a time gap to shutdown Windows Server to restart, in seconds. Example; shutdown.exe /s /t 0 specifies a 0 second shutdown (means immediate shutdown) |
«shutdown.exe /s» command to shutdown Windows Server
shutdown.exe /s command is used to shutdown the computer, without specifying any time gap. Default time gap for Windows Server to shutdown after running the command is 30 seconds. Please refer below image.
«shutdown.exe /r» command to restart Windows Server
shutdown.exe /r command is used to restart the computer, without specifying any time gap. Default time gap for Windows Server for shut down for restart after running the command is 30 seconds. Please refer below image.
«shutdown.exe /l» command to logoff current user from Windows Server
shutdown.exe /l command is used to logoff current user from Windows Server. User will be logged-off from Windows Server immediately after the command is run.
«shutdown.exe /s /t ( time gap )» command to shutdown Windows Server after a time gap
«shutdown.exe /s /t ( time gap )» command is used to shutdown Windows Server, after a specific time gap. Below example can be used to specify 120 seconds (2 minutes) time gap for the Windows Server to shutdown, after the command is run.
If you want to abort the shutdown command, you may close the warning dialog box and issue a shutdown /a command before specified time gap is elapsed.
shutdown.exe /s /t 120
«shutdown.exe /r /t ( time gap )» command to restart Windows Server after a time gap
«shutdown.exe /r /t ( time gap )» command is used to restart Windows Server, after a specific time gap. Below example can be used to specify 120 seconds (2 minutes) time gap for the Windows Server to shutdown for restart, after the command is run.
shutdown.exe /r /t 120
How to shutdown or restart Windows Server 2022 from PowerShell terminal
How to shutdown Windows from PowerShell terminal
Stop-Computer PowerShell cmdlet is used to shutdown local or remote Windows Server machines. Windows Server will be shutdown immediately after the cmdlet is run, without showing any warning. Take utmost care before running Stop-Computer PowerShell cmdlet. An example is shown below.
Stop-Computer OmniSecu-Serv02
In above example, OmniSecu-Serv02 is the name of the Windows Server, to shutdown. If no computer name is given, local computer will be shutdown.
Refer following link for Stop-Computer PowerShell cmdlet official Windows documentation.
How to restart Windows from PowerShell terminal
Restart-Computer PowerShell cmdlet is used to restart Windows Server on local and remote computers. Windows Server will be shutdown immediately for restart, after Restart-Computer PowerShell cmdlet is run, without showing any warning. Take utmost care before running Restart-Computer PowerShell cmdlet.
Restart-Computer OmniSecu-Serv02
In above example, OmniSecu-Serv02 is the name of the Windows Server, to restart. If no computer name is given, local computer will be restarted.
Refer following link for Restart-Computer PowerShell cmdlet official Windows documentation.
Written by Jajish Thomas.
Last updated on 18th May, 2022.
This tutorial will walk through a few ways to restart / shutdown Windows 2012 servers, we will also go through the charm and start options.
This tutorial will walk through a few ways to restart / shutdown Windows 2012 servers, we will also go through the charm and start options.
Windows Server 2012 uses a Start screen, Start is a window not a menu, programs can have tiles on the Start screen. Tapping or clicking a tile runs the program. When you press and hold or right click on a program an optional panel is displayed.
The charms bar is an optional panel for Start, Desktop and Server Settings, with a mouse and keyboard you can display the charms by moving the mouse pointer over the hidden button in the upper-right or lower-right corner of the Start, Desktop or Server Settings or by pressing the following keyboard combination Windows Key + C
One way to quickly open a program is by pressing the Windows Key and typing the program name, and then pressing Enter. This shortcut works as long as the Apps Search box is in focus which typically by default it is.
Pressing the Windows Key toggles between the Start screen and the desktop or if you are working with Server settings then between the Start screen and the Server Setting. You can also display the desktop by using the following keyboard shortcut Windows Key + D:
You can access Control Panel from Start, from your desktop by accessing charms, click on settings and click Control Panel additionally as Windows Explorer is pinned to the taskbar you can launch Windows Explorer and simply type Control Panel followed by Enter.
1. Shutdown & Restart using Power Settings Method
Display Start options by sliding in from the right side of the screen or moving the mouse pointer to the bottom right or upper right corner of the screen, click settings
Click Power
Select the appropriate action
2. Powershell Method
Launch an elevated windows powershell window
Type either (Restart-Computer) or (Stop-Computer) to restart or shutdown the server
Note: With Powershell to get help or examples for a cmdlet type (help restart-computer -examples) or (help stop-computer -examples)
3. Pressing the Physical Power Button
You can also press the server’s physical power button to initiate an orderly shutdown by logging off and then shutting down. Note this method does not restart a server once the server shuts down you would then have to press the power button to turn the server on.
There are other methods of restarting the server such as DOS, but the purpose of this tutorial is to list the 3 most common methods on restarting or shutting down a server.
If you found this article helpful please vote Yes below!
Как разрешить (запретить) обычному пользователю перезагрузку (выключение) Windows?
В этой статье рассмотрим несколько способов, позволяющих управлять правами пользователей на перезагрузку и выключение компьютеров и серверов Windows. По умолчанию пользователи могут перезагружать и выключать только десктопные версии Windows, и не могут перезагрузить сервер (кнопки выключения и перезагрузки недоступны). Возможно ли разрешить пользователю без прав локального администратора перезагружать Windows Server? Возможна и обратная задача – запретить пользователям перезагружать компьютер с Windows 10 или 11, который используется в качестве некого информационного киоска, диспетчерского пульта и т.д.
Разрешить (запретить) пользователю перезагрузку Windows с помощью групповых политик
Права на перезагрузку или выключение Windows можно настроить с помощью политики “Завершение работы системы” (Shut down the system) в секции GPO: Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Локальные политики -> Назначение прав пользователя (Computer Configuration -> Policies -> Windows Settings -> Security Settings -> User Rights Assignment). Этот параметр GPO позволяет указать пользователей, выполнивших локальных вход, которым разрешено выключать операционную систему.
Обратите, что по-умолчанию права на выключение/перезагрузку Windows различаются в десктопных версиях Windows 10/11 и в редакциях Windows Server.
Откройте редактор локальной политики gpedit.msc и перейдите в указанную выше секцию. Как вы видите, в десктопной версии Windows права на перезагрузку (выключение) компьютера есть у членов локальных групп: Администраторы, Пользователи и Операторы архива.
В Windows Server 2022/2019/2016 выключить или перезагрузить сервер могут только Администраторы или Backup Operators. Это правильно и логично, т.к. у пользователей в подавляющем большинстве случаев не должно быть прав на выключение сервера (даже случайное). Представьте себе RDS сервер, который периодически выключается из-за того, что пользователи случайно нажимают на кнопку выключения в стартовом меню…
На контроллерах домена Active Directory права на выключение Windows делегированы:
- Administrators
- Backup Operators
- Server Operators
- Print Operators
Если у пользователя нет прав на перезагрузку/выключение операционной системы, то при запуске следующей команды появится ошибка:
shutdown –r –t 0
Access is denied.(5)
Если вы хотите разрешить определенному пользователю (без права администратора) перезагружать ваш Windows Server, нужно добавить его учетную запись в эту политику и обновить настройки GPO на компьютере.
Вы можете вручную предоставить права на локальное выключение компьютера с помощью старой утилиты ntrights из Windows Server 2003 Resource Kit:
ntrights +r SeShutdownPrivilege -u itoservice\avivanov
Чтобы запретить пользователю перезагрузку:
ntrights -r SeShutdownPrivilege -u itoservice\avivanov
Или наоборот, вы хотите запретить пользователям десктопной редакции Windows 10/11 перезагружать компьютер, который выполняет некую серверную функцию. В этом случае вам достаточно удалить группу Users из локальной политики “Завершение работы системы”.
Аналогичным образом вы можете запретить (или разрешить) выключение или перезагрузку компьютеров для всех компьютеров в определённом Organizational Unit (OU) домена Active Directory с помощью доменной политики.
-
- Создайте в AD группу пользователей grpAllowRestartComputers, которым вы хотите предоставить права на перезагрузку компьютеров. Вы можете создать группу из консоли ADUC (dsa.msc) или PowerShell командлета New-ADGroup. Добавьте в группу пользователей;
- Откройте редактор доменных GPO (gpmc.msc). Выберите OU с компьютерами на которые вы хотите применить политику и выберите Create a GPO in this domain and Link it here;
- Задайте имя политики gpoAllowReboot и отредактируйте ее;
- Перейдите в раздел Computer Configuration -> Policies -> Windows Settings -> Security Settings -> User Rights Assignment;
- Откройте параметр Shut down, включите политику и добавьте в нее вашу группу пользователей и встроенную группу Administrators;
- Обновите настройки GPO на целевых компьютерах и проверьте настройки результирующей GPO в консоли rsop.msc. Пользователи из вашей группы теперь могут выключить или перезагружать этот хост;
- У пользователя в стартовом меню Windows станут доступны опции выключения и перезагрузки Windows.
Вы также можете предоставить обычным пользователям права на запуск и остановку служб.
Разрешить удаленное выключение/перезагрузку Windows
Вы также можете разрешить определенным пользователям перезагружать ваш Windows Server удаленно с помощью команды shutdown или командлета Restart-Computer не предоставляя пользователю права локального администратора, права на локальный вход (если этот метод входа запрещено использовать для входа в Windows), право на RDP входа на сервер под пользователем.
Для этого необходимо добавить учетную запись нужного пользователя в политику “Принудительное удаленное завершение работы” (Force shutdown from a remote system) в той же самой секции GPO Назначение прав пользователя (User Rights Assignment).
По умолчанию выключить сервер удаленно могут только администраторы. Добавьте в политику нужную учетную запись пользователя.
Также вы можете предоставить право SeRemoteShutdownPrivilege с помощью утилиты ntrights:
ntrights +r SeRemoteShutdownPrivilege -u itoservice\avivanov
В результате пользователю будет назначена привилегия SeRemoteShutdown и он сможет перезагрузить данный сервер удаленно с помощью команды:
shutdown -m \\msk-repo01 -r -f -t 0
или с помощью PowerShell командлета Restart-Computer:
Restart-Computer –ComputerName msk-repo01 –Force
VERBOSE: Performing the operation "Enable the Remote shutdown access rights and restart the computer." on target ...
Если на удаленном компьютере настроен WinRM (Windows Remote Management), вы можете использовать для подключения WSman вместо WMI:
Restart-Computer -ComputerName msk-repo01 -Protocol WSMan
Если у пользователя нет прав подключения к WMI, появится ошибка:
Restart-Computer : Failed to restart the computer srv-rds1 with the following error message: The WS-Management servicecannot process the request. The WMI service returned an 'access denied' error. .
В качестве альтернативного и более гибкого средства, позволяющего разрешить пользователю выполнять на удаленном хосте определенные команды можно использовать Windows PowerShell Just Enough Administration (JEA).
Скрыть кнопки выключения и перезагрузки в Windows
С помощью специального параметры GPO вы можете скрыть от пользователей команды выключения, перезагрузки и гибернации компьютера со стартового экрана и меню Start. Политика называется «Удалить команды Завершение работы, Перезагрузка, Сон, Гибернация и запретить доступ к ним” (Remove and Prevent Access to the Shut Down, Restart, Sleep, and Hibernates commands) и находится в разделе GPO пользователя и компьютера: Конфигурация компьютера (пользователя) -> Административные шаблоны -> Меню “Пуск” и панель задач (Computer Configuration -> Administrative Templates -> Start Menu and Taskbar).
После включения этой политики пользователь сможет завершить работу с Windows, только выполнив логофф. Кнопки выключения, сна и перезагрузки компьютера станут недоступными.
С помощью параметров реестра вы можете скрыть только определенный пункт меню. Например, вы хотите скрыть в стартовом меню только опцию Shutdown, но оставить Restart.
- Запустите редактор реестра regedit.exe ;
- Перейдите в раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\default\Start\HideShutDown;
- Измените значение параметра реестра value на 1;
- Это скроет кнопку Выключить компьютер в стартовом меню.
Вы также можете включить этот параметр из командной строки:
REG ADD «HKLM\SOFTWARE\Microsoft\PolicyManager\default\Start\HideShutDown» /v «value» /t REG_DWORD /d 1 /f
Или с помощью командлета PowerShell:
Set-ItemProperty -Path «HKLM:\SOFTWARE\Microsoft\PolicyManager\default\Start\HideShutDown» -Name «value» -Value 1
Вы можете скрыть и другие опции в стартовом меню Windows:
- Скрыть кнопку перезагрузка: REG ADD «HKLM\SOFTWARE\Microsoft\PolicyManager\default\Start\HideRestart » /v «value» /t REG_DWORD /d 1 /f
- Скрыть кнопку гибернации: REG ADD «HKLM\SOFTWARE\Microsoft\PolicyManager\default\Start\HideHibernate» /v «value» /t REG_DWORD /d 1 /f
- Скрыть кнопку перевода в спящий режим: REG ADD «HKLM\SOFTWARE\Microsoft\PolicyManager\default\Start\HideSleep» /v «value» /t REG_DWORD /d 1 /f
- Полностью скрыть раздел Shut down or sign out: REG ADD «HKLM\SOFTWARE\Microsoft\PolicyManager\default\Start\HidePowerButton» /v «value» /t REG_DWORD /d 1 /f
Если эти параметры не сработали на вашем компьютере, проверьте аналогичные ключи реестра в ветке HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Start.
Обратите внимание, что в Windows Server 2019 и 2022 при назначении прав пользователя, они могут получить ошибку:
You don’t have permission to shutdown or restart this computer.
В этом случае нужно включить в GPO параметр UAC: “User Account Control: Run all administrators in Admin Approval Mode”
Как узнать, кто перезагрузил (выключил) Windows?
Если вы предоставили обычному пользователю права на перезагрузку сервера вы, можете определить кто перезагружал определенный Windows сервер: пользователь или один из администраторов.
Для этого нужно использовать журнал событий Event Viewer ( eventvwr.msс ). Перейдите в раздел Windows Logs -> System и отфильтруйте журнал по событию с Event ID 1074.
Как вы видите, в журнале событий остались события все перезагрузки сервера в хронологическом порядке. В описании события указано время перезагрузки, причина и учетная пользователя запись, которая выполнила рестарт.
Log Name: System Source: User32 EventID: 1074 The process wininit.exe (192.168.13.153) has initiated the restart of computer SRV-RDS1 on behalf of user itoservice\username for the following reason: No title for this reason could be found Reason Code: 0x800000ff Reason Code: 0x500ff Shutdown Type: restart
События выключения компьютера также можно найти по EventID 1074:
The process C:\Program Files\VMware\VMware Tools\vmtoolsd.exe (SRV-RDS1) has initiated the shutdown of computer SRV-RDS1 on behalf of user NT AUTHORITY\SYSTEM for the following reason: Legacy API shutdown Reason Code: 0x80070000 Shutdown Type: shutdown Comment:
С помощью простого PowerShell скрипта можно получить список последних 10 событий перезагрузки или выключения компьютера. В событиях указаны имена пользователей и процессы, из которых была инициирована перезагрузка:
Get-EventLog -LogName System |
where {$_.EventId -eq 1074} |select-object -first 10 |
ForEach-Object {
$rv = New-Object PSObject | Select-Object Date, User, Action, process, Reason, ReasonCode
if ($_.ReplacementStrings[4]) {
$rv.Date = $_.TimeGenerated
$rv.User = $_.ReplacementStrings[6]
$rv.Process = $_.ReplacementStrings[0]
$rv.Action = $_.ReplacementStrings[4]
$rv.Reason = $_.ReplacementStrings[2]
$rv
}
} | Select-Object Date, Action, Reason, User, Process |ft
Удаленный доступ к рабочему столу по протоколу RDP широко используется для работы не только с серверами, но и с рабочими станциями, как для удаленной работы, так и в целях администрирования. Однако есть некоторые ограничения, в частности в среде клиентской ОС нельзя управлять параметрами питания, даже имея права локального администратора. В некоторых случаях это способно взывать затруднения, поэтому если вы до сих пор не знаете, как выключить или перезагрузить клиентскую версию ОС через RDP — эта статья для вас.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
В серверных системах семейства 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, либо добавьте туда ее расположение, это позволить запускать ее по короткому имени, без указания пути. Синтаксис утилиты похож на синтаксис стандартной, но есть некоторые отличия, так для выключения выполните:
psshutdown -k -f -t 0
а для перезагрузки:
psshutdown -r -f -t 0
Поясним используемые ключи:
- k — выключение системы
- r — перезагрузка
- f — принудительное завершение процессов
- t — время выполнения команды
Если вместо ключа -k использовать для выключения ключ -s, то система завершит работу без выключения питания, старожилы должны хорошо помнить:
Кроме того, данная утилита позволяет управлять питанием других ПК по сети. Если честно, то работать по сети умеет и штатная утилита shutdown, достаточно указать ключ:
-m \\computer
Но есть один существенный недостаток — команда выполняется в контексте запустившего его пользователя, поэтому вы из дома не сможете выключить рабочий ПК, даже имея доступ в корпоративную сеть через VPN и имея учетные данные администратора сети.
PsShutdown данного недостатка лишена и позволяет указывать учетные данные для подключения к удаленному ПК, например:
psshutdown \\computer -u username -p password -r -f -t 0
Данная команда выполнит перезагрузку удаленного ПК computer использовав для подключения имя username и пароль password. Следует помнить, что указанный вами пользователь должен иметь права доступа к административному ресурсу ADMIN$. В среде Active Directory этим правом обладает администратор домена, а вот в одноранговой сети могут возникнуть затруднения.
Если вы попробуете выключить удаленную систему даже с использованием учетных данных локального администратора, то скорее всего получите ошибку Отказано в доступе.
Это свидетельствует о том, что данный пользователь не имеет доступа к ресурсу ADMIN$. Чтобы его включить нужно выполнить два условия: включить общий доступ к файлам и принтерам
А затем в ветвь реестра
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System
добавить параметр типа DWORD с именем
LocalAccountTokenFilterPolicy
и установить его значение равным 1. После этого компьютер потребуется перезагрузить.
Попробуем снова выключить его удаленно.
Как видим в этот раз команда отработала успешно.
PowerShell
Использовать PowerShell для выключения или перезагрузки компьютера, это сродни стрельбы из пушки по воробьям, но в ряде случаев может оказаться полезным.
Для выключения используйте команду:
Stop-Computer -Force
А для перезагрузки:
Restart-Computer -Force
Ключ -Force в данном случае аналогичен ключу -f команды shutdown и предполагает принудительное завершение работы мешающих выключению приложений.
Также PowerShell можно использовать для управления питанием по сети, например, можно выключить удаленный ПК командой:
Stop-Computer -ComputerName computer -Credential username -Force
Где ключи:
- ComputerName — имя удаленного компьютера, допускается перечисление нескольких имен через запятую
- Credential — имя учетной записи для аутентификации в удаленной системе
При этом работа через PowerShell более безопасна, так как пароль не вводится открытым текстом и не остается в истории команд. Для аутентификации используются стандартные механизмы ОС.
Как видим, для управления питанием в ОС Windows доступны самые разнообразные инструменты — на любой вкус и цвет. При этом все они доступны внутри терминальной сессии, какой из них использовать — дело личного вкуса и предпочтений.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.