Permitir o impedir que los usuarios que no sean administradores reinicien o apaguen Windows
En este artículo, veremos varias formas de administrar los permisos de usuarios que no son administradores para reiniciar o apagar estaciones de trabajo o servidores de Windows. De forma predeterminada, los usuarios sin privilegios solo pueden reiniciar y apagar las versiones de escritorio de Windows y no pueden reiniciar un host de Windows Server (los botones de apagado y reinicio no están disponibles en el menú Inicio). ¿Es posible permitir que un usuario sin privilegios de administrador local reinicie Windows Server? También hay una tarea inversa: cómo evitar que los usuarios reinicien una computadora con Windows 10 u 11, que se utiliza como quiosco de información, consola de despacho, etc.
¿Cómo permitir o evitar la opción de apagado/reinicio en Windows a través de GPO?
Puede configurar los permisos para reiniciar o apagar Windows utilizando el parámetro Apagar el sistema en la sección GPO Configuración del equipo -> Políticas -> Configuración de Windows -> Configuración de seguridad -> Políticas locales -> Asignación de derechos de usuario. Esta opción de GPO le permite especificar qué usuarios que iniciaron sesión localmente pueden apagar un sistema operativo.
Tenga en cuenta que los permisos de reinicio/apagado predeterminados para las versiones de escritorio de Windows 10/11 y las ediciones de Windows Server son diferentes.
Abra el Editor de directivas de grupo local (gpedit.msc) y vaya a la sección especificada anteriormente. Como puede ver, los miembros de los grupos locales Administradores, Usuarios y Operadores de copia de seguridad tienen permisos para apagar/reiniciar un equipo con Windows 10o 11.
En Windows Server 2022/2019/2016, solo los administradores o los operadores de copia de seguridad pueden apagar o reiniciar el servidor. Es razonable, ya que en la mayoría de los casos un usuario que no sea administrador no debe tener los privilegios para apagar un servidor (incluso accidentalmente). Imagínese un host de granja RDS que a menudo se apaga porque los usuarios hacen clic accidentalmente en el botón "Apagar" en el menú Inicio...
En los controladores de dominio de Active Directory, los derechos para cerrar Windows se delegan en:
Administradores
Operadores de respaldo
Operadores de servidor
Operadores de impresión
Si el usuario no tiene permisos para reiniciar/apagar el sistema operativo, aparecerá un error al ejecutar el siguiente comando:
shutdown -r -t 0Access is denied.(5)Si desea permitir que un usuario específico (sin derechos de administrador) reinicie su Windows Server, debe agregar su cuenta a esta política y actualizar la configuración de GPO en la computadora.
Puede otorgar permisos manualmente para apagar la computadora localmente usando la herramienta ntrights heredada del Kit de recursos de Windows Server 2003:
ntrights +r SeShutdownPrivilege -u a-d\j.smith
Para evitar que el usuario apague o reinicie Windows:
ntrights -r SeShutdownPrivilege -u a-d\j.smithO, viceversa, puede evitar que los usuarios de estaciones de trabajo que ejecutan la edición de escritorio de Windows 10/11 reinicien la computadora que realiza algún tipo de función de servidor. En este caso, simplemente elimine el grupo Usuarios de la política local Apagar el sistema.
De la misma manera, puede evitar (o permitir) operaciones de apagado/reinicio para usuarios que no sean administradores en todas las computadoras en una unidad organizativa (OU) específica de un dominio de Active Directory usando un GPO de dominio.
Cree el grupo de usuarios grpAllowRestartComputers en AD, a quien desea otorgar los permisos para reiniciar las computadoras. Puede crear un nuevo grupo usando el complemento ADUC (
dsa.msc) o el cmdlet de PowerShell New-ADGroup. Agregar usuarios al grupo;
Abra la Consola de administración de directivas de grupo del dominio (
gpmc.msc). Seleccione la unidad organizativa con los equipos a los que desea aplicar la política y seleccione Crear un GPO en este dominio y vincularlo aquí;
Establezca el nombre de GPO (gpoAllowReboot) y edítelo;
Vaya a Configuración del equipo -> Políticas -> Configuración de Windows -> Configuración de seguridad -> Asignación de derechos de usuario;
-
Abra la opción Cerrar, habilite la política y agregue su grupo objetivo (
grpAllowRestartComputers) y el incorporado
Administratorsgrupo;
Actualice la configuración de GPO en los equipos de destino y verifique la configuración de GPO resultante con el
rsop.msccomplemento Los usuarios de su grupo ahora pueden apagar o reiniciar este host;
Las opciones para apagar y reiniciar el sistema operativo aparecerán en el menú Inicio del usuario.
También puede otorgar permisos para iniciar/detener/reiniciar los servicios para usuarios que no sean administradores.
Permitir apagado/reinicio remoto sin permisos de administrador
Puede permitir que algunos usuarios que no son administradores reinicien su Windows Server de forma remota usando el
shutdowncomando sin otorgarles privilegios de administrador local, permiso para iniciar sesión a través de Escritorio remoto (RDP) o permisos de inicio de sesión local (si este método de inicio de sesión no está permitido)
Para hacerlo, agregue una cuenta de usuario a la opción de política de grupo Forzar el apagado desde un sistema remoto en la misma sección de GPO (Asignación de derechos de usuario).
De forma predeterminada, solo los administradores pueden apagar/reiniciar el servidor de forma remota. Agregue una cuenta de usuario a la política.
También puede otorgar SeRemoteShutdownPrivilege utilizando la herramienta de línea de comandos ntrights:
ntrights +r SeRemoteShutdownPrivilege -u a-d\j.smithDespués de eso, el usuario obtendrá el privilegio SeRemoteShutdown y podrá reiniciar el servidor de forma remota usando el comando:
shutdown -m \\hamb-rds01 -r -f -t 0O usando el cmdlet Restart-Computer PowerShell:
Restart-Computer -ComputerName hamb-rds01 -ForceVERBOSE: Performing the operation "Enable the Remote shutdown access rights and restart the computer." on target ...Si WinRM (administración remota de Windows) está habilitado en la computadora remota, puede usar WSman en lugar de WMI para conectarse:
Restart-Computer -ComputerName hamb-rds01 -Protocol WSManSi el usuario no tiene permiso para conectarse al espacio de nombres WMI, aparecerá un error:
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. .Además, puede usar Windows PowerShell Just Enough Administration (JEA) para permitir que un usuario ejecute solo ciertos comandos en un host remoto.
¿Desactivar (ocultar) las opciones de apagado o reinicio desde Windows?
Puede usar la directiva de grupo para ocultar las opciones de apagado, reinicio, suspensión e hibernación de la pantalla de inicio de sesión y el menú de inicio. Esta opción de GPO se llama Eliminar e impedir el acceso a los comandos Apagar, Reiniciar, Suspender e Hibernar y se encuentra en Configuración de usuario -> Plantillas administrativas -> Menú Inicio y barra de tareas
Después de habilitar esta política, un usuario solo podrá desconectarse de la sesión actual o usar la
logoffdominio. Los botones Apagar, Suspender y Reiniciar no estarán disponibles.
Puede usar algunos ajustes de registro para ocultar solo un elemento específico del menú de encendido/apagado en Windows. Por ejemplo, desea ocultar solo la opción "Apagar" en el menú Inicio, pero mantener "Reiniciar".
Abra el Editor del Registro (
regedit.exe);
Vaya a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\default\Start\HideShutDown;
Cambie la opción Valor a 1;
Esto ocultará solo la opción "Apagar" del menú Inicio de Windows.
Puede configurar esta opción de registro desde el símbolo del sistema:
REG ADD "HKLM\SOFTWARE\Microsoft\PolicyManager\default\Start\HideShutDown" /v "value" /t REG_DWORD /d 1 /fO usando PowerShell:
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\PolicyManager\default\Start\HideShutDown" -Name "value" -Value 1Además, puede ocultar otras opciones en el menú Inicio y en la pantalla de inicio de sesión de Windows:
Ocultar solo la opción Reiniciar en Windows:
REG ADD "HKLM\SOFTWARE\Microsoft\PolicyManager\default\Start\HideRestart " /v "value" /t REG_DWORD /d 1 /fOcultar la opción Hibernar del menú Inicio en Windows: R
EG ADD "HKLM\SOFTWARE\Microsoft\PolicyManager\default\Start\HideHibernate" /v "value" /t REG_DWORD /d 1 /fOcultar Dormir en el menú Inicio:
REG ADD "HKLM\SOFTWARE\Microsoft\PolicyManager\default\Start\HideSleep" /v "value" /t REG_DWORD /d 1 /fPara deshabilitar completamente el botón Encender y eliminar la opción "Apagar o cerrar sesión" del menú de WinX:
REG ADD "HKLM\SOFTWARE\Microsoft\PolicyManager\default\Start\HidePowerButton" /v "value" /t REG_DWORD /d 1 /f
Si esta configuración no funciona en su computadora, verifique las claves de registro similares en HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Start\.
Tenga en cuenta que en Windows Server 2019/2022, después de asignar el permiso de reinicio a un usuario, puede aparecer un error:
You don’t have permission to shutdown or restart this computer.En este caso, debe habilitar el parámetro UAC "Control de cuentas de usuario: ejecutar todos los administradores en modo de aprobación de administrador" en el GPO:
¿Cómo averiguar quién reinició/apagó un servidor de Windows?
Si ha otorgado permiso para reiniciar una computadora a un usuario que no es administrador, es posible que desee saber quién reinició un servidor de Windows: un usuario o uno de los administradores.
Utilice el Visor de eventos (
eventvwr.msc) para buscar registros de apagado en Windows. Vaya a Registros de Windows -> Sistema y filtre el registro actual por el ID de evento 1074.
También puede usar los filtros de eventos en el Visor de eventos para ver los registros de conexión RDP.
Como puede ver, hay eventos de reinicio del servidor en el registro en orden cronológico. La descripción del evento incluye la hora de reinicio, el motivo y la cuenta de usuario que reinició el host.
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:
Puede obtener información sobre eventos recientes de apagado de Windows utilizando el mismo ID de evento 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:Use el siguiente script de PowerShell simple para enumerar los últimos diez eventos de reinicio y apagado de la computadora. Esta lista contiene los nombres de los usuarios y procesos desde los que se inició el reinicio.
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












