检查powershell中是否启用/禁用了PNP设备

检查powershell中是否启用/禁用了PNP设备,powershell,Powershell,目前,我正在创建一个脚本,当我打开快捷方式时,该脚本将自动禁用我的一个即插即用设备。为了使它更容易,我想把一些脚本,将允许它自动检查设备是否启用或禁用 write-host("Disabling Logitech Extreme 3D Pro") Disable-PnpDevice -InstanceId 'USB\VID_046D&PID_C215\6&fcc8aab&0&3' exit 目前,它只是禁用设备,要使其再次启用,我将不得不制作

目前,我正在创建一个脚本,当我打开快捷方式时,该脚本将自动禁用我的一个即插即用设备。为了使它更容易,我想把一些脚本,将允许它自动检查设备是否启用或禁用

write-host("Disabling Logitech Extreme 3D Pro")
Disable-PnpDevice -InstanceId 'USB\VID_046D&PID_C215\6&fcc8aab&0&3'
exit

目前,它只是禁用设备,要使其再次启用,我将不得不制作另一个脚本或有另一个用户条目。如果您需要有关该设备的其他信息,请询问

如果我正确理解了该问题,您希望首先测试该设备是否已启用,以使其切换到启用状态

像这样的方法应该会奏效:

$deviceId = 'USB\VID_046D&PID_C215\6&fcc8aab&0&3'
$device   = Get-PnpDevice -InstanceId $deviceId -ErrorAction SilentlyContinue
if ($device) {
    switch ($device.Status) {
        'OK'    { Write-Host "Disabling device"; Disable-PnpDevice -InstanceId $deviceId -Confirm:$false; break }
        default { Write-Host "Enabling device";  Enable-PnpDevice -InstanceId $deviceId -Confirm:$false }
    }
}
else {
    Write-Warning "Device with ID '$deviceId' not found"
}
你真正的问题是什么?@DougMaurer我想问的是一个切换设备状态的解决方案,而不是盲目地启用或禁用设备。