Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/120: Рейтинг темы: голосов - 120, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 23.08.2017
Сообщений: 30

Завершение сеанса пользователей на терминальном сервере (RDP)

23.08.2017, 16:20. Показов 23665. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите со скриптом, суть такая есть терминальный сервер, необходима завершать сессии по расписанию в час ночи, всех пользователей, кроме списка пользователей указанных в файле.

Добавлено через 1 час 3 минуты
нашел, такой скрипт:
Прописываю пользователей через запятую в ковычках не работает, что не так?
Windows Batch file
1
2
3
4
5
6
7
8
9
10
@echo off
rem запись информации о всех сессиях RDP в файл
cd c:\backup\
quser > session.txt
rem Убираем тех пользователей которых не нужны выкидывать
findstr /V "test1"  session.txt > sessionTMP.txt
for /f "skip=1 tokens=2," %%i in (sessionTMP.txt) DO logoff %%i
rem удаляем временные файлы
del session.txt
del sessionTMP.txt
Добавлено через 8 минут
если пользователь test1 то с одним работает

Добавлено через 13 минут
что делаю не так, как сюда прописать правильно нескольких пользователей которые будут исключаться?

Добавлено через 2 минуты
Windows Batch file
1
findstr /V "test1" session.txt > sessionTMP.txt
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.08.2017, 16:20
Ответы с готовыми решениями:

При закрытии RDP завершение сеанса пользователя
Здравствуйте, мне нужно, чтобы при входе в систему открывался сразу RDP-файл, а при закрытии был произведен выход из пользователя (на...

Выход, завершение сеанса пользователей терминала. Аудит
Имеется задача - мониторить Вход в сеанс,отключение и завершение сеанса, пользователей терминала. И сообщать Кто и во сколько вошёл...

Возможно ли отключить запрос разрешения пользователя подключиться к его RDP-сессии на терминальном сервере?
Здравствуйте коллеги! Долго искал на просторах Интернета, но так и не нашел. Вопрос такой: Возможно ли отключить запрос разрешения у...

10
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
23.08.2017, 17:37
Вот например код, который отключит всех пользователей кроме себя, на его примере соорудите себе нужное
Windows Batch file
1
2
3
@echo off
for /f "skip=1 tokens=1-3" %%a in ('query user^|find /v ">"') do set/a id=%%c& cmd/v/c "if /i "%%a" neq "%Username%" (if !id!==0 (logoff %%b) else (logoff %%c))"
pause
0
0 / 0 / 0
Регистрация: 23.08.2017
Сообщений: 30
23.08.2017, 17:38  [ТС]
А можно по нему немного объяснить?
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
23.08.2017, 17:39
для нескольких примерно так:
Windows Batch file
1
... ('query user^|findstr /v /c:"user1" /c:"user2"') ...
0
0 / 0 / 0
Регистрация: 23.08.2017
Сообщений: 30
23.08.2017, 17:43  [ТС]
у меня мой пример то же самое делал.

Добавлено через 43 секунды
по вот этим строчка не понятно "skip=1 tokens=1-3"

Добавлено через 22 секунды
пропустит 1 строку, а что делаю токен?

Добавлено через 1 минуту
а почему пользователи указываются через c:"user1"?
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
23.08.2017, 17:56
Цитата Сообщение от tera2017 Посмотреть сообщение
объяснить
например введите просто
Windows Batch file
1
query user|findstr /v /c:"user1" /c:"user2"
посмотрите на вывод

в коде [skip=1 tokens=1-3] пропуск первой строки (заголовка) и деление строки по пробелу, при этом забираем 3 токена
опять же для примера, запустите просто
Windows Batch file
1
2
for /f "skip=1 tokens=1-3" %%a in ('query user^|findstr /v /c:"user1" /c:"user2"') do echo %%a %%b %%c
pause
Добавлено через 2 минуты
Цитата Сообщение от tera2017 Посмотреть сообщение
а почему пользователи указываются через c:"user1"?
наоборот
findstr /v /c:"user1" /c:"user2"
/v - кроме и при этом:
/c:"Какой-то юзер" - без этого
/c:"Еще какой-то юзер" - и без этого

Добавлено через 9 минут
в вашем случае вообще одного токена достаточно (но имя юзера не должно содержать пробелов)
Windows Batch file
1
2
3
@echo off
for /f "skip=1" %%a in ('query user^|findstr /v /c:"искл_user1" /c:"искл_user2"') do echo %%a
pause
0
0 / 0 / 0
Регистрация: 23.08.2017
Сообщений: 30
23.08.2017, 18:17  [ТС]
Windows Batch file
1
2
3
################################
for /f "skip=1" %%a in ('query user^|findstr /v /c:"искл_user1" /c:"искл_user2"') do set/a id=%%c& cmd/v/c "if /i "%%a" neq "%Username%" (if !id!==0 (logoff %%b) else (logoff %%c))"
################################
а как теперь логоф отработать по списку? пытаюсь сделать так, не получаеться
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
23.08.2017, 18:31
Windows Batch file
1
2
for /f "skip=1" %%a in ('query user^|findstr /v /c:"искл_user1" /c:"искл_user2"') do logoff %%a
pause
0
0 / 0 / 0
Регистрация: 23.08.2017
Сообщений: 30
23.08.2017, 18:51  [ТС]
for /f "skip=1 tokens=1-3" %%a in ('query user^|findstr /v /c:"test1" /c:"test2"') do set/a id=%%c& cmd/v/c "if /i "%%a" neq "%Username%" (if !id!==0 (logoff %%b) else (logoff %%c))"
так получилось.
Изменилось немного условие, как сделать чтобы все сессии пользователей со списка исключений, а так же пользователи со статусом "Актив" не выкидывались с сервера, остальные выкидывались, т.е. статус "Дисконект".

Добавлено через 17 минут
Пытаюсь сделать таким макаром, что без результатно:
Windows Batch file
1
for /f "skip=1 tokens=1-3" %%a in ('query user^|findstr /v /c:"test" /c:"oykalas3" "Active"') do set/a id=%%c& cmd/v/c "if /i "%%a" neq "%Username%" (if !id!==0 (logoff %%b) else (logoff %%c))"
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
24.08.2017, 00:14
tera2017,
прокрутите вниз на окно "Похожие темы", там есть несколько вариантов где разбирали похожее.
0
0 / 0 / 0
Регистрация: 23.08.2017
Сообщений: 30
24.08.2017, 10:54  [ТС]
Посмотрел скрипты, они у меня не срабатывают как надо.
ваш скрипт отрабатывает, но выкидывает еще "Активных пользователей", помимо пользователей в исключении, как исключить активных пользователей?
Windows Batch file
1
for /f "skip=1 tokens=1-3" %%a in ('query user^|findstr /v /c:"test" /c:"oykalas3" "Active"') do set/a id=%%c& cmd/v/c "if /i "%%a" neq "%Username%" (if !id!==0 (logoff %%b) else (logoff %%c))"
Добавлено через 40 минут
Разобрался, сделал так:
Windows Batch file
1
for /f "skip=1 tokens=1-3" %%a in ('query user^|findstr /V /C:"Act" /C:"пользователь1" ') do set/a id=%%c& cmd/v/c "if /i "%%a" neq "%Username%" (if !id!==0 (logoff %%b) else (logoff %%c))"
Добавлено через 23 минуты
Подскажите хочу научиться писать скрипты, что почитать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.08.2017, 10:54
Помогаю со студенческими работами здесь

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

Обрыв сеанса RDP
Добрый день. Помогите решить одну назойливую проблему. Каждый день у некоторых пользователей (не у всех, а как раз у некоторых) вылетает...

Завершение сеанса средствами C#
Здравствуйте! Возник такой вопрос, как можно из программы завершить сеанс текушего пользователя. Заранее всем спасибо!

Завершение сеанса сбой
Привет. Почему-то происходит завершение сеанса при переходе по одной ссылке http://www.kinopoisk.ru/film/50682/ (с включённым JS). Какие бы...

Завершение сеанса на этапе регистрации
Проблема: после загрузки windows xp proff , нажимаю пользователя, начинается и сразу заканчивается загрузка пользователя ( даже admina)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru