Properties PowerShell本地磁盘属性没有输出
我正在生成磁盘报告,但需要帮助,请。代码如下:Properties PowerShell本地磁盘属性没有输出,properties,powershell-3.0,psobject,Properties,Powershell 3.0,Psobject,我正在生成磁盘报告,但需要帮助,请。代码如下: $outputs = @() $disks = get-wmiobject -class "Win32_LogicalDisk" -Filter 'driveType=3' -namespace "root\CIMV2" foreach ( $disk in $disks ) { $output = New-Object PSObject -Property @{ deviceID = $disk.caption
$outputs = @()
$disks = get-wmiobject -class "Win32_LogicalDisk" -Filter 'driveType=3' -namespace "root\CIMV2"
foreach ( $disk in $disks ) {
$output = New-Object PSObject -Property @{
deviceID = $disk.caption
FileSystem = $disk.fileSystem
FreeSpace = $disk.freeSpace/1GB
Size = $disk.size/1GB
VolumeName = $disk.volumeName
used = "{0:N1}" -f ((("{0:N1}" -f ($disk.size/1gb)).ToString().replace(",",".") - ("{0:N1}" -f ($disk.freespace/1gb)).ToString().replace(",",".")) / ("{0:N1}" -f ($disk.size/1gb)).ToString().replace(",",".") * 100)
used2 = $used
}
$outputs += $output
}
$outputs | select deviceID, VolumeName, size, used, used2 | Format-Table
一切都很好,但没有使用变量2
deviceID VolumeName Size used used2
-------- ---------- ---- ---- -----
C: win 49,1992149353027 87,4
D: data 170,701168060303 70,7
$used
在该范围内不作为变量存在,因此used2
被设置为$null
在调用新对象之前,需要创建变量$used
。此外,在计算已使用百分比时,您的格式设置太多—请将格式保存到最后。下面,我做了两个更改
$used = "{0:P1}" -f (($disk.size - $disk.FreeSpace) / $disk.size);
$output = New-Object PSObject -Property @{
deviceID = $disk.caption
FileSystem = $disk.fileSystem
FreeSpace = $disk.freeSpace/1GB
Size = $disk.size/1GB
VolumeName = $disk.volumeName
used = $used
used2 = $used
}