Bagaimana saya meminta, kemudian matikan pembaruan Windows mati dan hidup melalui file batch?

3

Tolong tenangkan saya jika saya tidak tahu apakah ini posting pertama saya. :-) tapi saya sudah mencari cara untuk meminta layanan Pembaruan Windows melalui file batch dan berdasarkan pada kondisi saat ini, baik mematikannya atau hidup. Pada akhirnya, saya ingin dapat menanyakan apakah layanan dimulai, lalu hentikan. Di atas semua itu, saya ingin dapat menanyakan apakah ini diatur untuk mulai otomatis dengan Windows dan menonaktifkan. Lalu saya adalah file batch yang sama untuk permintaan dan mungkin pergi yang lain. seperti jika hidup, matikan. Jika mati, hidupkan. atau mungkin permintaan, kemudian berikan opsi untuk berhenti / aktif atau mengubah status dan memulai layanan.

Saya menemukan cara melakukan hal-hal ini secara terpisah (kebanyakan melalui situs ini) dengan menggunakan perintah berikut:

  • sc mulai wuauserv
  • sc berhenti wuauserv
  • Query wuauserv
  • sc config wuauserv start = auto
  • sc config wuauserv start = dinonaktifkan

Jadi dengan ini saya dapat membuat dua file berbeda untuk menghentikan layanan dan menonaktifkannya pada startup dan file terpisah untuk memulai layanan dan mengatur startup ke otomatis, tetapi saya ingin melakukan semua ini dengan satu file jika memungkinkan.

Jadi ini sangat lama tetapi saya ingin memastikan bahwa saya mencapai tujuan saya dan menunjukkan bahwa saya melakukan riset preemptive.

Pembaruan: Harus memperbesar sedikit pada contoh Anda: masukkan deskripsi gambar di sini Ini adalah milik saya seperti ketika saya mengklik kanan pada file bat. Saya buat dan jalankan sebagai admin: masukkan deskripsi gambar di sini

Saya perhatikan bahwa Anda tampaknya menggunakan Windows 8.1 dan im pada Windows 7. Apakah itu membuat perbedaan?

RidleyJ329
sumber

Jawaban:

1

Begini caranya:

@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

Perlu diingat bahwa file batch ini harus dijalankan sebagai admin untuk digunakan. Ini menerima parameter q, start, stop, enable, disabledan dapat dijalankan menggunakan sintaks ini winupd qmenggantikan q dengan item yang Anda inginkan file.

Contoh: demo skrip

td512
sumber
Terima kasih atas tanggapannya. tetapi ketika saya menyalin dan menempelkan kode itu ke dalam test.bat langsung menuju ke "Perintah tidak valid! Sintaks yang valid adalah: q, nonaktifkan, aktifkan, berhenti, mulai." Apakah ada sesuatu yang saya perlukan untuk menjalankannya? saya menjalankannya sebagai admin dan biasanya dengan hasil yang sama
RidleyJ329
@ RidleyJ329 Anda harus menjalankannya dengan sintaks, yaitu winupd qatauwinupd start
td512
Maaf jika saya mungkin melewatkan langkah sederhana di suatu tempat tetapi tampaknya masih tidak berfungsi untuk saya. saya melampirkan beberapa gambar ke posting asli saya
RidleyJ329
@ RidleyJ329 menggunakan sintaks yang dinyatakannya. Jika Anda melihat gambar dalam jawaban saya, saya telah memberikan skrip yang quntuk kueri. untuk menggunakannya, Anda harus meletakkan skrip itu di C:\Windows\System32folder sehingga Anda dapat memanggilnya dari baris perintah seperti yang saya lakukan
td512
@ RidleyJ329 Anda perlu memberi script sesuatu untuk dilakukan, itulah sebabnya ada perintah. Anda harus memberikannya
td512