Esta resposta sugeriu o uso de Netprofiles para um problema semelhante:
Features
* Save your network settings as profiles.
* Automatically activate wireless profiles when specified wireless connections are detected. (XP only)
* Change IP Address, Subnet Mask, Default Gateway, Primary and Secondary DNS Servers, WINS Server, and DHCP settings with the click of a button.
* Specifiy different mapped drives for each profile.
* Change your default printer based on which profile you're currently using.
* Automatically change your profile via program shortcuts created with Net Profiles.
* Change the default homepage for Internet Explorer, Firefox, and Opera.
* Proxy settings for Internet Explorer, Firefox, and Opera.
* Run a user-defined list of programs when a profile is activated.
* Maintain seperate desktop wallper for each profile.
* Change screen resolutions and color quality when profiles are activated.
* Can be easily translated into other languages using the enclosed XML language file.
Nesse caso, você pode executar um script que alterne em um arquivo HOSTS (C: \ Windows \ system32 \ drivers \ etc \ hosts) que inclua os sites que você deseja ignorar como aliases localhost Por exemplo:
# restrict access to certain sites without a firewall
127.0.0.1 my-ignored-site-1.com
127.0.0.1 my-ignored-site-2.com
127.0.0.1 my-ignored-site-3.com
Provavelmente, a maneira mais fácil de fazer isso é criar dois (ou mais) arquivos HOSTS de backup, digamos, HOSTS.normal e HOSTS.restricted, e colocar essas entradas em HOSTS.restricted. Em seguida, seu script pode copiar HOSTS com o arquivo HOSTS.restricted quando o Netprofiles detecta uma rede restrita, e outro script copia HOSTS com o HOSTS.normal quando o Netprofiles detecta uma rede normal.