4 / 4 / 0
Регистрация: 11.02.2011
Сообщений: 89
1

Удаленное завершение сеанса пользователя

18.02.2013, 12:19. Показов 19934. Ответов 12
Метки нет (Все метки)

Здравствуйте.
1) Я накидал вот такой батник, для удаленного завершения сеанса пользователя.
Bash
1
2
3
4
5
@echo off
chcp 1251>null 
msg admib Данный сеанс пользователя будет завершен через пол часа. Пожалуйста закройте все приложения, и сохраните данные в течении этого времени.>null
timeout /t 10>null 
shutdown /l>null
Но беда в том что если сеанс не под Admib, то он батник не работает. Пытался Admib заменить на System, пишет что нет такой учетки или она отключена. Как решить данную проблему?
2) Как сделать так чтобы окно cmd не появлялось? echo off и null, скрывают только записи а окно все равно висит?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.02.2013, 12:19
Ответы с готовыми решениями:

Завершение сеанса при закрытии процесса
Я профан, но пытаюсь разобраться :wall: Пользователь подключается к по RDP к серверу, мне надо...

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

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

Удаленное завершение СВОЕЙ RemoteAPP сессии на терминале скриптом
Есть пользователи в домене. Есть приложение опубликованное через RemoteAPP на терминальном...

12
92 / 92 / 4
Регистрация: 25.06.2012
Сообщений: 278
18.02.2013, 12:35 2
Цитата Сообщение от Ticher Посмотреть сообщение
Admib
Я так думаю это у Вас опечатка?
Цитата Сообщение от Ticher Посмотреть сообщение
для удаленного завершения сеанса пользователя
В этом примере можете вписать пользователя, сеанс которого нужно завершить.
Bash
1
2
3
4
5
6
7
8
9
10
11
@echo off
setlocal enabledelayedexpansion
:: Имя сервера
set server=server
:: Имя пользователя, сеанс которого нужно завершить
set user=user
:: Поиск ID сеанса и его отключение от сервера
for /f "tokens=3,* delims= " %%i in ('qwinsta /server:%server% ^| find "%user%"') do (
  logoff %%i /server:%server% && echo Сеанс успешно завершен
)
pause>nul
1
4 / 4 / 0
Регистрация: 11.02.2011
Сообщений: 89
19.02.2013, 08:16  [ТС] 3
Проблему с удаленным завершением решил так. Через планировщик задач.
Но выскочила следующая беда:
Bash
1
2
3
msg * Мой текст сообщения
timeout /t 10
shutdown /l
После исполнения, этих трех команд, сеанс не завершается, а команды начинают по новой выполняться в той же консоли. С чем связанна данная проблема?
2) Как полностью убрать окно cmd при выполнении батника?
0
92 / 92 / 4
Регистрация: 25.06.2012
Сообщений: 278
19.02.2013, 11:09 4
Цитата Сообщение от Ticher Посмотреть сообщение
С чем связанна данная проблема?
А это у Вас весь код? Т.к. этот должен выполняться без каких либо проблем.
Цитата Сообщение от Ticher Посмотреть сообщение
Как полностью убрать окно cmd при выполнении батника?
Вот здесь можете выбрать подходящий способ (Визуализация и интерфейс).
0
Эксперт WindowsАвтор FAQ
17664 / 7508 / 887
Регистрация: 25.12.2011
Сообщений: 11,279
Записей в блоге: 16
19.02.2013, 23:30 5
Видимо неверно настроены параметры планировщика. Что именно - не подскажу.

Могу посоветовать попробовать через runas:
Bash
1
runas.exe /profile /user:"%ComputerName%\Restricted" "shutdown -l -t 0"
Для сервера обычно необходимо также прописать через ключ причину завершения сеанса.
1
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
28028 / 15757 / 977
Регистрация: 15.09.2009
Сообщений: 67,772
Записей в блоге: 78
19.02.2013, 23:42 6
а батник часом назван не "shutdown" ?
1
4 / 4 / 0
Регистрация: 11.02.2011
Сообщений: 89
20.02.2013, 07:24  [ТС] 7
Цитата Сообщение от magirus Посмотреть сообщение
а батник часом назван не "shutdown" ?
Да он так называется. А что это имеет значение?

Добавлено через 13 минут
Цитата Сообщение от Dragokas Посмотреть сообщение
Видимо неверно настроены параметры планировщика. Что именно - не подскажу.

Могу посоветовать попробовать через runas:
Bash
1
runas.exe /profile /user:"%ComputerName%\Restricted" "shutdown -l -t 0"
Для сервера обычно необходимо также прописать через ключ причину завершения сеанса.
Да но тогда надо, указывать пароль администратора. Как заставить батник, при своем выполнении прописать пароль. При чем пароль надо прописывать в той cmd которую инициирует батник.
1
482 / 411 / 20
Регистрация: 06.02.2012
Сообщений: 1,693
20.02.2013, 07:27 8
+ как это влияет?
0
4 / 4 / 0
Регистрация: 11.02.2011
Сообщений: 89
20.02.2013, 12:11  [ТС] 9
Дорогие друзья=))) Что в итоге получилось: Я удаленно через Active Directiry Windows Server 2008 запустил задачу через планировщик задач на компьютере с Windows 7. Авторизованные пользователи у которых будет выполняться задача не имеет прав администратора. Сама задача это запуск вот такого батника:
Bash
1
2
3
4
5
@echo off
chcp 1251>null 
msg * Данный сеанс пользователя будет завершен через пол часа. Пожалуйста закройте все приложения, и сохраните данные в течении этого времени.>null
timeout /t 10>null 
shutdown /l>null
В итоге я получил:
1) Если запускать этот батник через планировщик, то окно cmd не появляется, дальше появляется сообщение msg но сеанс не завершается (хотя тут вопрос может не выполняться команда timeout хотя я в этом сомневаюсь на 99%)
2) Если запускать батник локально на этой машине без прав администратора (то есть просто 2 шелчками мыши), окно cmd запускается, msg и timeout выполняются правильно, но после появления команды shutdown постаянно появляются записи на "Иврите".
3) Если запускать батник локально на этой машине с правами администратора (правой мышкой-> запустить от имени администратора) батник выполняется правильно, окно cmd появляется.
Для решения данной проблемы вижу 2 решения: Запускать этот батник через runas, но тут вопрос как передать пароль, и ввести его, при том что это должно делаться автоматически?
Или определиться почему на команду shutdown требуются админские права (у пользователя есть право завершать сеанс), так как за каждое действие в windows отвечает реестр, может кто знает нужный ключ, или ветку (которые отвечают за завершение сеанса или прав на завершение), или просто кто советом поможет.
P.S: вариант со runas мне как-то не по душе=))

Добавлено через 1 минуту
И еще сам батник называется Shutdown

Добавлено через 13 минут
Пацаны=) Я решил:
В Windows 7 есть команда logoff, она работает на ура, заменил ею shutdown все огонь стало=)

Добавлено через 59 минут
Только появилась еще одна проблема:
Когда запускается батник он требует, подтвердить подлинность источника? как от этого избавиться.
0
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
28028 / 15757 / 977
Регистрация: 15.09.2009
Сообщений: 67,772
Записей в блоге: 78
20.02.2013, 21:44 10
переименуйте батник.
0
4 / 4 / 0
Регистрация: 11.02.2011
Сообщений: 89
21.02.2013, 05:25  [ТС] 11
Зачем и почему?
0
92 / 92 / 4
Регистрация: 25.06.2012
Сообщений: 278
21.02.2013, 10:24 12
Цитата Сообщение от Ticher Посмотреть сообщение
Зачем и почему?
Странный вопрос, Вы спросили в чем проблема - Вам ответили, но видимо не хотите принимать ответ.
Цитата Сообщение от magirus Посмотреть сообщение
командный процессор, если не указано расширение ищет сначала исполняемые файлы с расширением Bat потом Com потом Exe. Соответственно в батнике обозванном shutdown.bat будет в первую очередь вызываться он сам же.
0
Эксперт WindowsАвтор FAQ
17664 / 7508 / 887
Регистрация: 25.12.2011
Сообщений: 11,279
Записей в блоге: 16
21.02.2013, 15:08 13
Ticher, Наиболее частые ошибки, заметки особенностей программинга BAT файлов, баги интерпретатора*
(ошибка № 11)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.02.2013, 15:08

Удалённое подключение к сеансу пользователя
Здравствуйте! В windows 2008 с помощью диспетчера служб терминалов можно было подключаться к...

Завершение повисшего сеанса терминала, по требованию пользователя
В общем проблема такая, стоит win server 2003 к нему подцепляются по терминалу пользователи для...

Active Directory - завершение сеанса активного пользователя в сети
Всем доброго дня! Вопрос мучает меня, как сисадмина, очень давно: на работе построена сеть на...

Как можно отследить завершение сеанса пользователя чтобы успеть перед этим сохранить данные
Здравствуйте. Я делаю программу которая бы отслеживала время когда пользователь заходит в систему и...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.