Identificatore unico per l'azionamento del USB in Powershell

Secondo la documentazione di class win32_volume qui il nome del dispositivo che si presenta sotto il gestore di dispositivi è non disponibile come properties; di win32_volume. La properties; SerialNumber è univoco al dispositivo o solo al sistema? Se solo al sistema quale properties; devo cercare per scrivere uno script porttile?

Il numero di serie ti vedrà giusto. La properties; DeviceID sembrava anche promettente, ma è solo statica sul sistema.

Per testare ho inserito due unità USB e ho eseguito il seguente command in PowerShell:

Get-WmiObject -Class Win32_Volume | select Name, DeviceID, SerialNumber 

L'output iniziale è stata così:

 Name DeviceID SerialNumber ---- -------- ------------ J:\ \\?\Volume{56f4971c-28d3-11e5-8298-10604b833008}\ 1893178287 H:\ \\?\Volume{56f496cc-28d3-11e5-8298-10604b833008}\ 3930884954 

Ho espulso entrambi e inserito nuovamente nell'ordine opposto sperando che avrebbero scambiato le lettere di unità, tuttavia le hanno mantenute, ma hanno sostituito la posizione nell'output PowerShell. (notare che DeviceID e SerialNumber sono uguali.)

 Name DeviceID SerialNumber ---- -------- ------------ H:\ \\?\Volume{56f496cc-28d3-11e5-8298-10604b833008}\ 3930884954 J:\ \\?\Volume{56f4971c-28d3-11e5-8298-10604b833008}\ 1893178287 

Infine ho inserito i bastoni in un altro computer, noti che il deviceId è diverso, ma il numero di serie rimane lo stesso.

 Name DeviceID SerialNumber ---- -------- ------------ E:\ \\?\Volume{603a0c09-2674-11e5-b1db-0050569a754c}\ 3930884954 H:\ \\?\Volume{603a0c15-2674-11e5-b1db-0050569a754c}\ 1893178287