Как отключить все интернет-соединения во время работы заставки?

Как отключить все интернет-соединения во время работы заставки?

Мне интересно, можно ли полностью отключить мой настольный ПК от интернета при запуске заставки? Я также хотел бы повторно подключиться к ранее выбранной сети (сейчас я использую карту Wi-Fi), когда заставка отключается. В настоящее время я запускаю пакетный файл при запуске заставки, чтобы я мог запустить резервное копирование, а затем пакетный файл запускает заставку, которую я сделал, так что если мне нужно, я могу вызвать другой пакетный файл при выходе. Другой вариант — использовать .NET API, но я не смог найти никаких ресурсов по взаимодействию с функциональностью Windows. Я использую Windows 8 Pro.

Спасибо!

решение1

Да, это возможно с помощью небольшого скриптинга.

$adaptor = Get-WmiObject -Class Win32_NetworkAdapter | Where-Object {$_.Name -like "*Intel(R) 82567LM-2 Gigabit Network Connection*"}
$ssrunning = (Get-Process -name notepad -ErrorAction SilentlyContinue)
если ($ssrunning){$adaptor.Disable()}
еще{$adaptor.Enable()}

На самом деле в Windows 8.1 и 2012 это проще. Существуют командлеты Powershell 4, которые называются enable-netadpterи disable-netadapter, которые упростили бы процесс... но это более общий вариант, который должен работать на большинстве машин.

Из командной строки Powershell запустите, Get-WmiObject -Class Win32_NetworkAdapterчтобы вывести список имен сетевых адаптеров. В скрипте замените Intel(R) 82567LM-2 Gigabit Network Connectionна имя вашего адаптера.

Также вам нужно будет знать имя процесса вашего скринсейвера, если бы это было mystify.scr, я думаю, процесс бы назывался просто mystify. Замените notepadв скрипте на имя процесса.

Просто запустите этот скрипт Powershell с повышенными привилегиями (это необходимо для включения/отключения адаптеров), возможно, как запланированную задачу Windows, и все готово.

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