Existe algum ID exclusivo para mídia de armazenamento ou volume lógico que está faltando?
Parece que a única maneira de garantir contra colisões é usar algum associador de Win32_DiskDrive de Get_Disk para conectar mídia física a volumes
A resposta Identificador exclusivo para drive USB em Powershell por Windos sugere o uso do número de série:
Get-WmiObject -Class Win32_Volume | selecione o nome, DeviceID, SerialNumber
No entanto, alguns fabricantes:
Solução: Use SerialNumber junto com a mídia física e o volume
Podemos vincular o ID do dispositivo, o modelo, os dados de partição, o ID do volume e o número de série, conforme demonstrado pelo seguinte Script do PowerShell (com base em Usando o WMI para vincular um volume de disco a um disco físico com o PowerShell ).
Isso permite a geração de um ID exclusivo para um disco físico.
Get-DiskDetails.ps1 :
$diskdrive = Get-WmiObject win32_diskdrive
foreach($drive in $diskdrive)
{
out-host -InputObject "`nDevice: $($drive.deviceid.substring(4))`n Model: $($drive.model)"
# partition
$partitions = Get-WmiObject -Query "ASSOCIATORS OF {Win32_DiskDrive.DeviceID=`"$($drive.DeviceID.replace('\','\\'))`"} WHERE AssocClass = Win32_DiskDriveToDiskPartition"
foreach($part in $partitions)
{
Out-Host -InputObject " Partition: $($part.name)"
$vols = Get-WmiObject -Query "ASSOCIATORS OF {Win32_DiskPartition.DeviceID=`"$($part.DeviceID)`"} WHERE AssocClass = Win32_LogicalDiskToPartition"
foreach($vol in $vols)
{
out-host -InputObject " Volume: $($vol.name)"
$serial = Get-WmiObject -Class Win32_Volume | where { $_.Name -eq "$($vol.name)\" } | select SerialNumber
out-host -InputObject " Serial Number: $($serial.serialnumber)"
}
}
}
Amostra de saída :
> .\Get-DiskDetails.ps1
Device: PHYSICALDRIVE0
Model: WDC WD5000LPVX-08V0TT5
Partition: Disk #0, Partition #0
Partition: Disk #0, Partition #1
Partition: Disk #0, Partition #2
Volume: C:
Serial Number: 3369131806
Device: PHYSICALDRIVE1
Model: SanDisk Cruzer USB Device
Partition: Disk #1, Partition #0
Volume: E:
Serial Number: 2157441447
Device: PHYSICALDRIVE2
Model: Seagate Expansion Desk USB Device
Partition: Disk #2, Partition #0
Volume: F:
Serial Number: 911653731
>