Мне нужен простой способ ретроактивно отключить / включить все USB-устройства в Windows 7 с помощью сценария c ++ / c # / powershell БЕЗ перезагрузки компьютера.
Я понимаю, что изменение объекта групповой политики является вариантом, но я не могу найти какую-либо реализацию, которая делает это без перезагрузки.
Пожалуйста, объясните ваше решение подробно, я новичок в администрировании на Windows.
Используя PowerShell, вы можете сделать это, как показано ниже
Откройте реестр и перейдите к следующему разделу реестра и посмотрите, какое значение имеет в нем ключ запуска reg. Если установлено значение «3», это означает, что USB-накопитель включен на ПК.
Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\services\USBSTOR" -name startPSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\USBSTOR
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services
PSChildName : USBSTOR
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
Start : 3
Если вы хотите отключить его, вы можете установить значение 4, используя следующую команду
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\services\USBSTOR" -name start -Value 4
Если я снова проверю значение ключа reg, то вижу, что оно было изменено на 4, и если я подключу USB-накопитель, оно не будет обнаружено
Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\services\USBSTOR" -name startPSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\USBSTOR
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services
PSChildName : USBSTOR
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
Start : 4
Других решений пока нет …