Ссылка на индивидуально именованные переменные с использованием имени из другой переменной - хотя это и возможно - ошибочный подход. Не делай этого. Канонический способ справиться с подобными ситуациями - использовать массив, если вы хотите получить доступ к структуре данных или объекту по индексу:
$hashtables = @()
$hashtables += @{
"BID_XPI" = "(id 2)"
"MBID_XPI" = "(id 3)"
...
}
$hashtables[0].MBID_XPI
или хеш-таблицу, если вы хотите получить доступ к структуре данных или объекту по имени:
$hashtables = @{}
$hashtables['Hashtable1AuthTestID'] = @{
"BID_XPI" = "(id 2)"
"MBID_XPI" = "(id 3)"
...
}
$hashtable = 'Hashtable1'
$type = 'Auth'
$environment = 'Test'
$method = 'BID_XPI'
$name = "${hashtable}${type}${environment}ID"
$hashtables.$name.$method
Ради полноты, вот как вы можете получить переменную, используя имя из другой переменной, но, опять же, это НЕ РЕКОМЕНДУЕТСЯ.
$Hashtable1AuthTestID = @{
"BID_XPI" = "(id 2)"
"MBID_XPI" = "(id 3)"
...
}
$hashtable = 'Hashtable1'
$type = 'Auth'
$environment = 'Test'
$method = 'BID_XPI'
$name = "${hashtable}${type}${environment}ID"
(Get-Variable -Name $name -ValueOnly).$method