Как проверить, подключен ли уже PPPoE в Windows через cmd?

Как проверить, подключен ли уже PPPoE в Windows через cmd?

Я выполнил автоматическое подключение к Wi-Fi, а затем подключил PPPoE, так как я запланировал запуск скрипта каждые 5 минут, чтобы он отключал мой Wi-Fi при запуске, если он уже подключен! Я хочу иметь возможность, например, когда скрипт запускается, он сначала проверяет, подключен ли ПК к определенному имени профиля WLAN, а затем проверяет, подключен ли PPPoE, сразу после этого, если PPPoE подключен, он пингует сайт, чтобы подтвердить, что Интернет доступен, и если Интернет доступен, он его покидает, в противном случае, если PPPoE не подключен, он повторяет тот же процесс, как в скрипте:

netsh wlan connect name=Fursan-WIFI-03049815768
rasdial MikroTik_PPPoE admin thedarkforce 
rasdial MikroTik_PPPoE /d
rasdial MikroTik_PPPoE admin thedarkforce 

Я думаю, что я мог бы сделать это как цикл if, но я не уверен, как написать цикл в Windows. Как бы я это сделал?

решение1

Вы можете добавить PING-тест перед этим. Насколько это будет надежно, я не знаю, но определенно надежнее, чем просто позвонить ему, несмотря ни на что:

set ipToTest=8.8.8.8
ping -n 1 %ipToTest% | find "TTL"
if %errorlevel% == 1 (
    netsh wlan connect name=Fursan-WIFI-03049815768
    if %errorlevel% == 1 (
        netsh wlan connect name=DIFFERENT_NETWORK_HERE
    )
    rasdial MikroTik_PPPoE admin thedarkforce 
    rasdial MikroTik_PPPoE /d
    rasdial MikroTik_PPPoE admin thedarkforce 
)

Использование DNS Google в качестве теста, но вы можете изменить его на любой IP, который хотите. Это запустит ваши команды только в том случае, если PING по какой-то причине не сработает.

Лично я не думаю, что это хорошее решение, ваше соединение не должно прерываться достаточно регулярно, чтобы оправдать это. Похоже, что-то где-то может нуждаться в замене или исправлении, и это всего лишь временная мера, которая, хотя и не каждые 5 минут с этим изменением, может вызвать у вас проблемы, если вы транслируете или находитесь в середине загрузки.

Связанный контент