我一直在尝试从可用磁盘空间创建百分比并将其添加到每个磁盘,因此我们可以真实地了解可以减少哪些磁盘和磁盘使用情况。
我的脚本是:
$Computers = (Get-AdComputer -Filter "name -like 'My-VM-*'").Name | Sort-Object
foreach ($computer in $Computers)
{
gwmi Win32_volume -Computer $Computer -Filter 'DriveType = 3' `
| select PsComputerName, DriveLetter, Label,
@{n='Capacity';e={[int]($_.capacity/1GB)}},
@{n='FreeSpace';e={[int]($_.FreeSpace/1GB)}} | Format-Table -Groupby PsComputerName |`
Out-File c:\temp\disk_label.txt -Append
}
我可以使用以下方法获得百分比,但是我不知道如何获取freedisk值和容量值,然后我可以将其除以100乘以获得无磁盘百分比
$free = 20
$capacity = 50
$Freedisk = (($free / $capacity) * 100)
Value = $freedisk
请你让我知道我哪里出错......
提前致谢
答案 0 :(得分:1)
我不明白这个问题,因为你似乎已经掌握了所有信息。您是否编写了上面的代码或从某处复制了它(换句话说,您是否完全了解它)。
您可以通过调整以下代码轻松地将PercentFree
添加到您的输出中。在存在复杂管道的所有情况下,我将其展开为变量并调试ISE / VSCode中的每个部分。
$computer = '127.0.0.1'
$vol = gwmi Win32_volume -Computer $Computer -Filter 'DriveType = 3'
$vol
$info = $vol | select PsComputerName, DriveLetter, Label,
@{n='Capacity';e={[int]($_.capacity/1GB)}},
@{n='FreeSpace';e={[int]($_.FreeSpace/1GB)}},
@{n='PercentFree';e={[int](($_.FreeSpace) / ($_.capacity) * 100.0)}}
$info