Eu vejo 2 maneiras de fazer isso.
Um está executando um script do PowerShell continuamente, portanto, você verifica as condições de rede alteradas em um loop a cada N segundos (usando o comando sleep para inativo).
Outro e provavelmente melhor é ter sua inicialização de script dos eventos do Agendador de Tarefas do Windows. Você pode, por exemplo, disparar verificações quando o usuário fizer logon ou a máquina inicializar. Você também pode definir acionadores específicos usando eventos do log de eventos do sistema, que podem conter eventos relacionados à rede que podem ser usados (não usei isso para coisas relacionadas à rede, por isso, preciso verificar a mim mesmo). Ao usar os gatilhos certos, você pode fazer com que seu script seja executado somente quando as condições da rede mudarem.
Espero que isso ajude.