Ronnie Ryge Petersen
Ronnie Ryge Petersen

Reputation: 11

Dynamic variable at the end of foreach in powershell

im trying to create a small status script, checking ram, cpu og drives. Right now im doing a foreach on get volume. Is it possible to create a variable in the end of my foreach called driveletter + output

So the variable could look like this $Coutput or $Doutput, depending on the driveletter?

$ByteDivider = 1073741824

$Disks = Get-Volume | Select -ExpandProperty Driveletter

foreach($disk in $disks){

$DrivLetter = Get-Volume -DriveLetter $disk | Select-Object -ExpandProperty Driveletter

$Size = Get-Volume -DriveLetter $disk | Select-Object -ExpandProperty Size
$SizeInGB = $Size/$ByteDivider
$SizeRounded = '{0:f0}' -f $SizeInGB


$FreeSpace = Get-Volume -DriveLetter $disk | Select-Object -ExpandProperty SizeRemaining
$FreeSpaceInGB = $FreeSpace/$ByteDivider

$UsedSpace = $SizeInGB-$FreeSpaceInGB
$UsedSpaceRounded = '{0:f0}' -f $UsedSpace

Write-Host ("Drive: $DrivLetter Used:$UsedSpaceRounded/$SizeRounded")

}

Upvotes: 0

Views: 82

Answers (1)

Ronnie Ryge Petersen
Ronnie Ryge Petersen

Reputation: 11

I figured it out

New-Variable -Name $disk+Output -Value $data -Force

Upvotes: 1

Related Questions