Win32_volumeクラスのドキュメントによると ここ デバイスマネージャの下に表示されるデバイス名は、win32_volumeのプロパティとして使用できません。 SerialNumberプロパティはデバイスに固有ですか、それともシステムにのみ固有ですか?システムに対してのみ、ポータブルスクリプトを作成するためにどのプロパティを探す必要がありますか?
SerialNumberはあなたを正しく見るでしょう。 DeviceIDプロパティも有望に見えましたが、それは1つのシステムでのみ静的です。
テストするために、2つのUSBドライブを挿入し、PowerShellで次のコマンドを実行しました。
Get-WmiObject -Class Win32_Volume | select Name, DeviceID, SerialNumber
初期出力は次のようになりました。
Name DeviceID SerialNumber
---- -------- ------------
J:\ \\?\Volume{56f4971c-28d3-11e5-8298-10604b833008}\ 1893178287
H:\ \\?\Volume{56f496cc-28d3-11e5-8298-10604b833008}\ 3930884954
ドライブ文字を交換することを期待して、両方を取り出して逆の順序で再挿入しましたが、保持しましたが、PowerShell出力の位置を交換しました。 (DeviceIDとSerialNumberは同じであることに注意してください。)
Name DeviceID SerialNumber
---- -------- ------------
H:\ \\?\Volume{56f496cc-28d3-11e5-8298-10604b833008}\ 3930884954
J:\ \\?\Volume{56f4971c-28d3-11e5-8298-10604b833008}\ 1893178287
最後に、スティックを別のコンピューターに挿入しました。deviceIdは異なりますが、シリアル番号は同じままです。
Name DeviceID SerialNumber
---- -------- ------------
E:\ \\?\Volume{603a0c09-2674-11e5-b1db-0050569a754c}\ 3930884954
H:\ \\?\Volume{603a0c15-2674-11e5-b1db-0050569a754c}\ 1893178287