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

В этой статье мы рассмотрим несколько способов управления правами неадминистративных пользователей на перезагрузку или выключение рабочих станций или серверов Windows. По умолчанию непривилегированные пользователи могут перезагружать и выключать только настольные версии Windows, и не могут перезагружать хост Windows Server (кнопки выключения и перезагрузки недоступны в меню Пуск). Возможно ли разрешить пользователю без привилегий локального администратора перезагружать Windows Server? Есть и обратная задача — как запретить пользователям перезагружать компьютер с Windows 10 или 11, который используется в качестве информационного киоска, диспетчерской консоли и т. д.

Как разрешить или запретить параметры выключения/перезагрузки в Windows с помощью GPO

Вы можете установить разрешения на перезагрузку или выключение Windows с помощью параметра Выключить систему параметр в разделе GPO Конфигурация компьютера -> Политики -> Параметры Windows -> Параметры безопасности -> Локальные политики -> Назначение прав пользователей. Этот параметр GPO позволяет указать, какие локально вошедшие в систему пользователи могут выключать операционную систему.

Обратите внимание, что разрешения по умолчанию на перезагрузку/выключение для настольных версий Windows 10/11 и редакций Windows Server отличаются.

Откройте редактор локальной групповой политики (gpedit.msc) и перейдите в указанный выше раздел. Как вы можете видеть, члены локальных групп Администраторы, Пользователи и Резервные операторы имеют право выключать/перезагружать компьютер, на котором выполняется Windows 10 или 11.

Выключение системы - разрешить пользователю выключать/перезапускать окна через gpoВыключить систему - разрешить пользователю выключать/перезагружать окна через gpo

На сайте Windows Server 2022/2019/2016, только Администраторы или Резервные операторы может выключить или перезапустить сервер. Это разумно, поскольку в большинстве случаев пользователь, не являющийся администратором, не должен иметь привилегий для выключения сервера (даже случайного). Представьте себе хост фермы RDS, который часто выключается из-за того, что пользователи случайно нажимают на кнопку «Shutdown» в меню «Пуск»…

На контроллерах домена Active Directory права на выключение Windows делегируются:

  • Администраторы
  • Операторы резервного копирования
  • Операторы сервера
  • Операторы печати

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

shutdown –r –t 0

Access is denied.(5)

команда shutdown - доступ запрещен 5команда shutdown - доступ запрещен 5

Если вы хотите разрешить определенному пользователю (без прав администратора) перезагружать ваш Windows Server, вам нужно добавить его учетную запись в эту политику и обновить параметры GPO на компьютере.

Вы можете вручную предоставить разрешения на локальное выключение компьютера с помощью устаревшего инструмента ntrights из Windows Server 2003 Resource Kit:

ntrights +r SeShutdownPrivilege -u woshub\j.smith

Чтобы запретить пользователю выключать или перезапускать Windows:

ntrights -r SeShutdownPrivilege -u woshub\j.smith

Или, наоборот, можно запретить пользователям рабочих станций под управлением настольной версии Windows 10/11 перезапускать компьютер, выполняющий какую-либо серверную функцию. В этом случае просто удалите Пользователи группа из локальной политики Выключите систему.

Аналогичным образом можно запретить (или разрешить) операции выключения/перезагрузки для неадминистративных пользователей на всех компьютерах в определенной организационной единице (OU) домена Active Directory с помощью GPO домена.

  1. Создайте grpAllowRestartComputers группа пользователей в AD, которой вы хотите предоставить разрешения на перезапуск компьютеров. Вы можете создать новую группу с помощью оснастки ADUC (dsa.msc) или New-ADGroup Команда PowerShell. Добавьте пользователей в группу;
  2. Откройте консоль управления групповой политикой домена (gpmc.msc). Выберите OU с компьютерами, к которым вы хотите применить политику, и выберите Создать GPO в этом домене и связать его здесь;создать новое гпосоздать новое gpo
  3. Установите имя GPO (gpoAllowReboot) и отредактируйте его;
  4. Перейдите в раздел Конфигурация компьютера -> Политики -> Параметры Windows -> Параметры безопасности -> Назначение прав пользователей;
  5. Откройте Выключить , включите политику и добавьте целевую группу (grpAllowRestartComputers) и встроенную Administrators группа;gpo: разрешить окна выключения для пользователей, не являющихся администраторамиgpo: разрешить окна выключения для пользователей, не являющихся администраторами
  6. Обновите параметры GPO на целевых компьютерах и проверьте полученные параметры GPO с помощью программы rsop.msc оснасткой. Теперь пользователи вашей группы могут выключать или перезагружать этот узел;
  7. Опции выключения и перезагрузки операционной системы появятся в пользовательском меню «Пуск».разрешить перезагрузку и выключение окон для неадминистраторов в меню разрешить перезагрузку и закрытие окон для неадминистратора в меню пуск
Вы также можете предоставить права на запуск/остановку/перезапуск служб для пользователей, не являющихся администраторами.

Разрешение удаленного выключения/перезапуска без прав администратора

Вы можете разрешить некоторым пользователям, не являющимся администраторами, удаленно перезапускать ваш Windows Server с помощью функции shutdown без предоставления им прав локального администратора, разрешения на вход через Remote Desktop (RDP) или разрешения на локальный вход (если этот способ входа запрещен).

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

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

gpo для разрешения удаленного перезапуска windows: Принудительное завершение работы удаленной системы gpo to allow remote windows restart: Принудительное завершение работы удаленной системы

Вы также можете предоставить привилегию SeRemoteShutdownPrivilege с помощью функции ntrights инструмент командной строки:

ntrights +r SeRemoteShutdownPrivilege -u woshub\j.smith

После этого пользователь получит SeRemoteShutdown привилегию и сможете удаленно перезапустить сервер с помощью команды:

shutdown -m \\hamb-rds01 -r -f -t 0

Или с помощью команды Restart-Computer PowerShell:

Restart-Computer –ComputerName hamb-rds01 –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 hamb-rds01 -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 называется Удаление и предотвращение доступа к командам Shut Down, Restart, Sleep и Hibernate и находится в разделе Конфигурация пользователя -> Административные шаблоны -> Меню «Пуск» и панель задач

Групповая политика: Удаление и предотвращение доступа к командам Групповая политика: Удаление и предотвращение доступа к командам Shut Down, Restart, Sleep и Hibernate - удаление параметров в меню

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

меню пуск стартовое меню

С помощью некоторых настроек реестра можно скрыть только определенный пункт из меню «Питание/выключение» в Windows. Например, вы хотите скрыть только пункт «Выключение» в меню «Пуск», но сохранить пункт «Перезагрузка».

  1. Откройте редактор реестра (regedit.exe);
  2. Перейти к HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\default\Start\HideShutDown;
  3. Изменить Значение вариант 1;установить HideShutDown через рееструстановить HideShutDown через реестр
  4. Это позволит скрыть только опцию «Завершение работы» из меню «Пуск» Windows.отключить опцию выключения в меню отключить опцию выключения в меню пуск, но сохранить перезагрузку
Вы можете установить этот параметр реестра из командной строки:

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:

  • Скрыть только тр Перезапустить опция в Windows: REG ADD "HKLM\SOFTWARE\Microsoft\PolicyManager\default\Start\HideRestart " /v "value" /t REG_DWORD /d 1 /f
  • Скрыть Hibernate опция из меню «Пуск» в Windows: 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
  • Чтобы полностью отключить Питание и удалите опцию «Выключить или выйти из системы» из меню WinX: REG ADD "HKLM\SOFTWARE\Microsoft\PolicyManager\default\Start\HidePowerButton" /v "value" /t REG_DWORD /d 1 /f
Если эти настройки не работают на вашем компьютере, проверьте аналогичные ключи реестра в разделе HKLM\SOFTWARE\Microsoft\PolicyManager\текущий\device\Start\.

Обратите внимание, что в Windows Server 2019/2022 после назначения пользователю разрешения на перезапуск может возникнуть ошибка:

You don’t have permission to shutdown or restart this computer.

У вас нет разрешения на выключение или перезагрузку этого компьютера.У вас нет разрешения на выключение или перезагрузку этого компьютера.

В этом случае необходимо включить параметр UAC «Контроль учетных записей пользователей: Запускать всех администраторов в режиме одобрения администратора» в GPO:

Как узнать, кто перезапустил/выключил сервер Windows

Если вы предоставили разрешение на перезагрузку компьютера пользователю, не являющемуся администратором, вы можете захотеть узнать, кто перезапустил Windows Server: пользователь или один из администраторов.

Используйте средство просмотра событий (eventvwr.msc) для поиска журналов отключения в Windows. Перейдите к Журналы Windows -> Система и отфильтруйте текущий журнал по идентификатору события 1074.

отфильтровать события по идентификатору события перезапуска 1074филт событий по 1074 перезапуск события id

Вы также можете использовать фильтры событий в Event Viewer для просмотра журналов RDP-соединений.

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

Log Name:SystemSource: User32
EventID: 1074
The process C:\Windows\system32\shutdown.exe (BE-BAK01) has initiated the restart of computer MUN-BAK01 on behalf of user corp\jsmith for the following reason: No title for this reason could be foundReason Code: 0x800000ff
Reason Code:  0x500ff
Shutdown Type: restart
Comment:

EventID: 1074 Процесс C:\Windows\system32\shutdown.exe инициировал перезагрузку компьютера от имени пользователя по следующей причине: Reason Code: 0x800000ff Тип выключения: перезагрузка EventID: 1074 Процесс C:\Windows\system32\shutdown.exe инициировал перезагрузку компьютера от имени пользователя по следующей причине: Reason Code: 0x800000ff Тип выключения: перезагрузка

Вы можете получить информацию о последних событиях выключения Windows, используя тот же идентификатор события 1076:

The process C:\Program Files\VMware\VMware Tools\vmtoolsd.exe (MUN-BAK1) has initiated the shutdown of computer MUN-BAK1 on behalf of user NT AUTHORITY\SYSTEM for the following reason: Legacy API shutdown
Reason Code: 0x80070000
Shutdown Type: shutdown
Comment:

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

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

powershell получить историю выключений в событиях windowspowershell получить историю отключений в событиях windows

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *