Você pode usar o cmdlet Get-Variable
para fazer referência à variável pelo nome:
$employees = 'George', 'James'
$SaveDirRoot = "R:\Employees\"
$GeorgeSaveDir = "George\"
$JamesSaveDir = "James\"
$GeorgeFullSaveDir = $SaveDirRoot+$GeorgeSaveDir
$JamesFullSaveDir = $SaveDirRoot+$JamesSaveDir
foreach ($emp in $employees)
{
Write-Host (Get-Variable ($emp+'FullSaveDir') -ValueOnly)
}
Mas, IMHO, em vez de usar várias variáveis por funcionário, você deve armazenar todas as informações relacionadas a funcionários em um único objeto:
$employees = @(
@{
Name = 'George'
SaveDir = "George\"
}
@{
Name = 'James'
SaveDir = "James\"
}
)
$SaveDirRoot = "R:\Employees\"
foreach ($emp in $employees)
{
$emp.FullSaveDir = $SaveDirRoot+$emp.SaveDir
}
foreach ($emp in $employees)
{
Write-Host $emp.FullSaveDir
}