Поскольку ваши имена хеш-таблиц имеют тип System.Int32
. Это покажет вам, что:
$uninstallcommandtable.Keys | % {$_.GetType().FullName}
Read-Host
устанавливает переменную типа System.String
. Таким образом, вам нужно будет преобразовать строку в System.Int32
следующим образом:
Write-host $uninstallcommandtable.Get_Item([Int32] $whichprogram)
Вы также можете использовать:
Write-host $uninstallcommandtable.Item([Int32] $whichprogram)