Get-PSDrive 中的负数驱动器空间是什么意思?

Get-PSDrive 中的负数驱动器空间是什么意思?

Get-PSDrive返回已用磁盘空间的负数。

PS C:\Users\thomas> Get-PSDrive

Name           Used (GB)     Free (GB) Provider      Root                                                               CurrentLocation
----           ---------     --------- --------      ----                                                               ---------------                                                                                       
[...]                                                                                     
H                -782,81       1172,81 FileSystem    \\server\fileexchange   
[...]

这有什么特殊含义吗?

我查阅了帮助(Get-Help 'Get-PSDrive' -ShowWindow),但找不到解释。

我知道有关 Get-Process 的类似问题原因是溢出。这里也是一样吗?有解决方法吗?

正如@Andrew Morton 在评论中要求的那样:

PS C:\Users\thomas> [System.IO.DriveInfo]::GetDrives() | Format-Table

Name DriveType DriveFormat IsReady AvailableFreeSpace TotalFreeSpace    TotalSize RootDirectory VolumeLabel
---- --------- ----------- ------- ------------------ --------------    --------- ------------- -----------
[...]
H:\    Network NTFS           True       223231537152  1253398024192 418759311360 H:\           Data       
[...]                   

我读到的是 223 GB 可用空间、1253 GB 总可用空间和 418 GB 总大小。如果我简单地从总大小中减去总可用空间,我会得到 -835 GB,这与 Powershell 值相匹配(考虑到在此期间添加了一些数据)。

Windows 资源管理器显示的内容如下:

Windows 资源管理器中的驱动器屏幕截图

答案1

这意味着您的驱动器超出了您所使用的功能所支持的值。

示例:您尝试使用仅支持 2TB 的功能读取 3TB 驱动器,将导致以下结果:

3TB 硬盘实际可用空间为 2.72TB。由于超出 2TB,剩余空间将以负值显示(因此结果为 -0.72TB)。

如果超过 4TB,它将再次为正值,如果超过 6TB,它将再次为负值。这种情况会一直重复,但原因是您使用的功能限制在 2TB。

这对于读取驱动器空间的任何功能都是有效的,并且其他值也可能存在限制(例如,对于尝试读取 NTFS 大文件的旧功能,限制为 4GB)。

相关内容