【发布时间】:2020-10-18 10:18:51
【问题描述】:
我有如下示例代码:
$IP=@("IP1","IP2","IP3", "IP4" , "IP5")
$Hostname=@("Host1","Host2","Host3","HOST4", "HOST5")
$data = Read-Host -Prompt 'Please enter the data.'
if ($data -match 'zone1') {
$Unity=$IP[0]
$show=$hostname[0]
} elseif ($data -match 'site2'){
$Unity=$IP[1]
$show=$hostname[1]
} elseif ($data -match 'unit5'){
$Unity=$IP[2]
$show=$hostname[2]
} elseif ($data -match 'ALL DC'){
$Unity=$IP
$show=$hostname
}
foreach ($u in $Unity){
echo "This is my IP" $u
echo "This is my hostname" $show
}
除所有 DC 之外的所有选项的代码工作都很好。 我想运行一些使用主机名和 Ip 的命令。
用户输入所有 DC 时的期望输出为
这是我的 IP IP1 这是我的主机名 主机1 这是我的IP IP2 这是我的主机名 主机2 这是我的IP IP3 这是我的主机名 主机3 这是我的IP IP4 这是我的主机名 主机4 这是我的IP IP5 这是我的主机名 主机5
【问题讨论】:
-
这是实际代码吗?在分配之前访问
$data。 -
@marsze-这是示例代码,我已经更正了
-
目前还不清楚您实际想要达到的目标。请更好地解释您的意图,并包括预期的输入/输出
-
@marsze 如果您将运行上述代码并将输入作为 ALL DC,您将了解我的问题。对于一个 IP,它显示所有主机名
-
是的,因为您分配了所有主机名
$show = $hostname。您到底希望输出是什么?将其添加到您的问题中!
标签: arrays powershell for-loop