Powershell 检测设备管理器
Get-WmiObject -Class Win32_PNPEntity 获取设备信息
下图为其中一个设备的详细信息
Name存在且 PNPClass 为 $Null 的设备为其他设备(Other Devices)
Status 为 "Error" 的设备为未正常工作设备(Yellow Bang)
PNPClass 表示设备所属类
通过比较数据的改变来检测设备的变化
function CatchChange { Write-Host("Listening Device Change") $device=Get-WmiObject -Class Win32_PNPEntity $device_num=$device.Length while ($device_num -eq((Get-WmiObject -Class Win32_PNPEntity).Length)){ } $device_Change=Get-WmiObject -Class Win32_PNPEntity $device_Compare=Compare-Object $device $device_Change Write-Host($device_Compare.InputObject.Name) }
检测设备管理器,监听设备变化
# 检测Device Manager # 0 Other Devices # 1 Error Devices (Yellow Bang) # 2 Camera Number function GetDevStatus { $Device_other = @() $Device_yellowbang = @() $CameraNum=0 $All_List = Get-WmiObject -Class Win32_PNPEntity foreach ($i in $All_List) { if ($Null -ne $i.Name -and $Null -eq $i.PNPClass) { $Device_other += ($i.Name) } if ($i.Status -eq "Error") { $Device_yellowbang += ($i.Name) } if ($i.PNPClass -eq "Camera"){ $CameraNum+=1 } } return $Device_other, $Device_yellowbang,$CameraNum } function CatchChange { Write-Host("************Listening Device Change************") $device=Get-WmiObject -Class Win32_PNPEntity $device_num=$device.Length while ($device_num -eq((Get-WmiObject -Class Win32_PNPEntity).Length)){ } if ($device_num -gt((Get-WmiObject -Class Win32_PNPEntity).Length)){ Write-Host("Remove Device") } else{ Write-Host("Add Device") } $device_Change=Get-WmiObject -Class Win32_PNPEntity $device_Compare=Compare-Object $device $device_Change Write-Host($device_Compare.InputObject.Name) } # CatchChange $a = GetDevStatus if ($Null -eq $a) { Write-Host("No Error") } else { Write-Host("************Other Devices************") $a[0] Write-Host("") Write-Host("************YellowBang Devices************") $a[1] Write-Host("") Write-Host("************Camera Num************") $a[2] } while ($True){ CatchChange }
相关推荐
huha 2020-10-16
lianshaohua 2020-09-23
higheels 2020-08-03
ZoctopusD 2020-08-03
酷云的csdn 2020-08-03
higheels 2020-07-27
liushun 2020-06-28
zhendeshifeng 2020-06-22
Sabrina 2020-06-11
CARBON 2020-06-01
DBATips 2020-05-31
higheels 2020-05-29
applecarelte 2020-04-15
Yyqingmofeige 2020-03-28
yoshubom 2020-03-06
Yyqingmofeige 2020-03-02
SciRui 2020-02-26
fendou00sd 2020-01-18