Windows имеет две команды PowerShell для получения информации о дисках Get-PhysicalDisk
и Get-Disk
.
Я выполняю команду Get-PhysicalDisk
и затем пытаюсь добавить вывод команды с результатом из Get-Disk
, используя общее значение, которое существует в выходных данных обеих команд, это значение SerialNumber
.
Я убежден, что это простое требование к хеш-таблице, я не могу обернуть его вокруг.
$PhysicalDisks = Get-PhysicalDisk |
Select OperationalStatus, HealthStatus, BusType, FriendlyName,
Manufacturer, SerialNumber
foreach ($Disk in $PhysicalDisks) {
$AdditionalDiskInfo = Get-Disk |
Where SerialNumber -eq $_.SerialNumber |
select PartitionStyle, ProvisioningType,
NumberOfPartitions, Signature
# I know this isn't anywhere near correct, I'm just trying to explain my
# end goal :)
#$PhysicalDisks + $AdditionalDiskInfo |
# Where $PhysicalDisks.SerialNumber -eq $AdditionalDiskInfo.SerialNumber
}
Мой ожидаемый результат будет сочетанием этого:
PS> Get-PhysicalDisk | Select OperationalStatus, HealthStatus, BusType,
FriendlyName, Manufacturer, SerialNumber
OperationalStatus : OK
HealthStatus : Healthy
BusType : SATA
FriendlyName : KINGSTON SV310S37A960G
Manufacturer :
SerialNumber : 50026B724800A34E
и это:
PS> Get-Disk | Where SerialNumber -eq "50026B724800A34E" | select PartitionStyle, ProvisioningType, NumberOfPartitions, Signature | Format-list
PartitionStyle : MBR
ProvisioningType : Fixed
NumberOfPartitions : 2
Signature : 1364200743
чтобы дать мне это:
OperationalStatus : OK
HealthStatus : Healthy
BusType : SATA
FriendlyName : KINGSTON SV310S37A960G
Manufacturer :
SerialNumber : 50026B724800A34E
PartitionStyle : MBR
ProvisioningType : Fixed
NumberOfPartitions: 2
Signature : 1364200743