如何在安装在 NTFS 文件夹中的驱动器上使用 GET-PSDrive 获取信息,而无需驱动器号

Posted

技术标签:

【中文标题】如何在安装在 NTFS 文件夹中的驱动器上使用 GET-PSDrive 获取信息,而无需驱动器号【英文标题】:How to get informations as with GET-PSDrive on drives mounted in NTFS folder without driveletter 【发布时间】:2021-08-29 17:10:48 【问题描述】:

我如何获得可用空间和有关没有驱动器号的驱动器的其他信息,这些驱动器使用磁盘管理控制台安装在 NTFS 文件夹中,在 win 10 工作站上本地? 我需要powershell中的解决方案,有人可以给我提示吗?

【问题讨论】:

怎么样:Get-Volume?我坚信您可以调用一门课程来通过 CIM 获取该信息。 【参考方案1】:

这是一个非常棘手的问题! WMI 命名空间Win32_MountPoint 包含我们需要查看哪些驱动器安装为磁盘驱动器或文件夹的信息。

底部条目是作为文件夹安装的驱动器的示例。

#Use Get-WmiObject Win32_MountPoint if the below fails
PS> Get-CimInstance Win32_MountPoint 


Directory             : Win32_Directory (Name = "H:\")
Volume                : Win32_Volume (DeviceID = "\\?\Volume38569fb2-42e2-4359-8b42-1807...)
PSComputerName        :
CimClass              : root/cimv2:Win32_MountPoint
CimInstanceProperties : Directory, Volume
CimSystemProperties   : Microsoft.Management.Infrastructure.CimSystemProperties

Directory             : Win32_Directory (Name = "C:\thumb")
Volume                : Win32_Volume (DeviceID = "\\?\Volumee5d29a99-c6c2-11eb-b472-4ccc...)
PSComputerName        :
CimClass              : root/cimv2:Win32_MountPoint
CimInstanceProperties : Directory, Volume
CimSystemProperties   : Microsoft.Management.Infrastructure.CimSystemProperties

考虑到这些信息...我们可以将 DeviceID 信息传递给另一个命令,以找出有多少磁盘空间。

get-volume | ? Path -eq  $mount.Volume.DeviceID

DriveLetter FriendlyName FileSystemType DriveType HealthStatus OperationalStatus  SizeRemaining    Size
----------- ------------ -------------- --------- ------------ -----------------  -------------    ----
                         FAT32          Removable Warning      Full Repair Needed       3.44 GB 3.74 GB

现在,让我们把它变成一个函数,你传入挂载路径,我们返回实际磁盘上的信息。

Function Get-MountedFolderInfo
    param($MountPath)

    $mount = gcim Win32_MountPoint | where directory -like "*$MountPath*"

    if ($null -eq $mount)
        return "no mounted file found at $MountPath"
    

    $volumeInfo = get-volume | Where-Object Path -eq $mount.Volume.DeviceID
    
    if ($null -eq $VolumeInfo)
        "Could not retrieve info for:"
        return $mount
    

    $volumeInfo

Get-MountedFolderInfo -MountPath C:\thumb

DriveLetter FriendlyName FileSystemType DriveType HealthStatus OperationalStatus  SizeRemaining    Size
----------- ------------ -------------- --------- ------------ -----------------  -------------    ----
                         FAT32          Removable Warning      Full Repair Needed       3.44 GB 3.74 GB

【讨论】:

以上是关于如何在安装在 NTFS 文件夹中的驱动器上使用 GET-PSDrive 获取信息,而无需驱动器号的主要内容,如果未能解决你的问题,请参考以下文章

树莓派外部安装的 NTFS 磁盘上没有足够的可用空间

linux(centos)下挂载nefs文件系统

Paragon NTFS 15.1.70+系列Mac OS X免费下载

markdown 如何在mac上启用写入NTFS驱动器

如何让VMware Workstation和自己的硬盘相互访问文件?

如何授予 apache 使用 NTFS 分区上的目录的权限?