Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: xinyiman - Aprile 13, 2012, 11:29:07 am

Titolo: Interrogare windows NT
Inserito da: xinyiman - Aprile 13, 2012, 11:29:07 am
Ciao ragazzi, ecco il mio scenario: rete aziendale  windows nt. Come faccio a recuperare gli utenti loggati al momento sui vari pc?! E possibilmente l'ora in cui si sono loggati, l'ora in cui si disconnettono e il grado che hanno, per esempio se sono amministratori. Chi mi dice come si fa questo?!

In allegato quello che avevo fatto un po di tempo fa al riguardo, ma che non fa esattamente quello che voglio!
Titolo: Re:Interrogare windows NT
Inserito da: Fabio - Aprile 13, 2012, 11:53:26 am
Per il discorso di chi si logga dove e quando, tempo fa dopo un po' di ricerche ho poi optato per una cosa molto semplice e pratica per le mie necessità, la trovi spiegata nel dettaglio in questo post
Loggare i LOGON/LOGOFF degli utenti su Active Directory (http://blog.sfsoft.it/2011/09/26/loggare-i-logonlogoff-degli-utenti-su-active-directory/)
sempre se la tua rete ha un dominio AD.
Titolo: Re:Interrogare windows NT
Inserito da: xinyiman - Aprile 13, 2012, 12:24:50 pm
Idea carina, ma io voglio riuscire a fare tutto con Lazarus e senza dover usare dei file batch se è possibile! Comunque grazie della segnalazione che è molto carina!
Titolo: Re:Interrogare windows NT
Inserito da: nomorelogic - Aprile 13, 2012, 03:06:57 pm
ciao

potresti partire da qua come spunto
http://technet.microsoft.com/en-us/sysinternals/bb896649
è una serie di comandi command line molto particolare.
usare dei comandi dos da lazarus non è il massimo ma magari se riesci a capire che api usano...
Titolo: Re:Interrogare windows NT
Inserito da: Stilgar - Aprile 15, 2012, 10:24:14 pm
Ciao xinyiman.
Quello che vorresti fare tu è una sorta di sistema si auditing se ho capito bene.
In genere queste cose vengono fatte tramite agenti (io li chiamo agenti spia).
Vengono installati sui client e contattano il server "onevent".
In questo modo, però, sposti il problema dal server al client.

Il codice che hai postato, sever ad interrogare gli utenti di un determinato dominio.
(Ricordo che anche la WorkStation nelle reti NT è un domino, che va in trust e si sottomette alle impostazioni di un PDC o BDC). La WS inserisce gli utenti di un PDC dentro il suo dominio, ed è per questo che riesci a loggarti con l'utente di dominio pdc, all'interno della workstation anche con il cavo di rete scollegato.

Ma lasciando perdere questi aspetti, che magari conosci già.
La proposta che ti faccio è :
Servizio NT su WorkStation Windows. Questo servizio intercetta le operazioni dell'utente. (LogOn, LogOff, per adesso). In questo modo le classi LN (Lan Manager ...) che hai trovato e le API wrappate in Object Pascal le riesci a riutilizzare.

Se non puoi installare servizi aggiuntivi sui PC, cè sempre il buon script di avvio/configurazione degli utenti, che viene scaricato on demand dalle work station, al momento dell'accesso.

La versione dello script ti frega il log off, se non tieni attivo il programma, quando viene chiesto il log off, dovresti garantire il termine dell'agente. (O programmino spia).
In questo modo, all'avvio, l'agente spara al server la notifica del logon, all'uscita la notifica dell'logoff.

Se vuoi, puoi fare un'agente un'attimino più ... "Stronzetto(?)" che ti invia tutti gli eventi della macchina ;) (Errori, Segnalazione di sistema .... insomma tutto quello che NT logga come evento, ... so già che i tuoi utenti mi ameranno allo sfinimento dopo queste idee)
Titolo: Re:Interrogare windows NT
Inserito da: Stilgar - Aprile 15, 2012, 10:28:31 pm
Per gli script ... magari è di aiuto.
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/gptext_logoffscripts.mspx?mfr=true

Ciao