在用户输入IP /计算机名称并在运行其余代码之前对其进行ping操作以确保它是有效的IP /计算机名称之后,我有这个部分。如果是,它会继续执行我的其余代码,所以没有问题。
我遇到的问题是当IP无效时从头开始“重启”。我有它所以它提示用户输入一个新的机器名称,但从那里我不能让它重新ping并尝试再次验证。截至目前,它需要新的用户输入,并继续使用我的代码,而不是重新运行ping序列。
我想我需要的是某种循环来保持检查用户输入,如果他们输入无效的IP,直到他们这样做,但我只是没有知识来解决这个问题。
非常感谢任何帮助......我觉得我太近了!
#-----Start Ping Target Machine-----#
Write-Host "Pinging Machine..." -Fore Yellow
$Ping = Test-Connection $machine -Quiet
if ($Ping -eq $true) {
Write-Host "Machine Found!" -Fore DarkGreen
}
else {
if ($Ping -eq $false) {
Write-Host "Machine Not Found - Check Name" -Fore Red
$machine = Read-Host 'What is the machine name?'
}
}
#-----End Ping Target Machine-----#
答案 0 :(得分:0)
将代码置于无限循环中并在ping成功时中断:
while ($true) # Loop continuously
{
$machine = Read-Host 'What is the machine name?'
Write-Host "Pinging Machine..." -Fore Yellow
$Ping = Test-Connection $machine -Quiet
if ($Ping) # Check the ping (no need for '-eq $true')
{
Write-Host "Machine Found!" -Fore DarkGreen
break; # Break the loop since ping was successful
}
else
{
Write-Host "Machine Not Found - Check Name" -Fore Red
}
}