I accept @sirtao's answer.
Meanwhile I was working on .Net in powershell to do this properly
$aoo = New-Object System.Collections.Hashtable[] $idRange.Count
foreach ($i in $idRange) {
$i = $aoo.IndexOf($uid)
$aoo[$i] = New-Object System.Collections.Hashtable
}
this way I can add/set/update properties like this for case in my question
foreach ($id in $idRange) {
$i = $idRange.IndexOf($id)
$aoo[$i]['id'] = $id
}
or add/set/update just one parameter (for what I need)
$aoo[2]['x'] = 7