Как использовать оператор if для определения, должен ли скрипт изменить DNS-настройки? - PullRequest
0 голосов
/ 16 мая 2019

Мой ПК будет часто переключаться между DNS-серверами, и я не хочу делать это каждый раз вручную.Поэтому я хочу создать сценарий PowerShell, который изменяет DNS-адрес с адреса nr1 на nr2, если я сейчас использую nr1 и наоборот.

Я не могу понять, как написать логическое выражение, чтобы сценарий изменился на DNS2, если я использую DNS1

if( ) {
   Set-DnsClientServerAddress -InterfaceIndex 6 -ServerAddresses $dns1
} else {
   Set-DnsClientServerAddress -InterfaceIndex 6 -ServerAddresses $dns2
}

Ответы [ 2 ]

0 голосов
/ 16 мая 2019

Для переключения между определенными вами $dns1 и $dns2 ServerAddresses

$dns1 = '192.168.0.x'  # or whatever
$dns2 = '192.168.0.y'
if((Get-DnsClientServerAddress -InterfaceIndex 6).ServerAddresses -contains $dns2) {
    Set-DnsClientServerAddress -InterfaceIndex 6 -ServerAddresses $dns1
} else {
    Set-DnsClientServerAddress -InterfaceIndex 6 -ServerAddresses $dns2
}
0 голосов
/ 16 мая 2019

В вашем выражении if() вам нужно добавить условие для проверки ... Итак, сделайте что-то вроде этого:

if((Get-DnsClientServerAddress -InterfaceIndex 10 -AddressFamily IPv4) -match $dns1) {
    # Do some thing
}
else {
    # Do some other thing
}

Просто убедитесь, что вы изменили свой InterfaceIndex на то, что соответствует вашим настройкам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...