我的最终目标是能够输入多个字符串,然后在其他命令中引用它们,在这种情况下,映射网络驱动器。
我遇到了几个'的问题。部分原因。我可以一次使用一个,但是当我尝试做更多时,它失败了。
$Servers = @{"Server1" = "10.10.10.10";"Server2" = "10.10.10.11"}
$Sites = Read-Host "enter site codes"
$Sites.Split('.')
ForEach ($Site In Sites){
write-host $Servers[$Sites]
}
理论上这应该在两行上输出10.10.10.10和10.10.10.11,但它没有。它只输出$ Sites,Server1,Server2
的值我不知道自己做错了什么。
答案 0 :(得分:1)
我相信你的错误是使用$ Sites(而不是$ Site)作为foreach循环中的键,而不是将你的split数组放入foreach集合中:
$Servers = @{"Server1" = "10.10.10.10";"Server2" = "10.10.10.11"}
$Sites = Read-Host "enter site codes"
ForEach ($Site In $Sites.Split(',')){
write-host $Servers[$Site]
}