2014-04-14 53 views
0

我正面临着一个问题,其结果是getdrive不准确。懵懵懂懂。PowerShell错误的总大小结果

正如下面的截图所示,10.1.105.203的总空间为7.81TB,但是从powershell给我的数据来看,它只有大概4TB。这里很迷惑。

enter image description here

​​

回答

1

你没有真正使用PowerShell的。您正在使用PowerShell的Windows脚本主机的对象模型,这是PowerShell的先驱。尝试使用两种:

C:\PS> Get-Volume 

DriveLetter FileSystemLabel FileSystem DriveType HealthStatus SizeRemaining  Size 
----------- --------------- ---------- --------- ------------ -------------  ---- 
C       NTFS  Fixed  Healthy   94.34 GB 237.96 GB 
      Recovery  NTFS  Fixed  Healthy   10.19 MB 300 MB  

C:\PS> Get-WmiObject Win32_Volume | Format-Table DriveLetter,Capacity,FreeSpace 

DriveLetter  Capacity FreeSpace 
-----------  -------- --------- 
C:   255505461248 101292863488 
       314568704  10682368 
+0

感谢您的指正。 我试图从中获取音量的驱动器是NAS,它未在win32_volume中列出。 我可以有更多的线索吗? – taesica

+0

谢谢@凯斯希尔,我现在明白了! – taesica

0

完全同意@Keith山,用PowerShell的方式来获得结果。奇怪的行为是,对于驱动器L:,我可以看到10Tb驱动器的总大小没问题,所以如果您从新命令中收到相同的结果,我不会感到惊讶。

接下来的事情,我会检查是否配额在您的服务器上激活。

您还可以使用:

Get-WmiObject Win32_logicaldisk -filter "driveType=4" 
1

您也可以使用Get-PSDrive来获取驱动器的大小。

PS C:\> Get-PSDrive -PSProvider filesystem 

Name   Used (GB)  Free (GB) Provider  Root 
----   ---------  --------- --------  ---- 
C     48.92  195.13 FileSystem C:\ 
D     30.82   69.18 FileSystem D:\ 
E     .12  121.49 FileSystem E:\ 

你总是可以做一些操作来实现这个多东西,e.g,

PS C:\> Get-PSDrive -PSProvider filesystem | select Name, @{n= 'Used(GB)' ; e = {"{0:N2}" -f ($_.used/1GB)}}, @{n= 'Free 
(GB)' ; e = {"{0:N2}" -f ($_.Free/1GB)}}, @{n= 'Total(GB)' ; e = {"{0:N2}" -f (($_.used + $_.Free)/1GB)}} | ft -auto 

Name Used(GB) Free(GB) Total(GB) 
---- -------- -------- --------- 
C 48.92 195.13 244.04 
D 30.82 69.18 100.00 
E 0.12  121.49 121.62