1
我需要一種簡單的方法來通過C++/c#/ powershell腳本追溯禁用/啓用Windows 7中的所有USB設備,而無需重新引導計算機。在Windows 7中禁用/啓用USB驅動程序而不用重新啓動C++/C#/ PowerShell
據我所知,更改GPO是一個選項,但我似乎無法找到沒有重新啓動的情況下執行此操作的任何實現。
請詳細解釋您的解決方案,我是Windows管理新手。
我需要一種簡單的方法來通過C++/c#/ powershell腳本追溯禁用/啓用Windows 7中的所有USB設備,而無需重新引導計算機。在Windows 7中禁用/啓用USB驅動程序而不用重新啓動C++/C#/ PowerShell
據我所知,更改GPO是一個選項,但我似乎無法找到沒有重新啓動的情況下執行此操作的任何實現。
請詳細解釋您的解決方案,我是Windows管理新手。
使用PowerShell,你可以做到這一點,如下
打開註冊表,然後導航到以下注冊表項,並看到了reg鑰匙啓動中有什麼樣的價值。如果其設置爲「3」是指USB驅動器已啓用上PC。
Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\services\USBSTOR" -name start
PSPath : 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
如果要禁用它,你可以使用下面的命令
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\services\USBSTOR" -name start -Value 4
的值設置爲4。如果我再次檢查了reg鍵值我看到它已被修改爲4,如果我插入一個USB驅動器它不會被檢測到
Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\services\USBSTOR" -name start
PSPath : 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
我很確定你在這裏做什麼改變處理USB服務的啓動行爲。但是,不管它是否已經運行,這都不會有任何影響。我很確定問題的目標是一次性啓用/禁用它們(即像全局開/關切換)。 – Mario
馬里奧是正確的,關鍵詞是追溯。 –
嗨,你嘗試運行這個腳本,當USB驅動器連接? – PowerShell