Cara melarang perangkat USB untuk membangunkan komputer secara default di Windows 7

16

Setiap kali saya mencolokkan mouse / keyboard baru atau menyambungkan yang sudah ada ke port USB baru, saya harus secara manual pergi ke manajer perangkat, pergi ke halaman properti perangkat, dan hapus centang "Izinkan perangkat ini untuk membangunkan komputer" pada halaman "Manajemen Daya". masukkan deskripsi gambar di sini

Apakah mungkin untuk mengatur kebijakan sistem di Windows 7, sehingga kotak ini tidak dicentang untuk mouse / keyboard USB baru secara default?

Sunting: Jika tidak ada cara untuk mengatur kebijakan sistem seperti itu, apakah setidaknya ada cara untuk menghitung dan menonaktifkan bangun USB pada perangkat dengan menggunakan powercfgfile batch?

Edit 2: ini memiliki mungkin untuk melakukan setidaknya menggunakan powercfg. powercfg devicequery wake_armedmemberikan daftar semua perangkat yang dapat membangunkan sistem. Sekarang bagaimana saya bisa memberi makan daftar ini kembali powercfgdan menonaktifkannya pada perangkat yang terdaftar?

Duke Nukem
sumber
1
Anda dapat menonaktifkan ini di beberapa BIOS (Legacy dan UEFI)
justbrowsing
Sayangnya, BIOS saya tidak memiliki opsi seperti itu.
Duke Nukem
BOIS saya juga tidak memiliki opsi ini. Harap beri tahu kami jika Anda menemukan jawaban - Saya sudah terbiasa mematikan catu daya saya selama bertahun-tahun, dan saya benar-benar ingin mengubahnya ...
Allen Pestaluky

Jawaban:

3

Sunting 2: Klarifikasi

Jawaban ini tidak memecahkan masalah yang dimaksud dalam kata-kata aslinya. Menonaktifkan bangun untuk semua perangkat di masa depan tampaknya tidak mungkin. Solusi dalam jawaban ini hanya memungkinkan Anda untuk menonaktifkan wake untuk semua perangkat yang saat ini terhubung .

Jawaban asli saya:

Pertanyaan ini tampaknya telah dijawab dalam jawaban SO lainnya

for /F "tokens=*" %%A in ('powercfg -devicequery wake_armed') do powercfg -devicedisablewake "%%A"

Ini perlu dijalankan sebagai administrator.

Edit:

Untuk memberikan solusi yang lebih lengkap di sini adalah skrip yang meminta hak administrator sebelum menjalankan loop di atas. Hak admin diminta menggunakan Microsoft powertoy (ditulis dalam VisualBasic, tidak mengejutkan)

@echo off
if "%~1"=="" (
  elevate %0 do
) else if "%~1"=="do" (
  for /F "tokens=*" %%A in ('powercfg -devicequery wake_armed') do (
    if not "%%A"=="NONE" (
      echo Disabling %%A
      powercfg -devicedisablewake "%%A"
    )
  )
  echo All done.
  pause
) else (
  echo Usage: %~nx0
)
Ular
sumber
Ini hanya akan menonaktifkan konfigurasi perangkat USB saat ini, tidak semua konfigurasi di masa mendatang seperti pertanyaan yang diajukan. Misalnya, jalankan skrip ini, lalu cabut mouse dan pasang kembali ke port baru - mouse sekarang akan terbangun dari tidur lagi kecuali skrip ini dijalankan lagi untuk konfigurasi perangkat USB baru.
Allen Pestaluky
1
@ AllenPestaluky pertanyaan memiliki pengeditan yang meminta setidaknya sebagian solusi jika solusi lengkap tidak memungkinkan. Jawaban saya (dan jawaban yang saya tautkan) adalah solusi parsial yang diminta OP.
SnakE
Terima kasih, skrip kumpulan ini melakukan persis apa yang saya inginkan. Saya mungkin mencoba menemukan cara untuk mengotomatisasi ini di masa depan. Apakah Anda tahu jika ada cara untuk melakukan panggilan powercfg melalui Windows API, untuk menghindari proses terpisah?
Duke Nukem
1
@DukeNukem Tidak, saya tidak mengetahui adanya API semacam itu. Saya tidak melakukan penelitian apa pun sehingga mungkin masih ada. Semua pengaturan ini juga harus ada dalam registri. Jadi, Anda dapat menggunakan procmonpowertoy untuk melacak lokasi registri mana yang diakses oleh powercfg -devicequery wake_armeddan menulis alat manipulasi registri Anda sendiri.
SnakE
1

Untuk menjawab pertanyaan dalam suntingan Anda:

Tidak, Anda tidak dapat menggunakan powercfg untuk menghitung perangkat untuk mengubah perilaku bangun default semua konfigurasi USB di masa depan seperti yang Anda tanyakan dalam pertanyaan awal Anda.

Saya mencoba menggunakan For /F "tokens=*" %%A in ('powercfg -devicequery wake_armed') do powercfg -devicedisablewake "%%A"skrip, tetapi setelah mencolokkan perangkat USB saya ke port baru, secara default kembali untuk membangunkan komputer.

Saya bahkan mencoba menghitung hasilnya powercfg -devicequery wake_from_any, tetapi tampaknya Anda hanya dapat menghitung perangkat USB yang terhubung . Bahkan wake_from_anyargumen mengembalikan daftar yang berbeda setiap kali Anda mengubah porta perangkat USB Anda dicolokkan.

Kepada untuk menjawab pertanyaan awal Anda:

Saya tidak punya ide. Saya benar-benar ingin tahu jawabannya, tetapi saya masih belum menemukan jawaban. Jika ada yang bisa mengetahui hal ini, Anda akan sangat dicintai! <3

Allen Pestaluky
sumber
1

[ PERNYATAAN ] Ini bukan jawaban untuk pertanyaan OP melainkan solusi untuk masalah yang Anda mungkin berakhir di sini!

Utas lama tapi saya datang ke sini untuk solusi yang akhirnya saya selesaikan dengan cara lain dan sekarang saya berbagi.

[ MASALAH ] Masalah saya adalah perangkat USB (pengontrol xbox) menjaga PC tetap atau membangunkannya begitu memasuki mode tidur. Pada awalnya saya akhirnya perlu melakukan apa yang OP bicarakan, setelah itu saya menggunakan skrip yang diposting di sini oleh Snake.

[ SOLUSI ] Itu diselesaikan dengan baik tanpa skrip hack atau kontrol manual hanya dengan mengkonfigurasi XHCI dalam pengaturan bios dari SmartAuto ke Diaktifkan.

[ BITS OF WHY ] Apa yang dilakukan adalah memaksa USB on board controller untuk bertindak sebagai USB3 sepanjang waktu alih-alih menurunkan versi ke USB2 dan kemudian beralih ke USB3 ketika OS mengambil kendali. Memaksanya berperilaku terbukti telah memecahkan masalah saya dengan driver perangkat USB yang mengalami gangguan ketika mencoba mentransisikan PC ke mode sleep / hibernate. Menjalankan Windows 10 yang memiliki driver bawaan untuk USB3 memungkinkan mode XHCI bekerja sangat, masalah saya berasal dari itu jika mem-boot beberapa OS yang tidak mendukung USB3.

SmartAuto seharusnya tidak menjadi masalah karena ( seperti yang dinyatakan di sini ) setelah boot pertama controller harus tetap pada USB3 tapi mungkin ada bug di suatu tempat dalam pengambilan keputusan dan itu berlaku sebagai Otomatis pada motherboard Asus saya.

Cody
sumber
Ini memperbaiki masalah saya dengan penerima Logitech pada laptop ASUS. Setelah perbaikan BIOS ini (saya memilih Disabled), saya juga harus mematikan kemampuan setiap perangkat untuk membangunkan komputer di Device Manager lagi.
Jim Hunziker
-1

Tampaknya dokumentasi masalah yang diketahui dapat ditemukan di sini Ringkasan:

Penanganan masalah 1 (Disarankan)

Sambungkan perangkat USB ke pengontrol host Enhanced Host Controller Interface (EHCI).

Penanganan masalah 2

Nonaktifkan kemampuan perangkat USB untuk membangunkan komputer. Untuk melakukan ini, ikuti langkah-langkah ini:

Click Start
Start button
, right-click Computer, and then click Manage.
In the User Account Control dialog box, click Continue.

User Account Control permission
If you are prompted for an administrator password or for a confirmation, type the password, or click Allow.
Click Device Manager, expand Universal Serial Bus controllers, right-click the device, and then click Properties.
Click the Power Management tab, disable the Allow this device to wake the computer check box, and then click OK.

Catatan Kami menyarankan Anda menggunakan Workaround 1 karena mempertahankan fungsi bangun. Saat Anda menggunakan Workaround 2, perangkat USB tidak dapat membangunkan komputer. Selain itu, tombol daya kendali jarak jauh untuk penerima IR Windows Media Center tidak dapat membangunkan komputer.

vfbsilva
sumber
1
Terima kasih atas jawaban Anda, tetapi dokumentasi yang Anda tautkan bukan masalah yang saya alami. Langkah-langkah yang Anda tunjukkan dalam solusi 2 adalah persis apa yang harus saya lakukan setiap kali saya harus menonaktifkan USB wake pada perangkat. Yang saya inginkan adalah agar wake ini dinonaktifkan secara default sehingga saya tidak harus melakukan langkah-langkah ini setiap waktu, dan saya tidak dapat menemukan cara untuk melakukan itu sama sekali ...
Duke Nukem