バッチまたはコマンドラインを使用して、USBポートの電源のオン/オフを切り替えるにはどうすればよいですか?私はこれを行うためにWindows8を使用しています。誰かが私に何ができるか知っていますか? USBポートが4つあります。
USB制御リレーなどの外部ハードウェアが必要になります。 Windows自体は、USBポートの電源ピンをオフにできるAPIまたはオプションを提供していません。これは答えられました 以前はここに そして ここに要約された歴史 。
問題の分析
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はデバイスのリビジョン番号(デバイスマネージャーにあります)です。
powershellモジュール があります。 デバイスを無効にする 。
これにより、オペレーティングシステムによるUSBポートの使用を停止できます。しかし、これはこれらのポートへの電源を殺すことはありません。それは一般的にハードウェアを変更せずに不可能だからです。
コンピュータをシャットダウンするだけで電源が切れる可能性があります。一部のコンピューターには sleep-and-charge ポートがあります。これらは、コンピューターの電源がオフの場合でも電力を供給します(主電源接続または十分な充電が可能なバッテリーがある場合)。