Как мне запросить, а затем включить и выключить обновления Windows с помощью пакетного файла?

Как мне запросить, а затем включить и выключить обновления Windows с помощью пакетного файла?

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

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

  • sc запустить wuauserv
  • sc остановить wuauserv
  • Запрос wuauserv
  • sc config wuauserv start= авто
  • sc config wuauserv start= отключен

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

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

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

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

решение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 на элемент, который вы хотите, чтобы файл выполнил.

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

Связанный контент