0

USB デバイス ID が一致する場合にカスタム列にデバイスの説明を出力するクエリでケース式を使用しています。通常、USB ドングルなどを共有するメーカーの複数のデバイスであるため、マシンごとに同じ基本デバイス ID が複数存在します。

私が直面している問題は、2 つのデバイス メーカーが同じ基本デバイス ID を持っていることです。すべての完全なデバイス ID と、それがどのメーカーに属しているかを正確に知ることはできません。メーカーの 1 つは、ユニファイド レシーバーの列に名前を記載しますが、マウスやキーボード、またはコンピューターに表示されるその他のものについては記載しません。

これはすべて、win32_usbDevice の下の wmi から取得されます。そのため、現在、デバイス ID が「%XXXXX%」のようで、製造元が「%Logitech%」のようであれば、「Logitech Unifying Dongle」の場合の式があります。しかし、私が言ったように、マウスとキーボード、または同じ基本デバイス ID を持つその他のものが接続されている可能性があるものについては、メーカーは単に一般的な「標準システム デバイス」または「標準 USB ホスト コントローラー」などになります。デバイスメーカー1またはそれが他のメーカーに属している場合。そのベース ID に一致するデバイスの 1 つに製造元が Logicool である場合、そのコンピュータに表示される残りは Logitech 入力デバイスであると想定できます。

これは、1 台のマシンで取得した結果の例です。

ここに画像の説明を入力

それで、これに case または if を使用できる方法はありますか? '%046D&PID_C525B%' のような deviceid と [USB デバイス名] が '%Logitech%' ではなく、マシン名が Logitech で返される同じ行と同じである場合、'Logitech Devices' はデバイスの説明として終了します。

4

1 に答える 1