Lo scopo di questo script è quello di ricavare la lettera di unità che Windows assegna ad una periferica USB, quando questa viene inserita nel sistema. Mi serve per automatizzare degli script di backup su unità esterna USB. Il problema è che sostituendo le unità esterne, Windows non sempre assegna la stessa lettera all'unità che viene collegata.
Ho pensato quindi di identificare un parametro fisso per indirizzare il disco esterno: ho impostato l'etichetta del volume.
Dunque la premessa è che al volume sia stata assegnata un'etichetta. Lo script ricerca se il volume contiene questa etichetta e in tal caso restituisce la relativa lettera di unità. Chiaramente dovremo fare attenzione a non collegare
Ho impostato lo script come segue, assumendo che l'etichetta di volume contenga la parola 'Backup'.
$DeviceId = (
Get-WmiObject -class Win32_LogicalDisk |
Where-Object {$_.VolumeName -match "backup"}
)
Write-Host $DeviceId
Ho aggiunto Write-Host giusto per visualizzare l'output; ed è proprio qui il mio problema. L'output che mi ritorna contiene il valore esteso 'DeviceId'
\\<nome computer>\root\cimv2:Win32_LogicalDisk.DeviceID="D:"
Ciò che mi serve è invece formattare l'output per ottenere solamente la lettera dell'unità. Non so come procedere