gpt4 book ai didi

powershell - 驱动器号 + 驱动器物理类型 (Powershell)

转载 作者:行者123 更新时间:2023-12-03 00:32:05 25 4
gpt4 key购买 nike

有没有一种方法可以让我们获取每个驱动程序的字母和物理类型?也就是说,获取一个数组,其中类似这样的内容:

$Drivers = *Get-Something*   # Where $Drivers is @{} array 
$Drivers
---
C: SSD
D: HDD
E: SSD
F: SSD

我需要将这两个的数据绑定(bind)到一个数组中。第一个包含字母。第二个包含物理类型:
$DriversName = (Get-WmiObject -Class Win32_Volume).DriveLetter | Where-Object { $_ }
$DriversType = Get-PhysicalDisk | Select-Object -ExpandProperty MediaType

但是我不知道第一个数组的哪个元素引用了第二个数组的元素。因为系统没有优先考虑它们。

非常感谢您的回答。

最佳答案

这对我有用:

$partitions = Get-CimInstance Win32_DiskPartition
$physDisc = get-physicaldisk
$arr = @()
foreach ($partition in $partitions){
$cims = Get-CimInstance -Query "ASSOCIATORS OF `
{Win32_DiskPartition.DeviceID='$($partition.DeviceID)'} `
WHERE AssocClass=Win32_LogicalDiskToPartition"
$regex = $partition.name -match "(\d+)"
$physDiscNr = $matches[0]
foreach ($cim in $cims){
$arr += [PSCustomObject]@{
Drive = $cim.deviceID
Partition = $partition.name
MediaType = $($physDisc | ? {$_.DeviceID -eq $physDiscNr} | select -expand MediaType)
}
}
}

$arr

尽管使用正则表达式似乎有点笨拙,所以也许有更好的方法我没有看到。

关于powershell - 驱动器号 + 驱动器物理类型 (Powershell),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59554196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com