|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] скрипт с завершением сеанса определенного пользователя |
|
|
VBS/WSH/JS - [решено] скрипт с завершением сеанса определенного пользователя
|
Новый участник Сообщения: 16 |
не поможете скрипт подправить на завершение сессии пользователя на терминальном сервере. в скриптах я не оченть силен, смог собрать скрипт на завершение сеанса текущего пользователя
Option Explicit Dim strComputer Dim strNamespace Dim strClass Dim objClass Dim colInstances Dim objInstance strComputer = "." strNamespace = "Root\CIMV2" strClass = "Win32_OperatingSystem" Set objClass = GetObject("WinMgmts:\\" & strComputer & _ "\" & strNamespace & ":" & strClass) Set colInstances = objClass.Instances_ For Each objInstance In colInstances objInstance.Win32Shutdown (4) Next Выглядит так, а хочется скрипт с завершением сеанса определенного пользователя. |
|
Отправлено: 12:38, 27-02-2009 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать убить заданную сессию можно через штатную утилиту rwinsta, пример:
здесь "5" - номер сессии, список сессий можно получить аналогично:
понятно, что "убить" сессию и осуществить "выход из системы" с закрытием всех программ - вещи разные, но мне неизвестны способы удаленного завершения чужих сессий... по идее, подключаться к терминальной сессии и запускать в ней любую программу должна уметь PsExec (ключ "-i"), но мне не удалось этого добиться, и судя по форуму поддержки я такой не один Как вариант: вставить при логоне запуск скрипта, который будет крутиться в фоне каждой сессии и делать "выход" по заданному условию (файл, ключ реестра, etc.) |
Последний раз редактировалось amel27, 04-03-2009 в 12:41. Причина: qwinsta --> rwinsta Отправлено: 12:30, 02-03-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать Тогда назревает вопрос, а можно ли пользователю приклеить статичный sessionid или sessionname?
|
Отправлено: 17:35, 02-03-2009 | #3 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать |
Отправлено: 12:39, 04-03-2009 | #4 |
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать вообщем вот что получается, если батник выглядит так
Set SERVER=2003test Set KILLME=test1 For /F "Tokens=1,2 Skip=3 Delims= " %%i In ('qwinsta /Server:%SERVER%') Do If "%%i"=="%KILLME%" rwinsta %%j /Server:%SERVER% test1 - имя юзера то имеем C:\Documents and Settings\Administrator>Set SERVER=2003test C:\Documents and Settings\Administrator>Set KILLME=test1 C:\Documents and Settings\Administrator>For /F "Tokens=1,2 Skip=3 Delims= " %i I n ('qwinsta /Server:2003test') Do If "%i" == "test1" rwinsta %j /Server:2003test C:\Documents and Settings\Administrator>If "rdp-tcp#8" == "test1" rwinsta test1 /Server:2003test C:\Documents and Settings\Administrator> Если меняем %j на %i, то получается все правильно C:\Documents and Settings\Administrator>C:\test\3.bat C:\Documents and Settings\Administrator>Set SERVER=2003test C:\Documents and Settings\Administrator>Set KILLME=test1 C:\Documents and Settings\Administrator>For /F "Tokens=1,2 Skip=3 Delims= " %i I n ('qwinsta /Server:2003test') Do If "%i" == "test1" rwinsta %i /Server:2003test C:\Documents and Settings\Administrator>If "rdp-tcp#8" == "test1" rwinsta rdp-tc p#8 /Server:2003test |
|
Последний раз редактировалось hse2000, 07-03-2009 в 12:35. Отправлено: 18:01, 06-03-2009 | #5 |
(*.*) Сообщения: 36565
|
Профиль | Сайт | Отправить PM | Цитировать hse2000, используйте тег [code][/code], плиз.
|
------- Отправлено: 00:02, 07-03-2009 | #6 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата hse2000:
|
|
Отправлено: 13:29, 09-03-2009 | #7 |
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать спасибо, все работает. Можно скриптик добавлять в коллекцию =
![]() |
Отправлено: 14:58, 10-03-2009 | #8 |
Новый участник Сообщения: 14
|
Профиль | Сайт | Отправить PM | Цитировать Подскажите, как доработать скрипт если нужно отключить несколько пользователей?
|
------- Отправлено: 21:21, 22-05-2010 | #9 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата bazik83:
|
|
Отправлено: 06:09, 23-05-2010 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Вирус для определенного доменного пользователя. | rivera | Лечение систем от вредоносных программ | 10 | 01-10-2009 13:01 | |
CMD/BAT - [решено] Зпуск программы с правами определенного пользователя | Bint | Скриптовые языки администрирования Windows | 2 | 23-09-2009 22:53 | |
Загрузка - [решено] Принудительная загрузка определенного пользователя. | Nird | Microsoft Windows 2000/XP | 1 | 21-04-2009 17:26 | |
[решено] Скрипт для корректировки данных пользователя в AD | HLT | Microsoft Windows NT/2000/2003 | 2 | 04-07-2008 10:32 | |
Доступ - Выполнить Скрипт от пользователя | yastreb_oren | Microsoft Windows 2000/XP | 6 | 19-04-2008 11:14 |
|