gpt4 book ai didi

powershell - 如果条件不起作用,PowerShell简单语法

转载 作者:行者123 更新时间:2023-12-03 00:47:02 29 4
gpt4 key购买 nike

因此,我正在尝试编写一个将DNS转发器设置为2个预设IP的脚本,但是如果用户要选择其他IP,则只需在提示中提供它们即可。

Write-Host " "
Write-Host "DNS Forwarders are set on -192.168.20.3 & 168.192.24.3- want to choose these?"

$Antw = Read-Host -Prompt 'y/n'

If ($Antw.ToLower() = "n")
{
$ip1 = Read-Host -Prompt 'DNS Forwarder 1: '
$ip2 = Read-Host -Prompt 'DNS Forwarder 2: '

C:\Windows\System32\dnscmd.exe $hostname /resetforwarders $ip1, $ip2
}


Elseif ($Antw.ToLower() = "y")
{

C:\Windows\System32\dnscmd.exe $hostname /resetforwarders 192.168.20.3, 168.192.24.3

}


#Write-Host $Antw

我的If / ElseIf似乎不起作用,如果我按“y”,它仍要求输入2 ip?我的代码有什么问题?

谢谢

最佳答案

在不完全了解PowerShell的用户中,这是一个常见错误。在PowerShell中进行的比较未使用经典的运算符进行。您必须使用“FORTRAN样式”运算符:

 Write-Host " "
Write-Host "DNS Forwarders are set on -192.168.20.3 & 168.192.24.3- want to choose these?"

$Antw = Read-Host -Prompt 'y/n'

If ($Antw.ToLower() -eq "n")
{
$ip1 = Read-Host -Prompt 'DNS Forwarder 1: '
$ip2 = Read-Host -Prompt 'DNS Forwarder 2: '

C:\Windows\System32\dnscmd.exe $hostname /resetforwarders $ip1, $ip2
}


Elseif ($Antw.ToLower() -eq "y")
{

C:\Windows\System32\dnscmd.exe $hostname /resetforwarders 192.168.20.3, 168.192.24.3

}


#Write-Host $Antw

关于powershell - 如果条件不起作用,PowerShell简单语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42250254/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com