Я пытаюсь создать пакетный скрипт, чтобы увидеть, если служба Windows, напр.wuauserv
установлен на автоматический запуск.До сих пор я пробовал
sc query [ServiceName] | findstr /i "STATE"
, но это только показывает мне рабочее состояние, и я хочу знать, настроено ли оно на автоматический запуск.Бонусные баллы за оператор IF, который проверяет состояние.
РЕШЕНИЕ Вот решение, которое я разработал благодаря нижеуказанным людям и другим пользователям SO. Не стесняйтесь вносить улучшения в этот GitHub Gist
@ECHO OFF
ECHO This script re-enables Windows Update and sets it to Automatic.
ECHO However, this script needs to be run as admin.
net.exe session 1>NUL 2>NUL || goto :not_admin
echo Sucess! You ran this script with Admin rights!
sc qc "wuauserv" | findstr /i AUTO_START > nul
goto :check
:check
if %ERRORLEVEL% equ 0 (
ECHO The service is set to start automatically.
TIMEOUT 5
) ELSE (
echo The service is NOT set to start automatically. Trying again.
sc config "wuauserv" start= auto
net start wuauserv
goto :check
)
exit
:not_admin
echo ERROR: please run as admin
TIMEOUT 10 /nobreak
exit