web-dev-qa-db-ja.com

バッチを使用してUSBポートへの電力を制御する方法

バッチまたはコマンドラインを使用して、USBポートの電源のオン/オフを切り替えるにはどうすればよいですか?私はこれを行うためにWindows8を使用しています。誰かが私に何ができるか知っていますか? USBポートが4つあります。

4
09stephenb

USB制御リレーなどの外部ハードウェアが必要になります。 Windows自体は、USBポートの電源ピンをオフにできるAPIまたはオプションを提供していません。これは答えられました 以前はここに そして ここに要約された歴史

6
jdh

問題の分析

Vista以降、USBデバイスは安全に取り外した後も電源が入ったままになります。

Microsoftの記事 SBポートは無効または安全に取り外されたUSBデバイスに対してアクティブのままです この新しい動作について説明しています:

Windows XPおよびWindowsServer 2003では、USBデバイスが削除済みとしてマークされている場合、接続されているUSBハブポートは無効になっています。ポートが無効になっている場合、それ以上のUSBトラフィックは送信されません。デバイスに。

Windows Vista、Windows Server 2008、Windows 7、およびWindows Server 2008 R2では、USBデバイスが削除済みとしてマークされている場合、接続されているUSBハブポートは無効になりません。

取り外したデバイスの電源を切るために、この動作を変更しようとしていると思います。

ソリューション

バッチスクリプトを介してパワーダウンを実行することはできませんが、すべてのUSBデバイスのグローバル設定として、またはデバイスごとに、レジストリを変更することで、XPの動作に戻すことができます。

列挙されたすべてのUSBデバイスに回避策をグローバルに適用するには
次のレジストリサブキーに、値が1のDisableOnSoftRemoveという名前のREG_DWORD値を追加します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbhub\HubG

特定のデバイスに回避策を適用するには
次のレジストリサブキーに、値が1のDisableOnSoftRemoveという名前のREG_DWORD値を追加します。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\usbflags\vvvvpppprrrr
ここで、vvvvはデバイスのベンダーID、ppppはデバイスの製品ID、rrrrはデバイスのリビジョン番号(デバイスマネージャーにあります)です。

4
harrymc

powershellモジュール があります。 デバイスを無効にする

これにより、オペレーティングシステムによるUSBポートの使用を停止できます。しかし、これはこれらのポートへの電源を殺すことはありません。それは一般的にハードウェアを変更せずに不可能だからです。

コンピュータをシャットダウンするだけで電源が切れる可能性があります。一部のコンピューターには sleep-and-charge ポートがあります。これらは、コンピューターの電源がオフの場合でも電力を供給します(主電源接続または十分な充電が可能なバッテリーがある場合)。

2
Roland Smith