まだ、問題はありますが前進。前回は1つのドライブレターに2つのディスクが記載されることを
if文のドライブレターのand条件を追加することで、cドライブのSSD or dドライブなのか。を判定できた。
しかし、下記問題が新たに発生。
[問題]
・ディスクコマンドは2行の為、3行目がない為、判定条件できないので空になる
PS C:> Get-PhysicalDisk
Number FriendlyName SerialNumber MediaType
1 TS240GSSD220S 3017824FE46809270027 SSD
0 WDC WD20EZRX-00D8PB0 WD-WMC4N2002686 HDD
#コマンドを配列化
$driveletter=@((Get-WmiObject Win32_LogicalDisk).DeviceID)
$disk=@(Get-PhysicalDisk)
#ループ
for ($i=0 ; $i -lt $driveletter.count ; $i++){
if($driveletter[$i] -and $disk[$i].MediaType -eq "HDD"){
write-host $driveletter[$i] "," $disk[$i].MediaType "," $disk[$i].FriendlyName
}
elseif($driveletter[$i] -and $disk[$i].MediaType -eq "SSD"){
write-host $driveletter[$i] "," $disk[$i].MediaType "," $disk[$i].FriendlyName
}
else {
write-host $driveletter[$i] "," $disk[$i].MediaType "," $disk[$i].FriendlyName
}
}
[出力]
C: , SSD , TS240GSSD220S
D: , HDD , WDC WD20EZRX-00D8PB0
E: , ,
F: , ,