web-dev-qa-db-ja.com

Windows 7でUSBデバイスを無効にしてコンピューターをデフォルトでスリープ解除する方法

新しいマウス/キーボードを接続するか、既存のマウス/キーボードを新しいUSBポートに接続するたびに、手動でデバイスマネージャーに移動し、デバイスのプロパティページに移動して、[このデバイスによるコンピューターのスリープ解除を許可する]チェックボックスをオフにする必要があります。 「電源管理」ページ。 enter image description here

Windows 7でシステムポリシーを設定して、このボックスがデフォルトで新しいUSBマウス/キーボードに対してチェックされないようにすることは可能ですか?

編集:そのようなシステムポリシーを設定する方法がない場合、バッチファイルでpowercfgを使用してデバイスのUSBウェイクを列挙して無効にする方法は少なくともありますか?

編集2:これはある少なくともpowercfgを使用して実行できるようにするためです。 powercfg devicequery wake_armedは、システムを起動できるすべてのデバイスのリストを提供します。このリストをpowercfgにフィードバックして、リストされているデバイスのスリープ解除を無効にするにはどうすればよいですか?

16
Duke Nukem

編集2:明確化

この回答は、元の表現で問題となっている問題を解決するものではありません。将来のすべてのデバイスでスリープ解除を無効にすることは可能ではないようです。この回答の解決策では、現在接続されているすべてのデバイスのスリープ解除を無効にすることができます

私の元の答え:

この質問は another SO answer で回答されているようです

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

これは管理者として実行する必要があります。

編集:

ここでより完全なソリューションを提供するために、上記のループを実行する前に管理者権限を要求するスクリプトがあります。管理者権限は Microsoft powertoy を使用して要求されます(当然、VisualBasicで作成されています)

@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
)
4
SnakE

[[〜#〜]免責事項[〜#〜]]これはOPの質問に対する答えではなく、あなたがおそらくここにたどり着いた問題の解決策!

古いスレッドですが、最初にここに来て解決策を見つけましたが、最終的には別の方法で解決してしまい、今は共有しています。

[[〜#〜] issue [〜#〜]]私の問題は、PCを起動または起動し続けるUSBデバイス(xboxコントローラー)に関するものでした眠りにつくとすぐ。最初は、OPが話していることを実行する必要があり、その後、SnakEが投稿したスクリプトを使用していました。

[[〜#〜]ソリューション[〜#〜]] BIOS設定でXHCIを設定するだけで、ハッキングスクリプトや手動コントロールなしで適切に解決されましたSmartAutoから有効に。

[BITS OF WHY]これは、オンボードコントローラーのUSBをUSB2にダウングレードしてからUSB3に切り替えるのではなく、常にUSB3として機能させることです。 OSが制御を取得するとき。 PCをスリープ/休止状態に移行しようとしたときに、USBデバイスドライバーの誤動作に関する問題を解決したことが、動作を強制することで証明されました。 XHCIモードを有効にするUSB​​3のドライバーが組み込まれているWindows 10を実行すると非常に機能しますが、USB3をサポートしていないOSを起動すると、問題が発生します。

ここで述べたように )初回起動後、コントローラーはUSB3にとどまるはずですが、意思決定のどこかにバグがあるため、SmartAutoは問題ではなかったはずです。 Asusマザーボード。

1
Cody

編集中の質問に回答するには:

いいえ、元の質問で尋ねたように、powercfgを使用してデバイスを列挙し、すべてのfutureUSB構成のデフォルトのスリープ解除動作を変更することはできません。

For /F "tokens=*" %%A in ('powercfg -devicequery wake_armed') do powercfg -devicedisablewake "%%A"スクリプトを使用してみましたが、USBデバイスを新しいポートに差し込んだ後、デフォルトでコンピューターをスリープ解除しました。

powercfg -devicequery wake_from_anyの結果も列挙してみましたが、connectedUSBデバイスしか列挙できないようです。 USBデバイスが接続されているポートを変更するたびに、wake_from_any引数でも異なるリストを返します。

元の質問に答えるには:

私にはわかりません。これに対する答えを本当に知りたいのですが、まだ答えが見つかりません。誰かがこれを理解できるなら、あなたは心から愛されます! <3

1
Allen Pestaluky