Скрипт для пользователей, завершающих удаленный сеанс

615
Mickycampbell

У меня есть пара серверов БД, на каждом из которых запущено приложение RemoteApp, которое пользователи запускают для доступа к указанной БД. Проблема заключается в том, что само приложение не всегда корректно завершает работу, когда пользователь завершает его, что оставляет удаленный сеанс открытым, и пользователь не может снова получить доступ к указанному приложению.

То, что я пытаюсь создать сценарий, который будет разорвать любое текущее существующее соединение с каждым конкретным сервером (т. Е. Сценарий A будет прерван для RemoteApp A, сценарий B будет прерван для RemoteApp B).

Не уверен, добавляет ли это дополнительную сложность, но все пользователи работают в среде удаленного рабочего стола (то есть пользователь подключается к RDS1 или RDS2, а затем запускает RemoteApps в DB1, DB2 и т. Д.).

Все серверы работают под управлением Windows Server 2012 R2.

2
Не уверен, что это соответствует вашим требованиям, но вы также можете настроить удаленный сервер так, чтобы он автоматически завершал сеансы пользователей после того, как они были отключены в течение определенного периода времени. Сценарий не требуется. Twisty Impersonator 8 лет назад 0
На самом деле у меня есть такая настройка, но у клиента есть конфликтующие потребности в способе быстрого завершения и для того, чтобы сеанс оставался открытым в течение значительного периода времени (время простоя до получаса). Радости IT Mickycampbell 8 лет назад 0
Микки - Есть ли какие-либо обновления по этому вопросу и помог ли ответ, который я дал, с задачей? Pimp Juice IT 7 лет назад 0

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

2
Pimp Juice IT

Вы можете использовать команды Taskkill для уничтожения определенного процесса на определенном сервере, работающем под определенным именем пользователя (см. Ниже).

Убить процесс, нацелив его на ...

  1. имя удаленного сервера, на котором он работает
  2. имя пользователя, запускающего процесс
  3. имя процесса на удаленном сервере

Пример команды

Обязательно установите соответствующие значения в <RemoteServerName>, <Username>и <appname.exe>части Taskkill команды ниже, соответственно, для окружающей среды и потребностей.

TASKKILL /S <RemoteServerName> /F /FI "USERNAME eq <Username>" /IM <appname.exe> 

Дополнительные ресурсы

  • Taskkill

  • Taskkill /?

  • /S system Specifies the remote system to connect to.  /FI filter Applies a filter to select a set of tasks. Allows "*" to be used. ex. imagename eq acme*  /F Specifies to forcefully terminate the process(es).  /IM imagename Specifies the image name of the process to be terminated. Wildcard '*' can be used to specify all tasks or image names  Filters:  USERNAME eq, ne User name in [domain\]user format 
Интересно, я поиграю с этим. Спасибо Mickycampbell 8 лет назад 0
@Mickycampbell Нет проблем, просто дайте мне знать, если это работает для вас, не стесняйтесь высказать мой ответ, если хотите, а также не стесняйтесь [принять мой ответ] (http://meta.stackexchange.com / questions / 5234 / как работает, принимая ответ), если вы считаете, что это решение, которое вы ищете, удовлетворяющее ваши потребности. Pimp Juice IT 8 лет назад 0

Похожие вопросы