![]() |
Vorhandene PC´s im Netzwerk auflisten
Hallo,
kennt jemand eine Möglichkeit, wie man mit Delphi alle Pc´s, die sich im Netzwerk befinden aufgelistet bekommt und herausfindet, welche davon online sind? Das Netzwerk besteht aus PC´s, wo Windows XP installiert ist und einen Server, wo Windows Server 2003 installiert ist. |
Re: Vorhandene PC´s im Netzwerk auflisten
Wird WINS eingesetzt?
|
Re: Vorhandene PC´s im Netzwerk auflisten
Guck dir mal mein LoggedOn an:
![]() |
Re: Vorhandene PC´s im Netzwerk auflisten
das ist zwar ein tolles programm, aber ich weis jetzt nicht so recht, wie das alles miteinander funktioniert. Könntest du mir mal bitte den Befehl nur für das herausfinden der IP´s sagen.
|
Re: Vorhandene PC´s im Netzwerk auflisten
![]() |
Re: Vorhandene PC´s im Netzwerk auflisten
soll das für delphi sein?
|
Re: Vorhandene PC´s im Netzwerk auflisten
Zitat:
|
DP-Maintenance
Dieses Thema wurde von "mkinzler" von "Die Delphi-IDE" nach "Windows 9x / ME / 2000 / XP / 2003 / Vista" verschoben.
Hat definitiv nichts mit der IDE zu tun |
Re: Vorhandene PC´s im Netzwerk auflisten
Das ist der entscheidende Code für dich:
Delphi-Quellcode:
Die gefundenen Rechner werden dann in einer Objektliste abgelegt.
class function TMachineCollection.GetAllMachines(const Domain: string; ExceptionMode: TExceptionMode):
TMachineCollection; var err : NET_API_STATUS; bufPtr : Pointer; si : Pointer; entriesread : DWORD; totalentries : DWORD; resumehandle : DWORD; pCurrent : PSERVER_INFO_100; i : Integer; Machine : TMachine; Major : Integer; Minor : Integer; begin Result := nil; bufPtr := nil; resumehandle := 0; try err := NetServerEnum(nil, 100, bufPtr, MAX_PREFERRED_LENGTH, entriesread, totalentries, SV_TYPE_NT or SV_TYPE_WORKSTATION or SV_TYPE_SERVER or SV_TYPE_SERVER_NT, PWideChar(WideString(Domain)), resumehandle); if err = NERR_SUCCESS then begin Result := TMachineCollection.Create; pCurrent := bufPtr; for i := 0 to totalentries - 1 do begin Machine := TMachine.Create; Machine.Machine := pCurrent.sv100_name; Machine.IP := Machine.Machine; err := NetWkStaGetInfo(PWideChar(WideString(Machine.Machine)), 101, si); if err = NERR_Success then begin Major := PWKSTA_INFO_100(si)^.wki100_ver_major; Minor := PWKSTA_INFO_100(si)^.wki100_ver_minor; Machine.OS := Machine.OSIdToOSStr(Major, Minor); end; Machine.SetToD(GetRemoteToD(WideString(Machine.Machine))); Result.Add(Machine); Machine.LoggedOnUsers := TLoggedOnUserCollection.GetAllUsers(Machine.Machine, emOff); Inc(pCurrent); end; end else raise ENetAPIError.Create(err); finally NetApiBufferFree(bufPtr); end; end; Hätte man aber auch selber draufkommen könne, wenn man sich den Code mal etwas genauer angeguckt hätte. ;) |
Re: Vorhandene PC´s im Netzwerk auflisten
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 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