Как отключить (включить) устройство bluetooth из командной строки

После очередного обновления Windows перестал запускаться модуль Bluetooth после загрузки системы. Тем не менее, если устройство отключить и снова включить, дальше оно работает без проблем. Искать причину ошибки было лень, решил просто поставить в планировщик задачу перезапуска устойства.

Казалось бы, все просто. Берем Powershell, выводим все Bluetooth устройства и находим там DeviceID нашего устройства:

Get-wmiobject Win32_PnPEntity | where {$_.Caption -like "*bluetooth*" }

В моем случае это будет USB\VID_0CF3&PID_E019\5&15A16E76&0&5

Затем пишем что-то вроде:

$bluetooth = Get-wmiobject Win32_PnPEntity | where {$_.PNPDeviceID -like "USB\VID_0CF3&PID_E019\5&15A16E76&0&5" }
$bluetooth.Disable()
Start-Sleep -s 5
$bluetooth.Enable()
read-host

Здесь нас ждет облом - метод disable() отсутствует.

Обойти проблему можно при помощи WMI. Отключить устройство:

wmic path win32_pnpentity WHERE "PNPDeviceID like '%USB\\VID_0CF3&PID_E019\\5&15A16E76&0&5%'" call disable

Включить устройство:

wmic path win32_pnpentity WHERE "PNPDeviceID like '%USB\\VID_0CF3&PID_E019\\5&15A16E76&0&5%'" call enable

Посмотреть все устойства:

wmic path win32_pnpentity WHERE "caption like '%bluetooth%'"