Accessing a variable with a variable

So I need to create a number of empty hashtables and then populate them with data. The number of hashtables to create and the data to populate them with will all be determined based on the content of a log file (so I don’t know what they will be beforehand, which means no hard-coding the variable names during creation or later when trying to access them).

We’ll just create one hashtable here for simplicity sake.

$count = 1

 

New-Variable -Name $summary_$count -Value @{}

So we just created the variable $summary_1

My question is, how do I access it now using $count and not a 1 in order to add data to it? Normally you would be able to run

$summary_1.Add($name, $value)

to add to the hashtable. But I need to be able to do something like this

$summary_$count.Add($name, $value)

 The issue you want to address is accessing a variable from a computed name. It’s actually quite easy. Here’s an example:

$Count = 1
$Prefix = ‘Summary’
New-Variable -Name “$Prefix`_$Count” -Value @{}
$Summary_1.GetType()
IsPublic IsSerial Name               BaseType
-------- -------- ----Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â --------Â
True    True    Hashtable         System.Object

(Get-Variable -Name “$Prefix`_$Count” -ValueOnly).GetType()
IsPublic IsSerial Name               BaseType
-------- -------- ----Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â --------Â
True    True    Hashtable         System.Object