Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

определить из сервиса, залогинен ли юзер и не админ ли он часом [D7, Win2k, WinXP]


Страницы:   1 2 3

Ketmar ©   (2006-11-12 02:32:00) 

господа, ткните носом в район MSDN, который читать. а то я что-то от недосыпу нифига сообразить не могу.

tnx.

зыж и ещё: я так помню, что сервис, который interactive, может создавать окошки после логина? и юзер их должен, вроде, увидеть...


Ketmar   (2006-11-12 23:33:00) [1]

>[48] Anatoly Podgoretsky(c) 12-Nov-2006, 23:13
>В MSDN не всегда достоверная информация, точнее часто
>устаревшая.
фигасе "устаревшая"! это про Vista-то? %-)


Anatoly Podgoretsky   (2006-11-12 23:13:00) [2]

> Ketmar  (12.11.2006 22:31:42)  [42]

В MSDN не всегда достоверная информация, точнее часто устаревшая.


Ketmar   (2006-11-12 22:50:00) [3]

зыж tnx.


Ketmar   (2006-11-12 22:50:00) [4]

работает. обидно...

%-)


Ketmar   (2006-11-12 22:43:00) [5]

>[44] BiN(c) 12-Nov-2006, 22:32
>Сам что ли не догадываешься?
да уже понял. сразу не заметил. %-)


BiN   (2006-11-12 22:32:00) [6]


> Ketmar ©   (12.11.06 22:32) [43]
>
> зыж а чем WriteLn не устроил? %-)

Сам что ли не догадываешься?


Ketmar   (2006-11-12 22:32:00) [7]

зыж а чем WriteLn не устроил? %-)


Ketmar   (2006-11-12 22:31:00) [8]

>[41] BiN(c) 12-Nov-2006, 22:27
* с надрывом *
ну вот. если нельзя верить MSDN, то кому тогда верить?!!


BiN   (2006-11-12 22:27:00) [9]


> Ketmar ©   (12.11.06 22:24) [40]
>
>
> хнык...

Только что под 2000 сваял, честное слово!!! 8\
и даже работает.


Ketmar   (2006-11-12 22:24:00) [10]

эх. красиво. но MSDN говорит, что
Client Requires Windows Vista or Windows XP.
Server Requires Windows Server "Longhorn" or Windows Server 2003.


хнык...


BiN   (2006-11-12 22:17:00) [11]

Предупреждая грязные инсинуации (=)), говорю: Да, функционал тот-же, что и у одноименной утилиты от сисинтерналз.


BiN   (2006-11-12 22:06:00) [12]

Подарок по теме:
{$WARN SYMBOL_PLATFORM OFF}
{$R-}
program LogonSessions;

{$APPTYPE CONSOLE}

uses
 SysUtils, JwaWinType, JwaNtSecApi, JwaWinBase, JwaWinNT, JwaSddl, JwaWinCon, NtUtils;

const
 SESS_TYPE_NAMES: array [seltFiller0..CachedRemoteInteractive] of String =(
   '(none)', '(none)', 'Interactive', 'Network',
   'Batch', 'Service', 'Proxy', 'Unlock', 'NetworkCleartext',
   'NewCredentials', 'RemoteInteractive', 'CachedInteractive',
   'CachedRemoteInteractive');

procedure WriteConsoleLn(const S: String);
var
 lpCharsWritten: DWORD;
begin
 WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), Pwidechar(WideString(S+#13#10)), Length(S)+2, lpCharsWritten, nil);
end;

function SidToStr(Sid:PSID):String;
var
 StringSid: LPTSTR;
begin
 if Sid=nil then
   Result:=''
 else
 begin
   Win32Check(ConvertSidToStringSid(Sid, StringSid));
   try
     SetString(Result, StringSid, StrLen(StringSid));
   finally
     LocalFree(HLOCAL(StringSid));
   end;
 end;
end;

type
 LUID_TABLE = array[0..0] of LUID;
 PLUID_TABLE = ^LUID_TABLE;
var
 dwCount: DWORD;
 SessionList: PLUID_TABLE;
 SessionData: PSECURITY_LOGON_SESSION_DATA;
 stTemp: SYSTEMTIME;
 i: Integer;
begin
 WriteConsoleLn(#13#10'Logonsesions v1.1'#13#10+
   'Copyright (C) 2006 Dmitry Lysenko'#13#10);
 NtCheckStatus(LsaEnumerateLogonSessions(@dwCount, PLUID(SessionList)));
 try
   for i:=0 to dwCount-1 do
   begin
     try
       WriteConsoleLn(Format('[%d] Logon session %s:%s:',
                 [i, IntToHex(SessionList^[i].HighPart, 8),
                  IntToHex(SessionList^[i].LowPart, 8)]));

       NtCheckStatus(LsaGetLogonSessionData(@SessionList[i], SessionData));
       try
         WriteConsoleLn('    User name:    '+UnicodeStrToWideStr(SessionData^.UserName));
         WriteConsoleLn('    Domain:       '+UnicodeStrToWideStr(SessionData^.LogonDomain));
         WriteConsoleLn('    Auth package: '+UnicodeStrToWideStr(SessionData^.AuthenticationPackage));
         WriteConsoleLn('    Logon type:   '+SESS_TYPE_NAMES[SessionData^.LogonType]);
         WriteConsoleLn('    Session:      '+IntToStr(SessionData^.Session));
         WriteConsoleLn('    Sid:          '+SidToStr(SessionData^.Sid));
         FileTimeToLocalFileTime(FILETIME(SessionData^.LogonTime), FILETIME(SessionData^.LogonTime));
         Win32Check(FileTimeToSystemTime(FILETIME(SessionData^.LogonTime), stTemp));
         WriteConsoleLn( Format('    Logon time:   %d.%d.%d %d:%d:%d',
           [stTemp.wDay, stTemp.wMonth, stTemp.wYear, stTemp.wHour, stTemp.wMinute, stTemp.wSecond]));
       finally
         LsaFreeReturnBuffer(SessionData);
       end;
       WriteConsoleLn('');
     except
       on E: Exception do
         WriteConsoleLn('<'+E.Message+'>');
     end;
   end;
 finally
   LsaFreeReturnBuffer(SessionList);
 end;
end.


Anatoly Podgoretsky   (2006-11-12 20:10:00) [13]

> Eraser  (12.11.2006 19:25:34)  [34]

Вот спустя два года этот пик и наблюдается, первое время происходит постепенный переход, ни бизнес, ни техника, ни продажи к этому не готовы, продаются лицензии на старые системы.
Во время выхода XP Микрософт искуственно прекратил продажу лицензий на 98, потом снова открыл.


Anatoly Podgoretsky   (2006-11-12 20:08:00) [14]

> Eraser  (12.11.2006 19:24:33)  [33]

Важнее корпоративный бизнес, с их планированием бюджетов. Правильно выпускать продукт в апреле-июле, в январе уже немного поздно.


Ketmar   (2006-11-12 19:33:00) [15]

>[33] Eraser(c) 12-Nov-2006, 19:24
>Но все равно на месте покупателя, перед тем как покупать
>продукт, я бы уточнил, будет ли он совместим с самой
>современной ОС.
а я бы уточнял совместимость с той, что использую...


Eraser   (2006-11-12 19:25:00) [16]

> в пике числа юзеров

точнее в пике активности перехода юзеров на новую ОС ))


Eraser   (2006-11-12 19:24:00) [17]

> [32] Anatoly Podgoretsky ©   (12.11.06 19:15)

так дело не в гибели старой системы, а в пике числа юзеров, насчет сервис паков - это точно, многие их ждут, а уже потом переходят.
Но все равно на месте покупателя, перед тем как покупать продукт, я бы уточнил, будет ли он совместим с самой современной ОС.


Anatoly Podgoretsky   (2006-11-12 19:15:00) [18]

> Eraser  (12.11.2006 19:11:31)  [31]

Вообще то срок два года, после которого предыдущую версию можно считать погибшей, дальше идет постоянно снижение количества пользователей, к этом времени уже выпускается первый или второй сервис пак.
Так было с остальными, особенно учитывая прекращения поддержки и продажи лицензий. А без лицензий кудв деться бедному крестьянину.


Eraser   (2006-11-12 19:11:00) [19]

> [30] Ketmar ©   (12.11.06 19:06)

:-))

эх.. если б оно так и было! )
----
думаю примерно в конце лета 2007, мож чуть позже будет самый "бум" перехода.


Ketmar   (2006-11-12 19:06:00) [20]

"обычный юзер" это поставить не сможет. а "необычный" не станет. %-)


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо