Cómo administrar los servicios de Windows mediante PowerShell



Acceder a los servicios de Windows con PowerShell es bastante práctico, sobre todo si estás experimentando con el comportamiento de inicio o simplemente quieres implementar algunos ajustes en el script. No sé por qué, pero el administrador de servicios gráficos (services.msc) a veces puede ser un poco pesado o demasiado lento. Con los comandos de PowerShell, puedes omitir la interfaz de usuario y gestionar todo directamente desde la terminal, lo cual es fundamental para la automatización o la resolución de problemas. Un aviso: si intentas configurar «Automático (Inicio retrasado)», sigue siendo un elemento registrado de la interfaz de usuario; PowerShell solo gestiona los estados «Automático» o «Manual».

Cómo administrar los servicios de Windows con PowerShell

Deshabilitar o habilitar un servicio

Si un servicio se inicia automáticamente constantemente y desea detenerlo, la forma más sencilla es configurar su tipo de inicio como «Deshabilitado» antes de reiniciar. Funciona en la mayoría de las versiones de Windows, incluyendo Windows 10 y las ediciones de servidor. Recuerde que PowerShell no muestra un mensaje de éxito después de cambiar el tipo de inicio, así que debe comprobar el estado usted mismo.

Get-Service -Name "spooler" | Select-Object -Property Name, StartType Set-Service -Name "spooler" -StartupType Disabled Get-Service -Name "spooler" | Select-Object -Property Name, StartType 

Este fragmento primero comprueba el tipo de inicio del servicio, luego lo establece como «Deshabilitado» y vuelve a comprobarlo. Sinceramente, es un poco extraño: no se recibe una confirmación de éxito, pero si el tipo de inicio aparece como «Deshabilitado», significa que funcionó. En algunos equipos, puede ser necesario reiniciar para detener por completo el inicio automático del servicio después de cambiar esta configuración.

Detener el servicio manualmente

Si desea detener el servicio inmediatamente (por ejemplo, antes de apagarlo), puede ejecutar:

Stop-Service -Name "spooler"

Esto mata el servicio instantáneamente, pero tenga en cuenta: si el servicio está configurado para iniciarse automáticamente nuevamente al reiniciar, es posible que deba deshabilitarlo como se muestra arriba o cambiar su tipo de inicio.

Configuración del servicio en manual o automático

Esto es útil si desea que un servicio se ejecute solo cuando sea necesario. Por ejemplo, para configurarlo en manual, haga lo siguiente:

Set-Service -Name "spooler" -StartupType Manual

Y si quieres que se inicie automáticamente con Windows, ejecuta:

Set-Service -Name "spooler" -StartupType Automatic

Nota: No se puede configurar «Automático (Inicio Retrasado)» mediante PowerShell; eso sigue siendo una función de la interfaz gráfica. Tendría que acceder a la interfaz gráfica o modificar la configuración del registro, pero eso es otro problema.

Reiniciando el servicio

Si ha deshabilitado o detenido un servicio y desea iniciarlo nuevamente manualmente, simplemente ejecute:

Start-Service -Name "spooler"

Esto lo pone en marcha sin necesidad de reiniciar. Si estás programando, estos comandos son una forma rápida de alternar servicios sin tener que modificar la interfaz gráfica.

Todos estos comandos hacen que la administración de los servicios de Windows sea mucho más rápida y flexible, especialmente si automatizas tareas o quieres evitar problemas con la interfaz gráfica. Recuerda que, a veces, Windows se obstina en mantener el servicio en inicio automático, por lo que podrías tener que reiniciar o revisar la configuración de la directiva de grupo si la situación se vuelve muy extraña.



¿Te resultó útil este artículo?