Hello,
Voilà voilà, j'suis pas spécialement fort en PowerShell mais après plusieurs recherches je suis tombé sur un script qui ressemble à ça:
Quand j'utilise cette commande, je récupère bien uniquement mes 2 périphériques concernés
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $devicesUSB = Get-PnpDevice | where {$_.FriendlyName -like "*Contrôleur hôte Intel(R) USB*3.10 eXtensible*"} | ForEach-Object -Process { Get-CimInstance -ClassName MSPower_DeviceEnable -Namespace root\wmi } foreach ( $device in $devicesUSB ) { Set-CimInstance -Namespace root\wmi -Query "SELECT * FROM MSPower_DeviceEnable WHERE InstanceName LIKE '%$($device.PNPDeviceID)%'" -Property @{Enable=$False} -PassThru }
Par contre, cette commande cumulée à la commande suivante, ça vient tout faire foirer
Code : Sélectionner tout - Visualiser dans une fenêtre à part Get-PnpDevice | where {$_.FriendlyName -like "*Contrôleur hôte Intel(R) USB*3.10 eXtensible*"}
Ce qui fait que ma variable "$devicesUSB" contient tous les périphériques de l'ordi et pas seulement les 2 périphériques dont je veux désactiver l'économie d'énergie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Get-PnpDevice | where {$_.FriendlyName -like "*Contrôleur hôte Intel(R) USB*3.10 eXtensible*"} | ForEach-Object -Process { Get-CimInstance -ClassName MSPower_DeviceEnable -Namespace root\wmi }
Je comprends pas pourquoi...
"ForEach-Object -Process" n'est pas censé travailler avec la liste filtrée que je lui donne?
Le script fonctionne, ça désactive bien l'économie d'énergie, mais sur tous les périphériques de l'ordi et j'aimerais tout de même éviter...
Je vous remercie !
Partager