![]() |
Re: Who's logged on?
Nun erhalte ich auch Fehler
Nr.53 bei Rechnern Nr. 64 bei Domains also perfekt ;-) |
Re: Who's logged on?
Zitat:
Zitat:
Was man aus so einem einfachen Tool alles rausholen kann... ;) |
Re: Who's logged on?
Einfach, klein und effektiv ;-)
Bin für jeden weiteren Test bereit |
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 |
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.
|
Re: Who's logged on?
Zitat:
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] |
Re: Who's logged on?
[quote="JohnML"]
Zitat:
Und den CSV-Export implementiert man natürlich in der Klasse und das hat nichts mit VCL oder nicht VCL zu tun. ;) |
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 |
Re: Who's logged on?
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Luckie,
neue Version getestet, ScreenShot für Deine Sammlung im Anhang. |
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. ;?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz