I'm trying to fetch a value from a hashtable like the one below.
$Hashtable1AuthTestID = @{
"BID_XPI" = "(id 2)";
"MBID_XPI" = "(id 3)";
"T_XPI" = "(id 4)";
"ST_XPI" = "(id 5)";
"SI_XPI" = "(id 6)";
"T_SAML" = "(id 7)";
"ST_SAML" = "(id 8)";
"SI_SAML" = "(id 9)";
"BID_SAML" = "(id 10)";
"MBID_SAML" = "(id 11)";
}
It's working fine if I use $Hashtable1AuthTestID.BID_XPI but since this will be a generic script for several different type of data (and environments) I would like to include several variable when I call the hashtable such as the one below.
# Without variables (Example): $Hashtable1AuthTestID.BID_XPI
# With variables (Example): $<Hashtable><Type><Environment>.<Method>
$hashtable = "Hashtable1"
$type = "Auth"
$environment = "Test"
$method = "BID_XPI"
# ID is the example is a string.
$'$hashtable1'$environment"ID".$method
$$hashtable1$environment+"ID".$method
I've tested several different approaches but can't get it working. I do get the correct syntax (if I print the values from the variables) such as $Hashtable1AuthTestID.BID_XPI but I don't get the actual value from the hashtable ((id 2)).
S_XPIkey in your example hashtable, might want to correct that.$environment = "Test"is missingID. If you build the string with those variables you get$Hashtable1AuthTest.BID_XPInot$Hashtable1AuthTestID.BID_XPI