Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Who's logged on? (https://www.delphipraxis.net/94554-whos-logged.html)

uwewo 17. Jul 2007 17:30

Re: Who's logged on?
 
Nun erhalte ich auch Fehler

Nr.53 bei Rechnern
Nr. 64 bei Domains

also perfekt ;-)

Luckie 17. Jul 2007 17:34

Re: Who's logged on?
 
Zitat:

Zitat von uwewo
Nun erhalte ich auch Fehler

Nr.53 bei Rechnern
Nr. 64 bei Domains

Jupp, so soll es sein.

Zitat:

also perfekt ;-)
Danke.

Was man aus so einem einfachen Tool alles rausholen kann... ;)

uwewo 17. Jul 2007 18:12

Re: Who's logged on?
 
Einfach, klein und effektiv ;-)

Bin für jeden weiteren Test bereit

JohnML 26. Jul 2007 14:51

Re: Who's logged on?
 
Hallo,

Version 1.1.06

ein Domain scan im Netzwerk (ca. 100 Rechner in verschiedenen Lokationen) mit W2k, Windows Server 2003, Windows XP und Terminalservern hat funktioniert. Ich hab's als Admin ausgeführt.

Wenn ich die mit Delphi 5 Pro compilieren will, fehlt Types.pas. Mal sehen ob mein Delphi 7 zu Hause compiliert.

Danke, so ein Programm hat mein Admin hier gesucht. Bin aber auch ziemlich sicher, dass Windows mit Bordmitteln sowas anzeigen können sollte.

Vorschlag:
csv-Export der Liste mit den Spalten: PCName, UserName


Gruß

JohnML

Luckie 26. Jul 2007 19:17

Re: Who's logged on?
 
Eine XML-Datei eignet sich da wohl besser. Aber wozu? Die eingeloggten Benutzer können sich ja von Minute zu Minute ändern.

JohnML 27. Jul 2007 07:50

Re: Who's logged on?
 
Zitat:

Zitat von Luckie
Eine XML-Datei eignet sich da wohl besser. Aber wozu? Die eingeloggten Benutzer können sich ja von Minute zu Minute ändern.

A) Wir haben einen neuen Admin, der leider kein ordentlich dokumentiertes Netz vorfindet und sich nun fragt, wer sitzt denn an dem PC mit dem Namen PC00120?

B) csv kann z.B. jede Excel Version anzeigen.


Eine weiterer Vorschlag zur Erweiterung von LoggedOn:
Antwort auf die Frage: An welchem PC arbeitet User XY zur Zeit ?


Ich bin auf LoggedOn gestossen, weil ich zum Thema "gegoogelt" habe, dabei bin ich auf VB Code gestossen, der angeblich ermittelt, an welchem PC User XY zur Zeit arbeitet.
Ich werde selbst mal probieren, ob ich den code nach Pascal migrieren kann.
Natürlich würde es ausreichen, das Ergebnis der Domainsuche von LoggedOn zu filtern.

Hier also der VB-Code:


Code:
Private Declare Function NetWkstaUserEnum Lib "netapi32" (ByVal lpServer As String, ByVal Level As Long, lpBuffer As Long, ByVal PrefMaxLen As Long, lpEntriesRead As Long, lpTotalEntries As Long, Resume_Handle As Long) As Long

 Private Declare Sub CopyMem Lib "kernel32" Alias "RtlMoveMemory" (pTo As Any, uFrom As Any, ByVal lSize As Long)

 Private Declare Function NetApiBufferFree Lib "netapi32" (ByVal pBuffer As Long) As Long

 Private Const ERROR_MORE_DATA = 234

 

 Private Type WKSTA_USER_INFO_0

     wkui0_username As Long

 End Type

 Private Const ERROR_ACCESS_DENIED As Long = 5

 Private Const ERROR_BAD_NETPATH As Long = 53

 Private Const ERROR_INVALID_PARAMETER As Long = 87

 Private Const ERROR_NOT_SUPPORTED As Long = 50

Private Const ERROR_INVALID_NAME As Long = 123 

 
  Public Function GetCompUsers(ByVal ServerName As String, ByRef sUsers() As String, ByRef lCount As Long) As Boolean
 
  Dim lpBuffer As Long
 
  Dim lpUsers() As WKSTA_USER_INFO_0
 
  Dim nRead As Long
 
  Dim nTotal As Long
 
  Dim retVal As Long
 
  Dim i As Long
 
  Dim hResume As Long
 
      GetCompUsers = False
 
      lCount = 0
 
      Erase sUsers
 
   
 
      If Len(ServerName) = 0 Then
 
          ServerName = vbNullString
 
      Else
 
          If Left(ServerName, 2) <> "\\" Then
 
              ServerName = "\\" & ServerName
 
          End If
 
          ServerName = StrConv(ServerName, vbUnicode)
 
      End If
 
     
 
      hResume = 0
 
     
 
      Do
 
          retVal = NetWkstaUserEnum(ServerName, 0, lpBuffer, &H4000, nRead, nTotal, hResume)
 
          If retVal = 0 Or retVal = ERROR_MORE_DATA Then
 
              lCount = lCount + nRead
 
              GetCompUsers = True
 
              If nRead > 0 Then
 
                  ReDim lpUsers(0 To nRead - 1)
 
                  ReDim Preserve sUsers(0 To lCount - 1)
 
                  CopyMem lpUsers(0), ByVal lpBuffer, nRead * Len(lpUsers(0))
 
                  For i = 0 To nRead - 1
 
                      sUsers(lCount - nRead + i) = PointerToStringW(lpUsers(i).wkui0_username)
 
                  Next i
 
              End If
 
              DoEvents
 
          Else
 
              ReDim sUsers(0)
 
              Select Case retVal
 
                  Case ERROR_ACCESS_DENIED
 
                      sUsers(0) = "Error : Access Denied"
 
                  Case ERROR_BAD_NETPATH
 
                      sUsers(0) = "Error : Bad Network Path"
 
                  Case ERROR_NOT_SUPPORTED
 
                      sUsers(0) = "Error : Not Supported"
 
                  Case ERROR_INVALID_NAME
 
                      sUsers(0) = "Error : Invalid Name"
 
                  Case Else
 
                      sUsers(0) = "Error : " & retVal & vbCrLf & "Ask Frans to include this error description"
 
              End Select
 
              lCount = 1
 
          End If
 
      Loop While retVal = ERROR_MORE_DATA
 
     
 
     ' Clean up
 
     If lpBuffer Then
 
        retVal = NetApiBufferFree(lpBuffer)
 
     End If
 
   
 
  End Function


Noch was:
Ich habe jetzt in den Sourcen von LoggedOn zum ersten Mal Code gesehen, der eine Application ohne VCL-Lasten erzeugt. Wenige KB für die Anwendung ist beeindruckend, doch den Code kann ich nur schwer lesen, geschweige denn mal eben den csv-Export einbauen. Ist wohl fast schon eine Glaubensfrage: 800 kb oder 80 kb für die exe ?!

Gute Arbeit und herzlichen Gruß

JohnML


[edit=Matze][code]-tags gesetzt. MfG, Matze[/edit]

Luckie 27. Jul 2007 11:26

Re: Who's logged on?
 
[quote="JohnML"]
Zitat:

Zitat von Luckie
Eine weiterer Vorschlag zur Erweiterung von LoggedOn:
Antwort auf die Frage: An welchem PC arbeitet User XY zur Zeit ?

Also man gibt einen Benutzer ein und das Programm sagt einem, an welchem PC der Benutzer sitzt? :gruebel: Nun ja, da kann man ja die Domain scannen und dann selber in der Liste gucken, ob der Benutzer in der Liste erscheint. ;)

Und den CSV-Export implementiert man natürlich in der Klasse und das hat nichts mit VCL oder nicht VCL zu tun. ;)

Luckie 27. Jul 2007 23:11

Re: Who's logged on?
 
Aktuelle Version: 1.1.0.11

- Neu: Zeilt läuft während des Scans mit (sieht auf dem Screenshot etwas blöd aus: 0:00, aber bei nur einem Rechner... ;) )
- Neu: Courier New als Schrift für den Treeview

uwewo 30. Jul 2007 11:39

Re: Who's logged on?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Luckie,

neue Version getestet, ScreenShot für Deine Sammlung im Anhang.

Luckie 30. Jul 2007 11:49

Re: Who's logged on?
 
Danke, danke. Mittlerweile brauche ich keine Screenshots mehr. Ich bin wieder im Büro und kann hier das Netzwerk scannen. ;?

Luckie 5. Apr 2008 00:26

Re: Who's logged on?
 
Neue Version: Man kann jetzt auch die Rechner im Netzwerk remote runterfahren. Bitt mal testen.

Könnte das mal bitte jemand testen? Bei meinem lokalen Rechner bekomme ich immer "Netzwerkpfad wurde nicht gefunden.", auch wenn ich keinen Computernamen übergebe. :gruebel: Ihr müsst für den Remotecomputer euch mit dem Adminsitratorenkonte des Remotecomputers anmelden.

Luckie 5. Apr 2008 16:26

Re: Who's logged on?
 
Also von XP Home kann man einen XP Professional Rechner runterfahren. Umgekehrt bekommt man die Fehlermeldung, dass der Netzwerkpfad nicht gefunden wurde. Past irgendwie nicht ganz die Fehlermeldung. :gruebel: Also wieder das übliche Remote-XP-Home-Problem. :?

xZise 14. Apr 2008 12:51

Re: Who's logged on?
 
Hallo Luckie,
ich wollte es gerade mal testen, und dann dass:
Es sind mehrere Angemeldet, obwohl der Computer mit Windows 2000 läuft. Also nativ nur einen Benutzer zulässt!

Ist nun der unterste der aktuellste?
Und wie viel Zeit wird gespeichert? Oder ist es ein Bug?

MfG
xZise

Luckie 14. Apr 2008 12:57

Re: Who's logged on?
 
Zitat:

Zitat von xZise
Hallo Luckie,
ich wollte es gerade mal testen, und dann dass:
Es sind mehrere Angemeldet, obwohl der Computer mit Windows 2000 läuft. Also nativ nur einen Benutzer zulässt!

Nein, auch unter Windows 2000 können mehrere Benutzer angemeldet sein. Aber nur einer interaktiv im Gegensatz zu Windows XP mit der schnellen Benutzerumschaltung.

xZise 14. Apr 2008 15:20

Re: Who's logged on?
 
Entschuldige, aber so ganz kann ich deinem Gedankengang nicht folgen :)

Was passiert denn mit einem Angemeldeten Benutzer, der nicht interaktiv mit Windows 2k kommuniziert?

MfG
xZise

Luckie 14. Apr 2008 19:36

Re: Who's logged on?
 
Was soll mit im passiern? Er nutzt die Ressourcen des Rechners. Meist sind es Dienste die unter einem weiteren Benutzerlaufen, damit sie bestimmte Rechte haben.

Der.Kaktus 14. Apr 2008 19:54

Re: Who's logged on?
 
*geloescht* Falscher Thread!!

bigben37 14. Apr 2008 19:58

Re: Who's logged on?
 
Hallo Luckie,

echt gutes Programm,

aber man kann keinen Computer herunterfahren,
auf dem der Admin kein Passwort besitzt,
weil der OK-Button bei Shutdown erst enabled wird, wenn ein Passwort eingegeben wurden.

Luckie 15. Apr 2008 07:56

Re: Who's logged on?
 
Zitat:

Zitat von Der.Kaktus
Zitat:

Zitat von Luckie
Was soll mit im passiern? Er nutzt die Ressourcen des Rechners. Meist sind es Dienste die unter einem weiteren Benutzerlaufen, damit sie bestimmte Rechte haben.

Luckie? Nichts gegen Dein Wissen..aber..A: schreib mal bissl dezenter...B: etwas Serviceorientierter..als Moderator sollte man schon etwas Zurueckhaltung bewahren ;-) *nurmalsoschreib*

Was ist denn gegen meinen sachlich nüchternen Tonfall auszusetzen?

@bigben: Jupp. Weil ich meine gehört zu haben, dass das nur mit Passwort geht. Jetzt bin ich mir da aber auf einmal nicht mehr sicher. :gruebel: Probier mal mein RemoteShutdown aus http://rshutdown.michael-puff.de , ob es damit auch ohne Passwort geht. Wenn ja, ändere ich das in LoggedOn.

Der.Kaktus 15. Apr 2008 08:03

Re: Who's logged on?
 
@Luckie gehörte nicht in diesen Thread...

Luckie 15. Apr 2008 08:28

Re: Who's logged on?
 
Zitat:

Zitat von Der.Kaktus
@Luckie gehörte nicht in diesen Thread...

Richtig, und warum hast du das nicht gleich per PN gemacht? alles weitere bitte per PN.

bigben37 15. Apr 2008 15:45

Re: Who's logged on?
 
Zitat:

Zitat von Luckie

@bigben: Jupp. Weil ich meine gehört zu haben, dass das nur mit Passwort geht. Jetzt bin ich mir da aber auf einmal nicht mehr sicher. :gruebel: Probier mal mein RemoteShutdown aus http://rshutdown.michael-puff.de , ob es damit auch ohne Passwort geht. Wenn ja, ändere ich das in LoggedOn.

Also mit RemoteShutdown kann ich den Computer herunterfahren.

Der PC, der heruntergefahren wird, hat aber Win 2k, vielleicht geht das bei XP nicht mehr.

Luckie 15. Apr 2008 18:26

Re: Who's logged on?
 
Also es geht auch ohne Passwort? Gut dann ändere ich das. Danke fürs probieren.

Luckie 16. Apr 2008 09:20

Re: Who's logged on?
 
OK, neue Version 2.0.0.7 ist jetzt offiziell online und im ersten Posting zu finden.

Luckie 4. Sep 2008 08:21

Re: Who's logged on?
 
Eine neue Version ist verfügbar: 2.1.013

- Anzeigen der Uptime der Remoterechner.

Aktueller Download im ersten Posting.

Luckie 31. Jan 2010 16:38

Re: Who's logged on?
 
Neue Version: 2.2.0.5
Mehr Informationen über den Rechner und Code überarbeitet. Aktuelle Version im ersten Beitrag.

Bitte auch mal unter Windows 7 testen, ob das korrekte Betriebssystem angezeigt wird.

daywalker9 31. Jan 2010 18:25

Re: Who's logged on?
 
habe das auf windows 7 ausprobiert. das betriebssystem wird korrekt angezeigt

Luckie 31. Jan 2010 18:41

Re: Who's logged on?
 
OK, danke. Und der Rest funktioniert auch?

daywalker9 31. Jan 2010 19:08

Re: Who's logged on?
 
Ja, funktioniert alles wunderbar


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:28 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz