Форум: "WinAPI";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];
ВнизУзнать имя залогированного пользователя по 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c