3

Пожалуйста, будьте спокойны, если я говорю не к месту, это мой первый пост. :-) но я искал способ сделать запрос к службе Центра обновления Windows через командный файл и, основываясь на его текущем состоянии, либо выключить его, либо включить. В конечном счете, я хочу иметь возможность запросить, запущена ли служба, а затем остановить ее. Вдобавок ко всему, я хочу иметь возможность запрашивать, установлен ли он для автоматического запуска с Windows и отключения. Тогда у меня был тот же командный файл для запроса и, возможно, другой. например, если включен, выключите. Если выключено, включите. или, возможно, запросить, а затем дать возможность отключить / включить или изменить состояние и запуск службы.

Я узнал, как делать эти вещи отдельно (в основном через этот сайт) с помощью следующих команд:

  • sc start wuauserv
  • sc stop wuauserv
  • Запрос wuauserv
  • sc config wuauserv start = auto
  • sc config wuauserv start = отключено

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

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

Обновление: пришлось немного увеличить ваш пример: Вот как выглядит мой, когда я щелкнул правой кнопкой мыши на созданном мною файле .bat и запустил его от имени администратора:

Я заметил, что вы, кажется, используете Windows 8.1 и im на Windows 7. Это имеет значение?

1 ответ1

1

Вот как:

@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

Имейте в виду, что этот командный файл должен быть запущен от имени администратора. Он принимает параметры q, start, stop, enable, disable и может быть запущен с использованием этого синтаксиса. winupd q замените q на элемент, который вы хотите, чтобы файл выполнял.

Пример: сценарий демо

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .