Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - скрипт, который завершает сеанс пользователя-инициатора на терминальном сервере

Ответить
Настройки темы
CMD/BAT - скрипт, который завершает сеанс пользователя-инициатора на терминальном сервере

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: dmins
Дата: 03-06-2015
Есть скрипт, в котором явно прописан Логин пользователя, сессию которого завершает на терминальном сервере.
Задача: изменить его так, что бы скрипт определял САМ имя пользователя который запустил скрипт и гасил его сессию на терминале.

Код: Выделить весь код
@echo off
 
Set SERVER=myserver
Set USER=testuser

For /F "Tokens=1-4 Skip=1 Delims=# " %%i In ('qwinsta /Server:%SERVER%') Do (
   If "%%i"=="rdp-tcp" (
      If "%%k"=="%USER%" rwinsta %%l /Server:%SERVER%
   ) Else (
      If "%%i"=="%USER%" rwinsta %%j /Server:%SERVER%
   )
)
подробнее:

Имя пользователь в домене: testuser, он запускает RemoteAPP (соответственно у него поднимается сессия терминальная) на сервере терминалов.
Далее, пользователь запускает этот скрипт, в котором ЯВНО прописано его имя пользователя "testuser".
А если таких пользователей 500, не делать же под каждого такой скрипт c указанием имени пользователя, в связи с этим:

мне бы хотелось сделать этот скрипт универсальным для всех пользователей, конкретно: что бы при запуске скрипта любым пользователем из домена, определялось имя его учетной записи и по этой записи уже гасилась сессия на терминале. У меня есть идея касаемо whoami - он выдает имя залогиненого пользователя под данной учеткой в виде domain\user. Как бы пристроить в этот скрипт, подскажите коллеги.

Спасибо.

Отправлено: 11:48, 03-06-2015

 

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Команда whoami выдает domain\username
Через findstr можно отсортировать вывод команды (все что после слеша) и подставить это в переменную &USER& скрипта.

Как это реализовать, или есть другие идеи ?

Отправлено: 12:13, 03-06-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Подставил вместо переменной имени %username%

Отправлено: 13:00, 03-06-2015 | #3


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Решил вопрос, скрипт гасит как Активную сессси так и сессию в статусе Дисконнектед.
Выглядит это все вот так:

Код: Выделить весь код
@echo on

Set SERVER1=IP_Адрес_вашего_терминального_сервера
Set USER=%username%

For /F "Tokens=1-4 Skip=1 Delims=# " %%i In ('qwinsta /Server:%SERVER1%') Do (
   If "%%i"=="rdp-tcp" (
      If "%%k"=="%USER%" rwinsta %%l /Server:%SERVER1%
   ) Else (
      If "%%i"=="%USER%" rwinsta %%j /Server:%SERVER1%
   )
)
Вам необходимо поменять только то, что выделено ЖИРНЫМ шрифтом, все остальное не трогать!

Последний раз редактировалось dmins, 03-06-2015 в 15:14.


Отправлено: 13:43, 03-06-2015 | #4


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


dmins, ввод ещё одной переменной окружения:
Цитата dmins:
Код: Выделить весь код
Set USER=%username%
»
совершенно избыточен.

Отправлено: 05:42, 04-06-2015 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - скрипт, который завершает сеанс пользователя-инициатора на терминальном сервере

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 R2 - [решено] Временная учетка пользователя на терминальном сервере art.andr Windows Server 2008/2008 R2 8 25-04-2018 14:09
спаммер на терминальном сервере fesenus Microsoft Windows NT/2000/2003 7 17-09-2013 13:04
Разное - ноутбук самопроизвольно завершает сеанс menserj Ноутбуки 5 13-08-2010 15:04
Загрузка ЦП на терминальном сервере Seven Microsoft Windows NT/2000/2003 6 19-01-2010 08:20
Использование - Office 2003 на терминальном сервере slow Лицензирование продуктов Microsoft 8 17-10-2008 15:53




 
Переход