Убивать программы при переключении аккаунта на Windows10

249
derHugo

Есть ли способ убить определенную программу при переключении между учетными записями в Windows10?

У меня есть VPN-клиент, работающий в режиме автозапуска для одной учетной записи (работы) на моем ПК с Windows10, чтобы всегда быть в сети офиса.

Мне бы хотелось, чтобы этот VPN-клиент автоматически останавливался (приятным бонусом было бы только отключение) каждый раз, когда я переключался на другую учетную запись (частную).

(Другим приятным бонусом будет перезапуск / повторное подключение, когда я снова вернусь к рабочему аккаунту.)

Основная причина: в
большинстве случаев для обучения в моем университете я должен подключиться с помощью другого VPN-клиента к университетской сети, а для работы я должен быть подключен к нашему офисному VPN.

Часто я забываю отключить каждую учетную запись вручную при переключении между учетными записями, приводящими к конфликтам и необходимости переключаться между учетными записями в два раза больше, чтобы исправить мою ошибку.

Был бы признателен, если у кого-то есть идея по этому поводу.

2
Чтобы выполнить то, что вы хотите, вы хотите выйти из системы пользователя. Что такое сахар? Отредактируйте свой вопрос Ramhound 6 лет назад 0
Ну, это не имеет смысла в этом контексте Ramhound 6 лет назад 0

1 ответ на вопрос

3
wysiwyg

Используйте пакетный файл, чтобы убить программу, а затем заблокируйте учетную запись:

Создайте новый текстовый документ и измените расширение с .txtна .bat. Щелкните правой кнопкой мыши и выберите Edit.

Вставьте следующий код, заменив programего именем программы вашего VPN-клиента. Вы можете найти это в диспетчере задач.

taskkill /im program.exe rundll32.exe user32.dll,LockWorkStation 

РЕДАКТИРОВАТЬ: Как указал OP derHugo, очевидно, вы можете просто использовать tsdisconвместо вызова rundll32. Я не знаю никакой разницы или выгоды, так или иначе; оба, кажется, работают, чтобы заблокировать учетную запись.


Теперь просто сохраните файл, и когда вы запустите его, ваш VPN-клиент будет убит, а учетная запись будет заблокирована. Вы также можете назначить ему сочетание клавиш, создав ярлык командного файла и перейдя на Generalвкладку свойств ярлыка.

Если VPN-клиент поддерживает параметры командной строки, это может работать только для закрытия соединения, а не для уничтожения приложения. Просто замените строку `taskkill` на` vpnprog.exe -close`. techturtle 6 лет назад 0
Спасибо! Я уже немного покопался в `taskkill / f / im MAYPROGRAMM.exe && taskkill / f / im explorer.exe && runas / u:explorer.exe`. Но, похоже, ваше решение действует быстрее, чем позже. Прямо сейчас я также нашел `tsdiscon` .. Знаете ли вы, есть ли разница между вашим решением и` tsdiscon`? derHugo 6 лет назад 0
@techturtle это [securepoint SSLVpnClient.exe] (https://www.securepoint.de/en/products/nextgen-utm-firewalls/vpn-client.html) и, к сожалению, похоже, что он не поддерживает ничего подобного. derHugo 6 лет назад 0
@derHugo Рад помочь. `tsdiscon` действительно предназначен для отключения от сеанса сервера терминалов (например, удаленного рабочего стола). Если вы не укажете идентификатор сеанса, то, очевидно, он просто заблокирует ваш текущий сеанс, я этого не знал. Я думаю, вы можете использовать это вместо вызова `rundll32`, если хотите. wysiwyg 6 лет назад 0
Я понял, что `rundll32` может быть лучшим способом.` Tsdiscon` иногда позволяет мне выйти на черный экран, прежде чем, наконец, добраться до экрана входа в систему. Однажды он даже остался черным, и мне пришлось жестко перезагрузить компьютер ... derHugo 6 лет назад 0