You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过PowerShell原生函数获取卷的多挂载点信息?

获取Windows卷的多个挂载点(PowerShell原生方法)

我明白你的困扰:Get-Volume 和旧的 Get-WMIObject -Class Win32_Volume 有时候没法完整返回卷的所有挂载点信息(比如你提到的G:卷同时挂载在文件夹路径下的情况)。不过用PowerShell原生的CIM命令就能完美解决这个问题,不需要调用diskpart.exe。

方法1:通过Win32_Volume的AccessPaths属性获取完整挂载点

Win32_Volume类的AccessPaths属性会存储卷的所有访问路径——包括驱动器号和文件夹挂载点。用Get-CimInstance(WMI的现代替代方案)来查询:

# 获取所有拥有多个挂载点的卷,显示关键信息
Get-CimInstance -ClassName Win32_Volume | 
    Where-Object { $_.AccessPaths.Count -gt 1 } | 
    Select-Object DriveLetter, AccessPaths, Label, FileSystem

如果要定位特定卷(比如你的G:盘),可以加过滤条件:

# 查询G:卷的所有挂载路径
Get-CimInstance -ClassName Win32_Volume -Filter "DriveLetter = 'G:'" | 
    Select-Object -ExpandProperty AccessPaths

执行后你会看到类似这样的输出:

G:\
D:\SQL\MSSQL13.MSSQLSERVER\DATA\
D:\BlaBla\

方法2:通过Win32_MountPoint类关联卷与挂载点

如果你想更清晰地查看每个挂载点对应的卷,可以直接查询Win32_MountPoint类,它专门记录卷到文件夹的挂载关系:

Get-CimInstance -ClassName Win32_MountPoint | ForEach-Object {
    # 关联对应的卷信息
    $volume = Get-CimInstance -ClassName Win32_Volume -Filter "DeviceID = '$($_.Volume)'"
    [PSCustomObject]@{
        卷驱动器号 = $volume.DriveLetter
        挂载路径 = $_.Directory
        卷标签 = $volume.Label
    }
}

为什么Get-Volume不行?

Get-Volume是Storage模块提供的简化命令,它只返回卷的默认挂载点(通常是驱动器号),不会展示所有的文件夹挂载路径。而Win32_Volume是WMI/CIM里的完整卷信息类,包含了所有底层的访问路径数据。

内容的提问来源于stack exchange,提问作者PollusB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:12:13