Вниз
Скачать: CL | DM;

Узнать имя залогированного пользователя по IP или имени машины?   Найти похожие ветки 

 
Иксик ©   (2005-06-07 09:50) [0]

Можно ли осуществить сабж обладая админ. правами в домене? Никак не могу найти второй из двух компьютеров с одинаковым именем...


 
АлекейК   (2005-06-07 10:09) [1]

nbtstat -A ip_address


 
reticon ©   (2005-06-07 10:10) [2]

RAdmin тебе поможет


 
BiN ©   (2005-06-07 10:42) [3]

Что значит залогиненный пользователь? Например, на сервере терминалов.

А вообще, если домен состоит из станций с установленным WMI, то можно получить список процессов на удаленной машине и отобрать те, которые работают в контексте безопасности НЕ системной учетной записи. На Дельфи все это реализуемо, но имхо удобнее в vb.


 
Игорь Шевченко ©   (2005-06-07 10:59) [4]

Перечислить logon-сессии (LsaEnumerateLogonSessions), например, далее найти нужного пользователя. Правов правда может потребоваться несколько больше.

Или через lanman-api, например так

procedure TfrmMain.PrintNetUsers;
type
 PSessionInfo502 = ^TSessionInfo502;
var
 curw: PSessionInfo502;
 bufw: Pointer;
 rc, read, total, resumeh: Cardinal;
 I: Integer;
 LI: TListItem;
begin
 lvNet.Items.Clear;
 resumeh := 0;
 repeat
   bufw := nil;
   rc := NetSessionEnum(LPWSTR(FServerName), nil, nil, 502,
      bufw, 2048, read, total,  @resumeh);
   if (rc <> ERROR_MORE_DATA) and (rc <> ERROR_SUCCESS) then
     Break;
   curw := PSessionInfo502(bufw);
   for I:=0 to Pred(read) do begin
     LI := lvNet.Items.Add;
     LI.Caption := curw^.sesi502_username;
     LI.SubItems.Add(curw^.sesi502_cname);
     LI.SubItems.Add(curw^.sesi502_transport);
     LI.SubItems.Add(curw^.sesi502_cltype_name);
     Inc(curw);
   end;
   if bufw <> nil then
     NetApiBufferFree(Pointer(bufw));

 until rc <> ERROR_MORE_DATA;
 if rc <> ERROR_SUCCESS then
   RaiseLastWin32Error;
end;

Удачи!


 
BiN ©   (2005-06-07 12:15) [5]

Игорь Шевченко ©   (07.06.05 10:59) [4]

Если мой телепатор работает верно, то автору нужно получить имя пользователя выполнившего вход в систему на удаленной машине. Я, например, не знаю как запустить LsaEnumerateLogonSessions удаленно, а NetSessionEnum вернет информацию о пользователях, открывших соединения самого разного типа, включая шары, именнованные каналы и  т.п. Вопрос в том, будет ли пользователь из списка [LogonSessions] обязательно присутствовать в списке [NetSessionEnum].

или ой?

С уважением,


 
Игорь Шевченко ©   (2005-06-07 12:23) [6]

BiN ©   (07.06.05 12:15) [5]

Я так понял, что ему наоборот, надо получить того, кто залогинился к нему :)
Вроде, оба метода приведенные мной, эту задачу хоть как-то, но решают.

С уважением,



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
14-1121339167
alex-drob
2005-07-14 15:06
2005.08.07
Delphi 2005 не могу скомпилировать


3-1120285524
Draught
2005-07-02 10:25
2005.08.07
Фильтр в ADOTable


14-1121747972
БарЛог
2005-07-19 08:39
2005.08.07
Не про Украину, а про природу =)


1-1121533517
TStas
2005-07-16 21:05
2005.08.07
Как зависит скорость выполнения потока от его приоритета?


14-1121498690
Магнум
2005-07-16 11:24
2005.08.07
Программирование на кровати




   Наверх