Powershell检测USB调制解调器连接&;断开事件

Powershell检测USB调制解调器连接&;断开事件,powershell,usb,modem,Powershell,Usb,Modem,目前,我有一个USB调制解调器类型“基于NDIS的远程互联网共享设备”和 尝试使用另一篇文章中的以下代码(第一个操作非常有效)检测上述事件: $action1 = { Write-Host "CONNECTED" } $action2 = { Write-Host "DISCONNECTED" } Register-WmiEvent -Namespace root\wmi -Class MSNdis_StatusMediaConnect -Action $action

目前,我有一个USB调制解调器类型“基于NDIS的远程互联网共享设备”和 尝试使用另一篇文章中的以下代码(第一个操作非常有效)检测上述事件:

 $action1 = {
    Write-Host "CONNECTED"
 }
 $action2 = {
    Write-Host "DISCONNECTED"
 }

 Register-WmiEvent -Namespace root\wmi -Class MSNdis_StatusMediaConnect -Action $action1 `
     | Out-Null 
 Register-WmiEvent -Namespace root\wmi -Class MSNdis_StatusMediaDisconnect -Action $action2 `
     | Out-Null 
问题是USB设备在后一个事件触发之前被移除!
有没有一个简单的方法可以解决这个问题

我完全不清楚你在问什么。当然,在事件触发之前,设备会被移除。怎么会有别的办法呢?系统需要预测在设备被移除之前触发事件的未来。基本上,我所追求的是一种检测此类设备何时被拔出的方法。那么你的意思是,当调制解调器被拔出时,断开事件根本不会触发?你的问题不清楚,对。这就是这里缺少的。对不起,如果我含糊其辞的话。我使用Wbemtest进行检查。最后通过在Win32_NetworkAdapterConfiguration上使用SELECT*FROM uu InstanceModificationEvent并检查TargetInstance.IPEnabled=True(或FALSE)进行修复。我完全不清楚您在问什么。当然,在事件触发之前,设备会被移除。怎么会有别的办法呢?系统需要预测在设备被移除之前触发事件的未来。基本上,我所追求的是一种检测此类设备何时被拔出的方法。那么你的意思是,当调制解调器被拔出时,断开事件根本不会触发?你的问题不清楚,对。这就是这里缺少的。对不起,如果我含糊其辞的话。我使用Wbemtest进行检查。最后,通过在Win32_NetworkAdapter配置上使用SELECT*FROM _InstanceModificationEvent并检查TargetInstance.IPEnabled=True(或FALSE)进行修复。