Eu usaria o Agendador de Tarefas para acionar o script na conexão a uma rede e, em seguida, usar o script para confirmar a presença da Internet.
O log de eventos Microsoft-Windows-NetworkProfile / Operational obtém um evento 10000 ao conectar-se a uma rede, para que você possa usá-lo para acionar seu script.
Então, no início do script, você pode ter algo como:
ping 8.8.8.8 | find "Reply"
if errorlevel 1 goto :eof
# Your script