在 powershell 中添加属性

Jef*_* S. 4 powershell

我想添加 C 驱动器属性(可用空间和已用空间)以获得总大小。

Get-PSDrive C | Select-Object -Property Free,Used

这显示了驱动器 C 的可用空间和已用空间。我可以使用自定义属性将它们转换为 GB,但不确定如何将这些属性添加在一起。任何帮助将不胜感激。谢谢!

Ran*_*tta 5

 $computerHDDs= Get-WmiObject Win32_LogicalDisk  -Filter "DeviceID='C:'"

 $logicalDisks = @()
foreach($item in $computerHDDs)
{
    $logicalDisk =[ordered]@{
    Name=$item.DeviceID -replace ':' ,'';
    DiskSize = "{0:N2}" -f ($item.Size/1GB) + " GB" ;
    }
 $logicalDisks +=$logicalDisk
 }

 $logicalDisks
Run Code Online (Sandbox Code Playgroud)

即使在psdrive中,如果您能够获得免费的和已使用的,那么两者的总和应该给您总大小

对于你的情况,你可以这样做

 $hdd= Get-PSDrive C | Select-Object -Property Free,Used
$total= (($hdd.free + $hdd.Used)/1GB).ToString() + " GB"
$total
Run Code Online (Sandbox Code Playgroud)

注意:如果只想获取值,则删除 tostring 方法和 GB 部分。仅使用第一部分

对于所有驱动器,您可以这样使用:

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)}} | Format-Table -AutoSize
Run Code Online (Sandbox Code Playgroud)