Por favor, tómatelo con calma si hablo fuera de lugar, esta es mi primera publicación. :-) pero he estado buscando una manera de consultar el servicio de actualización de Windows a través de un archivo por lotes y, según su estado actual, activarlo o desactivarlo. En última instancia, quiero poder consultar si el servicio se inició y luego detenerlo. Además de eso, quiero poder consultar si está configurado para iniciarse automáticamente con Windows y desactivarlo. Luego tuve que consultar el mismo archivo por lotes y posiblemente ir al otro. como si estuviera encendido, apágalo. Si está apagado, enciéndelo. o posiblemente consultar, luego dar la opción de dejar apagado/encendido o cambiar el estado e inicio del servicio.
Descubrí cómo hacer estas cosas por separado (principalmente a través de este sitio) usando los siguientes comandos:
- sc iniciar wuauserv
- sc detener wuauserv
- Consulta wuauserv
- sc config wuauserv inicio = auto
- sc config wuauserv inicio = deshabilitado
Entonces, con estos puedo crear dos archivos diferentes para detener el servicio y deshabilitarlo al inicio y un archivo separado para iniciar el servicio y configurar el inicio en automático, pero me gustaría hacer todo esto con un solo archivo si es posible.
Esto fue muy largo, pero quería asegurarme de lograr mi objetivo y demostrar que hice una investigación preventiva.
Actualización: Tuve que ampliar un poco tu ejemplo: así es como se ve el mío cuando hice clic derecho en el archivo .bat que creé y lo ejecuté como administrador:
Noté que parece que estás usando Windows 8.1 y yo en Windows 7. ¿Eso hace alguna diferencia?
Respuesta1
Así es cómo:
@echo off
@title Windows Update Status Tool
IF "%~1"=="" goto ERROR
IF "%~1"=="q" goto Q
IF "%~1"=="disable" goto DISABLE
IF "%~1"=="stop" goto STOP
IF "%~1"=="start" goto START
IF "%~1"=="enable" goto ENABLE
:Q
sc query wuauserv
pause
goto EOF
:DISABLE
sc config wuauserv start=disabled
echo Done!
pause
goto EOF
:STOP
sc stop wuauserv
goto EOF
:START
sc start wuauserv
goto EOF
:ENABLE
sc config wuauserv start=auto
echo Done!
pause
goto EOF
:ERROR
echo Invalid command! Valid syntax is: q, disable, enable, stop, start.
pause
goto EOF
:EOF
Tenga en cuenta que este archivo por lotes debe ejecutarse como administrador para poder utilizarse. Acepta los parámetros q, start, stop, enable, disable
y se puede ejecutar usando esta sintaxis, winupd q
reemplace q con el elemento que desea que haga el archivo.
Ejemplo: