1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

背景・目的

モニタやUSBデバイスを接続しまくっているWindows PCは、接触不良などが原因でデバイスの挿抜が意図せず検出されてしまうことがある。この場合は不定期にデバイスの挿抜音が鳴って大変わずらわしい。しかし、挿抜音が鳴るだけで通知ポップアップなど何も出ないデバイスもあるため、悪さをしているデバイスの特定が難しいことがある。

接続されているデバイスの一覧を見るための一般的なツールとして、デバイスマネージャーやusbview.exeなどがある。これらのソフトは挿抜を検知してから画面に反映されるまで数秒かかるため、接触不良などの原因で短時間に抜き差しが検知された場合ではこれらのツールで原因となるデバイスを特定することは難しい。

(Linuxで言うところのudev的に)デバイスの挿抜をPowerShellでリアルタイムにログ出力する方法を発見したのでメモしておく

方法

PowerShellを開いて管理者権限で以下のスクリプトを実行する。
(下記コードはChatGPTが生成したもので、内容を1ミリも理解していないため実行は自己責任です)

while ($true) {
     $currentDevices = Get-PnpDevice -PresentOnly
     $newDevices = Compare-Object $previousDevices $currentDevices -Property InstanceId -PassThru

     if ($newDevices) {
         $timestamp = Get-Date -Format "yyyy/MM/dd HH:mm:ss"
         $newDevices | ForEach-Object {
             if ($_.SideIndicator -eq "<=") {
                 Write-Host "$timestamp - Device removed: $($_.InstanceId)"
             } elseif ($_.SideIndicator -eq "=>") {
                 Write-Host "$timestamp - Device added: $($_.InstanceId)"
             }
         }
     }

     $previousDevices = $currentDevices
     Start-Sleep -Seconds 1
}

上記スクリプト実行中にデバイスが挿抜されると、ログが表示される。
DisplayPort接続のモニタが挿抜されたときの例。

2024/07/06 16:48:07 - Device removed: DISPLAY\IOD180E\5&2F3551B6&1&UID168193
2024/07/06 16:48:08 - Device added: DISPLAY\IOD180E\5&2F3551B6&1&UID168193
2024/07/06 16:48:20 - Device removed: DISPLAY\IOD180E\5&2F3551B6&1&UID168193
2024/07/06 16:48:21 - Device added: DISPLAY\IOD180E\5&2F3551B6&1&UID168193

上記のデバイスが何のデバイスか、詳細を知るコマンド。
(上記ログからデバイスID的な文字列をコピーして貼り付ける)

方法1

 Get-PnpDevice -InstanceId "DISPLAY\IOD180E\5&2F3551B6&1&UID168193"

方法2

 Get-WmiObject Win32_PnPSignedDriver | Where-Object { $_.DeviceID -eq "DISPLAY\IOD180E\5&2F3551B6&1&UID168193" }

結果

GPUからDisplayPort接続していたモニタが接触不良を起こし、挿抜音を発生させていた

(イベントビューアのシステムログから簡単にログが見れるようにしてほしい、、)

備考

検証済みPC: Windows 11 Pro - 23H2
(CPU: AMD / Ryzen 5 3600)

未検証: Windows 10マシン

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?