メガバイトでユーザのホームフォルダのサイズを算出し、次のコードで見られるように、私はforeach
ループ内の変数を持っている:foreachループで値を集計する方法は?
$TotalColItems = @()
foreach ($user in $ListofUsers)
{
$colItems = (Get-ChildItem $user.HomeDirectory -Recurse |
Measure-Object -Property Length -Sum)
Write-Host "`r`n Size of:" $user.HomeDirectory
"{0:N2}" -f ($colItems.Sum/1MB) + " MB"
$Calculation = "{0:N2}" -f ($colItems.Sum/1MB) + " MB"
$TotalColItems += $colItems.Sum
$user.HomeDirectory + " = " + $Calculation | Out-File $LogFileName -Append
Remove-Item $user.HomeDirectory -Force -Recurse -ErrorAction SilentlyContinue
Write-Host "`r`n Removed HomeDirectory: " $user.HomeDirectory
Write-Host "`r`n Verifying you want to remove the user: " $user.Name -ForegroundColor Yellow -BackgroundColor Red
Write-Host "`r`n"
Remove-ADObject $user.DistinguishedName
Write-Host $TotalColItems
しかし、私はすべての合計値を取得する方法を見つけ出すように見えることはできません$colItems
私はMBのオフを計算することができます。
私は、ループ内でこれを入れてみました:
$TotalColItems += $colItems
それが実行されている追加の合計を保持していないので、それは、ループごとに自分自身をリセットします。
ループごとに変数$colItems
を変数に追加して、すべてのユーザーディレクトリサイズの合計を持つことができますか。あなたが探しているものを達成することができ、さまざまな方法の
'$ TotalColItems + = $ colItems' - >' $ TotalColItems + = $ colItems.Sum' –
@ MathiasR.Jessen - そのような仕事はありますが、私は4199 155090 5095095 ...となります。実行中の合計ではなく変数に3つの値があります。 – TheCleaner
'$ TotalColItems'に' 0'を代入することから始めます。空の配列を割り当てたので、配列のようになります。 –