Wie kann ich Windows-Updates über eine Batchdatei abfragen und dann ein- und ausschalten?

Wie kann ich Windows-Updates über eine Batchdatei abfragen und dann ein- und ausschalten?

Bitte seien Sie nachsichtig mit mir, wenn ich unangebrachte Äußerungen mache, denn dies ist mein erster Beitrag. :-), aber ich habe nach einer Möglichkeit gesucht, den Windows Update-Dienst über eine Batchdatei abzufragen und ihn basierend auf seinem aktuellen Status entweder aus- oder einzuschalten. Letztendlich möchte ich abfragen können, ob der Dienst gestartet ist, und ihn dann stoppen. Darüber hinaus möchte ich abfragen können, ob er auf automatischen Start mit Windows eingestellt ist und ihn deaktivieren. Dann würde ich dieselbe Batchdatei abfragen und möglicherweise das andere tun. Also, wenn eingeschaltet, ausschalten. Wenn ausgeschaltet, einschalten. Oder möglicherweise abfragen, dann die Option geben, den Dienst aus-/einzuschalten oder den Status zu ändern und zu starten.

Ich habe herausgefunden, wie man diese Dinge separat erledigt (hauptsächlich über diese Site), indem ich die folgenden Befehle verwende:

  • sc starte wuauserv
  • sc stop wuauserv
  • Abfrage wuauserv
  • sc config wuauserv start=auto
  • sc config wuauserv start= deaktiviert

Damit kann ich zwei verschiedene Dateien erstellen, um den Dienst zu stoppen und ihn beim Start zu deaktivieren, und eine separate Datei, um den Dienst zu starten und den Start auf „Automatisch“ einzustellen. Ich möchte das alles aber möglichst mit einer Datei erledigen.

Das hier ist jetzt so lang geworden, aber ich wollte sicherstellen, dass ich mein Ziel rüberbringe und zeige, dass ich tatsächlich einige Vorabrecherchen durchgeführt habe.

Update: Musste bei Ihrem Beispiel etwas heranzoomen: Bildbeschreibung hier eingeben So sieht meins aus, wenn ich mit der rechten Maustaste auf die von mir erstellte .bat-Datei klicke und sie als Administrator ausführe: Bildbeschreibung hier eingeben

Mir ist aufgefallen, dass Sie anscheinend Windows 8.1 verwenden und ich Windows 7. Macht das einen Unterschied?

Antwort1

Hier ist wie:

@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

Beachten Sie, dass diese Batchdatei als Administrator ausgeführt werden muss, um verwendet werden zu können. Sie akzeptiert die Parameter q, start, stop, enable, disableund kann mit dieser Syntax ausgeführt werden. winupd qErsetzen Sie q durch das Element, das die Datei ausführen soll.

Beispiel:Skriptdemo

verwandte Informationen