AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Alle PC-Namen eines Netzwerkes erhalten
Thema durchsuchen
Ansicht
Themen-Optionen

Alle PC-Namen eines Netzwerkes erhalten

Ein Thema von Illuminator-23-5 · begonnen am 3. Jul 2003 · letzter Beitrag vom 17. Mai 2011
Antwort Antwort
Seite 6 von 7   « Erste     456 7      
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#51

Re: Alle PC-Namen eines Netzwerkes erhalten

  Alt 17. Sep 2003, 18:17
Das wäre echt cool! Aber falls du keine Zeit hast, dann musst du es natürlich nicht machen.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#52

Re: Alle PC-Namen eines Netzwerkes erhalten

  Alt 17. Sep 2003, 18:33
Moin Matze,

probier mal, ob das hier bei euch funktioniert.

Delphi-Quellcode:
type
  NET_API_STATUS = DWORD;
  PWKSTA_USER_INFO_0 = ^WKSTA_USER_INFO_0;
  WKSTA_USER_INFO_0 = packed record
    wkui0_username : PWChar;
  end;

function NetWkstaUserEnum(
    const servername : PWChar;
    const level : DWord;
    const bufptr : Pointer;
    const prefmaxlen : DWord;
    const entriesread : PDWord;
    const totalentries : PDWord;
    const resumehandle : PDWord
    ) : NET_API_STATUS; stdcall; external 'netapi32.dll';

function NetApiBufferFree(
    const Buffer : Pointer
    ) : NET_API_STATUS; stdcall; external 'netapi32.dll';

const
  NERR_Success = 0;
  MAX_PREFERRED_LENGTH = DWORD(-1);

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

var
  pwuiWork : PWKSTA_USER_INFO_0;
  pwuiRead : PWKSTA_USER_INFO_0;
  dwEntriesRead : DWORD;
  dwTotalEntries : DWORD;
  i : integer;
  dwResult : DWORD;
  pwsServer : PWideChar;

begin
  pwsServer := '';
  dwResult := NetWkstaUserEnum(pwsServer,0,@pwuiRead,MAX_PREFERRED_LENGTH,@dwEntriesRead,@dwTotalEntries,nil);
  if dwResult <> NERR_SUCCESS then begin
    ShowMessage(SysErrorMessage(dwResult)+#13#10+IntToStr(dwResult));
  end;
  try
    pwuiWork := pwuiRead;
    for i := 1 to dwEntriesRead do begin
      ShowMessage(pwuiWork.wkui0_username);
      inc(pwuiWork);
    end;
  finally
    NetApiBufferFree(pwuiRead);
  end;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#53

Re: Alle PC-Namen eines Netzwerkes erhalten

  Alt 17. Sep 2003, 18:38
Vielen Dank. Du bist aber schnell!
Ich sag dir in den nächsten Tagen Bescheid.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#54

Re: Alle PC-Namen eines Netzwerkes erhalten

  Alt 17. Sep 2003, 18:39
Moin Matze,

für weiteres in dieser Richtung, wäre es dann aber angebracht einen neuen Thread zu eröffnen, denn das hat mit den Rechnern im Netz absolut nichts mehr zu tun.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#55

Re: Alle PC-Namen eines Netzwerkes erhalten

  Alt 17. Sep 2003, 18:44
OK, Moment, wird gemacht...
  Mit Zitat antworten Zitat
Sniper-GFX

Registriert seit: 13. Sep 2003
Ort: Bestwig
4 Beiträge
 
Delphi 2005 Architect
 
#56

Re: Alle PC-Namen eines Netzwerkes erhalten

  Alt 9. Okt 2003, 20:52
Hi!
Das Programm ist geil!

Saubere Leistung!

Mfg
Sniper-GFX
André Hester
Mit freundlichem Gruß
andrehester
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#57

Re: Alle PC-Namen eines Netzwerkes erhalten

  Alt 10. Okt 2003, 00:51
Benutzer kannst du nur als Admin zuverlässig auflisten. Bzw als jemadn, der Rechte in der Remote-Registry hat (zB mein LoggedOn2 macht das so).

Christians Methode ist weit von zuverlässig entfernt. Leider hat sich MS damit wohl eher so einen Scherz erlaubt. Scheint ne Art Fake-API zu sein. Jedenfalls erreicht man das gleiche, wenn man bestimmte Shares auf einem Fremdrechner auflistet (nämlich die Sessions eines Benutzers).

Leider sind die Sessions manchmal Zombies und manchmal sind User eingeloggt, aber NetEnum... listet nix. Ergo ... Mist :-/

BTW: Wenn das obige hackermäßig war, was ist denn dann TRACERT ... ROFL.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#58

Re: Alle PC-Namen eines Netzwerkes erhalten

  Alt 10. Okt 2003, 12:33
Moin Assarbad,

es ging hierbei vermutlich nicht um die Zeilen hier weiter oben auf der Seite, sondern um das Attachement von der vorigen
Die Nummer mit der Registry hab' ich schon lange auf dem Zettel. Mal sehen, wann ich endlich mal dazu komme.
Für eine erfolreiche Ausführung von RegConnectRegistry brauchst Du allerdings auch entsprechende Zugriffsrechte auf den Remote Rechner. Als "normaler" User gibt's da nur ein Access Denied.

Das NetWkstaUserEnum nicht so das gelbe vom Ei ist, ist mit Sicherheit richtig, wie ich inzwischen feststellen musste, denn auch "NET SEND username" benutzt diese Funktion nicht
(allerdings auch nicht die Registry-Methode)

Zitat von Assarbad:
Wenn das obige hackermäßig war, was ist denn dann TRACERT ... ROFL.
Mal ehrlich: Was können die Lehrer dafür, die manchmal arg ins rudern kommen, um auch nur einen kleinen Vorsprung vor der Masse ihrer Schüler zu haben. Ich bin zwar schon zu lange da raus um es aus eigener Anschauung wissen zu können, aber das jemand Informatik auf Lehramt studiert wäre mir neu.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#59

Re: Alle PC-Namen eines Netzwerkes erhalten

  Alt 10. Okt 2003, 12:50
Zitat:
Für eine erfolreiche Ausführung von RegConnectRegistry brauchst Du allerdings auch entsprechende Zugriffsrechte auf den Remote Rechner.
Stimmt. Aber das sollte eigentlich auch genauso sein. Differenzieren kann man im Übrigen nicht zwischen interaktivem und anderen Benutzern. Eventuell mit nem API-Hook auf WINLOGON.EXE, aber das ist dann wieder stark versionsabhängig.

Ich bin dafür, ein Forum aufzumachen, in dem Info-Lehrer, welche in Delphi unterrichten müssen (mit Alterskontrolle) von Nicht-Schülern supported werden ... laßt den Kampf beginnen
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#60

Re: Alle PC-Namen eines Netzwerkes erhalten

  Alt 10. Okt 2003, 13:02
Moin Assarbad,

Zitat von Assarbad:
Differenzieren kann man im Übrigen nicht zwischen interaktivem und anderen Benutzern.
Vielleicht mache ich ja einen Denkfehler, aber wenn ich prüfe, welche NTUSER.DAT gesperrt ist, unter Berücksichtigung von Spezialaccounts (z.B. SMS-Service Account für Installationen), dann müsste ich eigentlich den Profilpfad des Users haben, der gerade angemeldet ist (oder eben auch keiner).

Zitat von Assarbad:
Ich bin dafür, ein Forum aufzumachen, in dem Info-Lehrer, welche in Delphi unterrichten müssen (mit Alterskontrolle) von Nicht-Schülern supported werden
Solchen Support hab' ich sogar schon mal gegeben, und ich bleibe bei der Aussage, dass die Lehrer eigentlich nicht einmal was dafür können, wenn sie diesen Support brauchen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 7   « Erste     456 7      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:33 Uhr.
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