我想在powershell脚本中添加已用空间列?

我想在powershell脚本中添加已用空间列?,powershell,Powershell,我想对下面的脚本做一些更改 try{ $space = Get-WmiObject Win32_logicaldisk ` | Format-Table DeviceID,` @{Name="Size(GB)";Expression={[decimal]("{0:N0}" -f($_.size/1gb))}}, ` @{Name="Free Space(GB)";Expression={[decimal]("{0:N0}" -f($_.freespace/1gb))}}, ` @{Name

我想对下面的脚本做一些更改

 try{
$space = Get-WmiObject Win32_logicaldisk `
| Format-Table DeviceID,`
 @{Name="Size(GB)";Expression={[decimal]("{0:N0}" -f($_.size/1gb))}}, `
 @{Name="Free Space(GB)";Expression={[decimal]("{0:N0}" -f($_.freespace/1gb))}}, `
@{Name="Free (%)";Expression={"{0,6:P0}" -f(($_.freespace/1gb) / ($_.size/1gb))}} `
-AutoSize
}
catch 
{
echo "Exception Occurred. Please try again on $servername"
}

echo "The total space on $servername are given below:"
echo $space
我想添加一列,显示已使用的空间,而不改变输出格式

产出如下:

The total space on  are given below:

DeviceID Size(GB) Free Space(GB) Free (%)
-------- -------- -------------- --------
A:              0              0         
C:             60             41   69 %  
D:            100             78   78 %  
E:            200            190   95 %  
G:              0              0   

我自己找到了答案,请参考以下代码:

$servername = hostname

#checking for disk space
try{
$space = Get-WmiObject Win32_logicaldisk `
| Format-Table DeviceID,`
 @{Name="Size(GB)";Expression={[decimal]("{0:N0}" -f($_.size/1gb))}}, `
 @{Name="Free Space(GB)";Expression={[decimal]("{0:N0}" -f($_.freespace/1gb))}}, `
 @{Name="Used Space(GB)";Expression={[decimal]("{0:N0}" -f(($_.size/1gb) - ($_.freespace/1gb)))}}, `
@{Name="Free (%)";Expression={"{0,6:P0}" -f(($_.freespace/1gb) / ($_.size/1gb))}} `
-AutoSize
}
catch 
{
echo "Exception Occurred. Please try again on $servername"
}

echo "The total space on $servername are given below:"
echo $space 
所需的预期结果是:

The total space on sw02014 are given below:

DeviceID Size(GB) Free Space(GB) Used Space(GB) Free (%)
-------- -------- -------------- -------------- --------
A:              0              0              0         
C:             60             41             18   69 %  
D:            100             78             22   78 %  
E:            200            190             10   95 %  
G:              0              0              0         

您可以按如下方式扩展该表

try
{
    $space = Get-WmiObject Win32_logicaldisk | Format-Table DeviceID,
    @{Name="Size(GB)";Expression={[decimal]("{0:N0}" -f($_.size/1gb))}},
    @{Name="Free Space(GB)";Expression={[decimal]("{0:N0}" -f($_.freespace/1gb))}},
    @{Name="Free (%)";Expression={"{0,6:P0}" -f(($_.freespace/1gb) / ($_.size/1gb))}},
    @{Name="Used Space(GB)";Expression={[decimal]("{0:N0}" -f($_.size/1gb - $_.freespace/1gb))}},
    @{Name="Used Space (%)";Expression={"{0,6:P0}" -f(($_.size/1gb - $_.freespace/1gb) / ($_.size/1gb))}}
    -AutoSize
}
catch 
{
    echo "Exception Occurred. Please try again on $servername"
}

echo "The total space on $servername are given below:"
echo $space

谢谢你的回答,我想出来了,10秒钟前把答案贴在下面。添加我的答案后,我发现你已经贴出了一个可能的解决方案。