Logoff удаленного пользователя сервера терминалов
Windows ползволяет пользователю удаленно подключаться к другому компьютеру. Иногда бывают ситуации, когда нужно удаленно выкинуть пользователя с сервера терминалов (Terminal Service Server). ( Если максимальное количество удаленных пользователей уже подключено, и при этом требуется подключиться)
Подключение к серверу терминалов в режиме консоли
mstsc /v:<адрес сервера> /console
> logoff /?
LOGOFF [<имя сеанса> | <ID сеанса>] [/SERVER:<сервер>] [/V]
<имя сеанса> Имя сеанса.
<ID сеанса> Идентификатор сеанса.
/SERVER:<сервер> Сервер терминалов, содержащий завершаемый сеанс пользователя (по умолчанию - текущий).
/V Отображение информации о выполненных действиях.
Reset session - сбрасываем сессии с сервера терминалов
Синтаксис
reset session {имя_сеанса|код_сеанса} [/server:имя_сервера] [/v]
Tsshutdn - удаленный ребут/выключение/выключение питания на сервере терминалов.
Позволяет администратору, пользующемуся удаленным управлением, завершить работу или перезагрузить сервер терминалов. Если компьютер поддерживает программное управление питанием от сети, то можно также выключить питание у сервера.
Синтаксис
tsshutdn [время_ожидания] [/server:имя_сервера] [/reboot] [/powerdown] [/delay:задержка_выхода] [/v]
утилита exitwin (?)
прижим клавиши Shift при логон - все автозапускаемые программы пропускаются…
если сценарий всавить в usrlogon.cmd то он всеравно отработает
%clientname% - переменная (netbios_name компа с которого входят в терминал). Когда входят с консоли %clientname% отсутствует.
Вызов на скрипт (например, c:\start.vbs) вставляется в usrlogon.cmd чтобы исключить возможность со стороны пользователя прервать автоматический запуск скрипта.
Сам скрипт start.vbs содержит следующее:
Option Explicit
Dim WshShell, objEnv
Set WshShell = CreateObject("WScript.Shell")
Set objEnv = WshShell.Environment("Process")
If objEnv("CLIENTNAME") = "" Then
If (objEnv("USERNAME") = "Administrator") Then
Else
WshShell.Popup "Локальный вход на консоль сервера может осуществить только Администратор", 5, "Внимание!", vbOKOnly & vbInformation
WshShell.Run "c:\exitwin.exe logoff"
End If
Else
End If
В MS Windows 2000 режим Remote Administration разрешал два удаленных сеанса для системного администрирования. В Windows Server 2003 вместо установки Terminal Services можно воспользоваться Remote Desktop. В Windows Server 2003, Remote Desktop позволяет создать два виртуальных сеанса RDP, а также удаленное подключение к консольному сеансу сервера.
Для включения Remote Desktop в System Control Panel, выбираем вкладку Remote и включаем флажок Allow users to remotely connect to your computer. По умолчанию удаленное соединение разрешено только локальным администраторам, но вы можно добавить нужных пользователей в группу Remote Desktop Users. Учтите, что включение Remote Desktop не активирует систему совместимости приложений, поэтому приложения могут работать некорректно
Требования для доступа к терминальному серверу
WS2K3 имеет три различных уровня защиты, которые позволяют контролировать доступ к терминальному серверу. Чтобы пользователь мог зарегистрироваться на терминальном сервере, необходимо соблюдение следующих трех условий:
* Право Allow log on through Terminal Services (разрешен вход через службу терминалов) — В Windows 2000 вам необходимо было давать право Log on locally всем пользователям, которым требовался доступ терминальному серверу. Это создавало потенциальную брешь в безопасности, поскольку позволяло регистрироваться на консоли сервера, обходя ограничения, которые вы сделали для RDP. WS2K3 разделяет право локального входа и право входа через службу терминалов. По умолчанию, на WS2K3 право Allow log on through Terminal Services дается только администраторам и членам группы Remote Desktop Users.* Права использовать RDP — Администратор может установить разрешения RDP с помощью Terminal Services Configuration. Как уже упоминалось, Microsoft изменила разрешения по умолчанию для протокола в WS2K3. Если в Win2K локальной группе Users был разрешен доступ к RDP, то в WS2K3 этот доступ ограничен только локальной группой Remote Desktop Users. Поэтому чтобы пользователи могли регистрироваться на терминальном сервере, вы должны поместить их в эту группу.
* Опция Allow logon to terminal (разрешен вход на терминальный сервер) — В свойствах каждого пользователя в AD есть опция Allow logon to terminal server, которая определяет, разрешено ли пользователю регистрироваться на терминальном сервере. По умолчанию эта опция включена.
Два из этих условий зависят от членства в группе Remote Desktop Users. Если пользователь получает сообщение You do not have permission to access this session, то одно из этих трех условий не соблюдается.
Как узнать, кто залогинен на удаленном компьютере
Чтобы узнать вошедших в систему пользователей на удаленном компьютере можно воспользоваться утилиткой psloggedon из комплекта pstools
psloggedon \\compname_or_ip
Более полную информацию - psloggedon /? или в помощи
Поиск юзера по компьютерам домена (временно)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSys = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
For Each obj in colSys
Wscript.Echo " User: " & obj.UserName
Next
Locate User от Digital Labs
IS Decisions UserLock (Единственный недостаток программы это установка на компах домена клиентских частей. Естевственно это можно сделать автоматически и централизованно для всей сети.)
Два пути: база регистрации (оной и является WINS) в любом виде от SQL до текстовых файлов или последовательный перебор всех активных станций:
1 - делается скан активных компов в домене - например net view > *.txt
2 - берется командная утилитка nete.exe
3 - текстовый файл открывается в екселе - добавляется столбец в начало, пишется строка nete (c ключами если надо), растягивается во весь список компов. Файл сохраняется в виде “dos - разделитель пробел” nete_123.cmd
4 - cmd -> nete_123 > *.txt
http://forum.sysadmins.su/index.php?showtopic=111&st=0&p=8750&#entry8750
Ссылка на скрипты windows - можно найти много полезного
http://sysadmins.ru/topic79925.html