Как узнать имя терминального пользователя. #303522


#0 by SSkripagan
Всем привет. Проблема такая. Ситуация. У нас 2 сервера терминалов + скуль сервер. Периодически скуль сервер грузится под 100% каким то усеровм. В мониторе скуля просто показывается идентификатор юзера по имень терминального сервера. Вопрос. Как узнать кто это? Может какая нить приблуда есть. Подскажите пожалуйста.
#1 by smaharbA
select spid,dbid, DateTime=replace(replace(cast(day(login_time) as char)+cast(month(login_time) as char)+cast(year(login_time) as char)+datename(hh,login_time)+' '+datename(mi,login_time)+' '+datename(ss,login_time)+' '+datename(ms,login_time),'  ',' '),' ',','), [Дата]=login_time, [Секунды]=3600*datename(hh,login_time)+60*datename(mi,login_time)+datename(ss,login_time), Время_действия=replace(replace(cast(day(last_batch) as char)+cast(month(last_batch) as char)+cast(year(last_batch) as char)+datename(hh,last_batch)+' '+datename(mi,last_batch)+' '+datename(ss,last_batch)+' '+datename(ms,last_batch),'  ',' '),' ',','), ComputerName=hostname,hostprocess,program_name from master.dbo.sysprocesses where dbid=db_id('ИмяБазыСкуль') and spid<>@@spid order by spid ... ищи hostprocess
#2 by Нуф-Нуф
жесть
#3 by SSkripagan
Это типа никак ?
#4 by Override
Можно посмотреть идентификатор процеса подключенного к серверу и имя компа на котором этот процес запущен, затем на компе найти этот процес и посмотреть кто его запустил.
#5 by SSkripagan
Процесс в скуле. В каррент активити ?
#6 by Override
master..sysprocesses.hostprocess вот кусок кода на 8 перебирает все процессы подключенные к определенной базе ADOCon = Новый COMОбъект("ADODB.Connection");    ADOCon.Open("Provider=SQLOLEDB.1;User ID=" + ИБ.SQLСервер.ПользовательSQL + ";Pwd=" + ИБ.SQLСервер.ПарольSQL + ";Data Source=" + ИБ.SQLСервер + ";Initial Catalog=master");  ADORS  = Новый COMОбъект("ADODB.Recordset");    ADORS.ActiveConnection = ADOCon;        ADORS.Open("SELECT master..sysprocesses.dbid, master..sysprocesses.hostname, master..sysprocesses.program_name, master..sysprocesses.hostprocess, master..sysdatabases.NAME, master..sysdatabases.dbid FROM sysprocesses, sysdatabases WHERE master..sysdatabases.dbid = master..sysprocesses.dbid AND master..sysdatabases.NAME = '" + ИБ.SQLБаза + "'");    Пока (ADORS.EOF = 0) Цикл        WMI      = ПолучитьCOMОбъект("winmgmts:\" + СокрЛП(ADORS.Fields("hostname").Value) + "RootCIMv2");        Процессы = WMI.ExecQuery("SELECT * FROM Win32_Process WHERE ProcessId = " + СокрЛП(ADORS.Fields("hostprocess").Value));        Для Каждого Процесс Из Процессы Цикл            Сообщить("Завершается процесс: " + СокрЛП(ADORS.Fields("hostname").Value) + "" + Процесс.Name + "  ID: " + Строка(Формат(Процесс.ProcessId, "ЧГ=")));                    КонецЦикла;        ADORS.MoveNext;    КонецЦикла;
#7 by Kalambur
Жесть.
#8 by igork1966
А просто через батник: echo %username% >ТутСмотретьБудем.txt Не пойдет?  ;-)
#9 by NS
lib=createobject("Addon1C.Commands"); lib.ReadRegistry(0,"SoftwareMicrosoftWindowsCurrentVersionExplorer","Logon User Name"
#10 by VasilyKushnir
обрати внимание на лог-файл, который ведет сервис (он текстовый).
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С