WMI の処理を行うとやたら時間がかかる環境がある件 その1

今まで疑問だった、WbemLocator->ConnectServer("\\.\root\cimv2")
でWMI情報を取得すると、やたら時間がかかる環境があった件について、
どうも、情報中にリモートPC情報が含まれるとそのタイムアウトまで待機するのではないかという結論になった

WMI の操作 - PowerShell | Microsoft Docs

既定では、使用されることがないのに背後で取得されるプロパティがいくつかあります。 これは、ローカル コンピューター上で WMI のクエリを実行するときにはそれほど問題にならないでしょう。 しかし、リモート コンピュートに対するクエリを開始すると、その情報を返すのに追加の処理時間がかかるだけでなく、必要ない余計な情報をネットワーク経由でプルしなければならなくなります。 Get-CimInstance には、取得される情報を制限する Property パラメーターがあります。 これにより、WMI へのクエリの効率が向上します。

PowerShellにはこんな便利なものがあるらしい。
WINAPIでも使いたいのだが(・ω・)

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です