VB脚本

VB脚本

某个地方的连接松了...每隔几分钟,我就会听到设备拔出/重新插入的声音。

我看不出有什么问题,一切似乎都正常。

我尝试在设备管理器中查找,但是噪音似乎发生得太快了,或者我只是错过了。

我想知道是否有人知道方法,或者如果您知道一个可以简单地告诉我系统上最后几个设备变化的命令会更好吗?

答案1

运行 EventGhost (http://www.eventghost.org/downloads/),当设备连接或移除时,您会在左侧看到一个事件。

在此处输入图片描述

它包含一个带有硬件 ID 的字符串。现在使用 Google 搜索 ID 来查找设备。

答案2

VB脚本

前段时间,我在排查类似的问题,为此我写了一个简单的脚本。要运行它,请将脚本保存在新文件中.vbs,然后通过命令提示符

cscript /nologo "X:\Path\to\script.vbs"

代码如下:

If WScript.Arguments.Count = 0 Then
    maxEvents = 10
Else
    maxEvents = WScript.Arguments(0)
End If

Set wmiService = GetObject("winmgmts:\\.\root\cimv2") 
Set wmiQuery = wmiService.ExecNotificationQuery _
    ("SELECT * FROM __InstanceDeletionEvent WITHIN 1" & _
    "WHERE TargetInstance ISA 'Win32_PnPEntity'")

separator = String(40, "-")

For i = 1 To maxEvents
    With wmiQuery.NextEvent.TargetInstance
        WScript.Echo separator & _
            vbCrLf & "Event " & i & " - " & Now & _
            vbCrLf & separator & _
            vbCrLf & .Name & _
            vbCrLf & .DeviceID
    End With
Next

怎么运行的

可选参数用于设置要收集的最大事件数量。如果没有指定数量,它将在退出之前记录前 10 个事件。

然后,脚本将继续注册针对被移除或拔出的即插即用设备的事件提供程序。轮询间隔设置为 1 秒。

每次有事件通知时,脚本都会在屏幕上打印结果,直到达到事件数量。信息包括:事件编号;日期和时间;设备名称和ID。

进一步阅读

相关内容