Powershell和wmi,如何将逻辑磁盘/卷映射到硬盘,反之亦然?

Pri*_*moz 4 powershell wmi disk

Get-WmiObject -ComputerName $ip -Credential $credential -Class Win32_logicaldisk
Run Code Online (Sandbox Code Playgroud)

这让我得到了我在"我的电脑"中看到的磁盘,例如.C:,D:,E:现在我如何获得相应的底层物理磁盘?

如果我运行以下命令

Get-WmiObject -ComputerName $ip -Credential $credential -Class win32_diskdrive
Run Code Online (Sandbox Code Playgroud)

我得到磁盘0,磁盘1,磁盘2

那么如何找出哪个物理磁盘上的逻辑磁盘呢?

另一个问题是如何找出卷号?如果我运行diskpart并执行"list volume",我会得到以下输出

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 2     C                NTFS   Partition     59 GB  Healthy    Boot
  ...
Run Code Online (Sandbox Code Playgroud)

如何找出逻辑磁盘C:是第2卷?

最好的问候,Primoz.

rav*_*nth 9

试试这个

Get-WMIObject Win32_LogicalDisk | Foreach-Object {
    Get-WmiObject -Query "Associators of {Win32_LogicalDisk.DeviceID='$($_.DeviceID)'} WHERE ResultRole=Antecedent"
} | Format-Table
Run Code Online (Sandbox Code Playgroud)

这将为您提供WIn32_logicalDisk的相关实例,其中Win32_LogicalDisk是关系中的依赖实体.因此,您将获得Win32_DiskDrive实例.