Comment contrôler l'alimentation des ports USB à l'aide d'un lot

Comment puis-je activer / désactiver l'alimentation sur un port USB en utilisant le lot ou la ligne de commande? J'utilise Windows 8 pour faire cela. Est-ce que quelqu'un sait ce que je pourrais faire? J'ai 4 ports USB.

Vous auriez besoin de matériel externe, tel qu'un relais USB contrôlé. Windows lui-même ne fournit pas d'API ou d'option permettant d'éteindre les broches d'alimentation des ports USB. Cela a été répondu précédemment ici et a résumé l'histoire ici .

Analyse du problème

Depuis Vista, les périphériques USB restent sous tension même après leur suppression en toute sécurité.

Le port USB de l' article Microsoft reste actif pour un périphérique USB désactivé ou supprimé en toute sécurité décrit ce nouveau comportement:

Dans Windows XP et Windows Server 2003, lorsqu'un périphérique USB est marqué comme Supprimé, le port Hub USB auquel il est connecté est Désactivé. Lorsque le port est désactivé, aucun autre trafic USB n'est envoyé au périphérique.

Dans Windows Vista, Windows Server 2008, Windows 7 et Windows Server 2008 R2, lorsqu'un périphérique USB est marqué comme Supprimé, le port concentrateur USB auquel il est connecté n'est pas désactivé.

Je crois que ce comportement est ce que vous essayez de changer, afin de mettre hors tension les périphériques que vous avez supprimés.

Solution

La mise hors tension ne peut pas être effectuée via un script batch, mais elle peut être retournée à son comportement XP en modifiant le registre, soit comme paramètre global pour tous les périphériques USB ou par périphérique.

Pour appliquer la solution de contournement à l'échelle mondiale pour tous les périphériques USB énumérés ,
Ajoutez une valeur REG_DWORD nommée DisableOnSoftRemove qui a une valeur de 1 à la sous-clé de Registre suivante:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbhub\HubG .

Pour appliquer la solution de contournement à un périphérique spécifique ,
Ajoutez une valeur REG_DWORD nommée DisableOnSoftRemove qui a une valeur de 1 à la sous-clé de Registre suivante:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\usbflags\vvvvpppprrrr
Où vvvv est l'ID du fournisseur de l'appareil, pppp est l'ID du produit de l'appareil et rrrr est le numéro de révision du périphérique (trouvé dans le Gestionnaire de périphériques).

Il existe un module powershell que vous pouvez utiliser pour, par exemple, désactiver les périphériques .

Avec cela, vous pouvez empêcher le système d'exploitation d'utiliser les ports USB. Mais cela ne supprime pas l'alimentation électrique de ces ports. Parce qu'il n'est généralement pas possible sans modification du matériel.

Seul l'ordinateur pourrait couper l'alimentation. Certains ordinateurs ont des ports de sommeil et de charge . Ceux-ci fournissent de l'alimentation même si l'ordinateur est éteint (tant qu'il y a une connexion réseau ou une batterie avec une charge suffisante disponible).