Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Alle Benutzernamen + dazugehöriges Verzeichniss auflisten (https://www.delphipraxis.net/57352-alle-benutzernamen-dazugehoeriges-verzeichniss-auflisten.html)

Zacherl 19. Nov 2005 18:53


Alle Benutzernamen + dazugehöriges Verzeichniss auflisten
 
Hi,
ich suche einen Code, der mir alle Benutzernamen auf einem Computer auflistet und mir immer das dazugehörige %USERPROFILE% - Directory ausgibt.
Kennt jemand sowas?

Florian

MisterNiceGuy 19. Nov 2005 19:00

Re: Alle Benutzernamen + dazugehöriges Verzeichniss aufliste
 
Nein aber der Code für das Auflisten der Benutzer wurde hier vor einem Tag gepostet und das dazugehörige HomeDir findest du dann folglich unter 'C:\Dokumente und Einstellungen\'+Username.

MfG Jonas

Zacherl 19. Nov 2005 19:02

Re: Alle Benutzernamen + dazugehöriges Verzeichniss aufliste
 
Zitat:

und das dazugehörige HomeDir findest du dann folglich unter 'C:\Dokumente und Einstellungen\'+Username.
Eben nicht. Wenn man z.B. die 64x Version hat oder die Englische ist das nämlich "C:\Documents and Settings\".

Deswegen brauche ich einen Code, der mir die Verzeichnisse zuverlässig auflistet.
Wegen der Benutzerauflistung werde ich mal suchen.

Florian

Puhbaehr 20. Nov 2005 00:01

Re: Alle Benutzernamen + dazugehöriges Verzeichniss aufliste
 
Eigentlich doch.

Die Umgebungsvariablen HOMEPATH und USERPROFILE geben das Verzeichnis des aktuellen Benutzers aus also in der Windows 32-Bit-Version, Deutsch, z.B. C:\Dokumente und Einstellungen\User

User ab letztem Backslash wegparsen und aus dem Verzeichnis nun alle Ordner auflisten. Sollte funktionieren.

Gruß, Robert

MisterNiceGuy 20. Nov 2005 14:41

Re: Alle Benutzernamen + dazugehöriges Verzeichniss aufliste
 
dito

Luckie 20. Nov 2005 15:10

Re: Alle Benutzernamen + dazugehöriges Verzeichniss aufliste
 
@MisterNiceGuy: Was soll dass denn jetzt zum Thema beitragen? Bitte unterlass solche absolut überflüssigen Beiträge in Zukunft. Danke.

Jelly 20. Nov 2005 15:24

Re: Alle Benutzernamen + dazugehöriges Verzeichniss aufliste
 
Zitat:

Zitat von Puhbaehr
User ab letztem Backslash wegparsen und aus dem Verzeichnis nun alle Ordner auflisten. Sollte funktionieren.

Nicht jeder Benutzer muss aber zwingend in diesem Verzeichnis sein Profil liegen haben. Meldest Du dich z.B. in einer w2k Domain an, so kann dir der Domaincontroller den Pfad vorschreiben.

Ich weiss aber trotzdem nicht, wie Du auf den korrekten Pfad kommst, aber mein Einwand sollte schon berücksichtigt werden.

Puhbaehr 20. Nov 2005 22:57

Re: Alle Benutzernamen + dazugehöriges Verzeichniss aufliste
 
Mh...stimmt! Wenn man sogar weiter geht: In einem Novell-Netzwerk z.B. werden die Nutzer auf dem Novell-Server geführt und man hat ohne Rechte gar keine Chance an alle Nutzer zu kommen. Zu Recht auch!

Aber wenn man von der Aufgabenstellung ausgeht sollte die genannte Möglichkeit reichen:
Zitat:

Zitat von Florian Bernd
ich suche einen Code, der mir alle Benutzernamen auf einem Computer auflistet und mir immer das dazugehörige %USERPROFILE% - Directory ausgibt. ...

Somit sollte man nur noch überprüfen ob der Rechner zu einem Netzwerk mit zentralen Controller gehört oder nicht. Und da wird es sicher schwieriger.

Christian Seehase 21. Nov 2005 01:15

Re: Alle Benutzernamen + dazugehöriges Verzeichniss aufliste
 
Moin Jonas,

Zitat:

Zitat von MisterNiceGuy
und das dazugehörige HomeDir findest du dann folglich unter 'C:\Dokumente und Einstellungen\'+Username

Das muss nicht zwingend stimmen.
Wenn der Account umbenannt wird, ändert sich das Homedir nicht.
Beispiel:
Ein User meldet sich mit dem Account AlterName erstmalig auf dem Rechner an, dann wäre das Homedir (wenn es nicht sowieso woanders liegt):
C:\Dokumente und Einstellungen\AlterName

Wird der Account nun umbenannt, z.B. auf NeuerName, und der User meldet sich auf dem gleichen Rechner mit NeuerName an, so ist das Homedir immer noch
C:\Dokumente und Einstellungen\AlterName
da sich die SID des Users nicht geändert hat.

NicoDE 21. Nov 2005 12:09

Re: Alle Benutzernamen + dazugehöriges Verzeichniss aufliste
 
Die Suche nach MSDN-Library durchsuchenUser Profiles dürfte fast alle Fragen beantworten...

MPirnstill 21. Nov 2005 12:29

Re: Alle Benutzernamen + dazugehöriges Verzeichniss aufliste
 
Zitat:

Zitat von Florian Bernd
Hi,
ich suche einen Code, der mir alle Benutzernamen auf einem Computer auflistet und mir immer das dazugehörige %USERPROFILE% - Directory ausgibt.
Kennt jemand sowas?

Florian

Hi,

eigentlich könntest du diese Infos einfach aus der Registry auslesen. Ich weiß, jetzt allerdings gerade nicht unter welchem Key man alles User des PC findet (evtl. irgendwo unter LOCAL_MACHINE), da ich kurzlich erst nur den aktiven Benutzer benötigte und den findet man unter CURRENT_USER.

Vielleicht hilft dir das ja.

Gruß

Luckie 21. Nov 2005 12:32

Re: Alle Benutzernamen + dazugehöriges Verzeichniss aufliste
 
@MPirnstill: Nur so am Rande, den aktuellen Benutzer sollte man mit der entsprechenden API Funktion auslesen:
Delphi-Quellcode:
////////////////////////////////////////////////////////////////////////////////
// Procedure : UserName
// Comment  : Returns the name of the currently loggon user

function GetCurrUserName: string;
var
  Size                  : DWORD;
begin
  Size := MAX_COMPUTERNAME_LENGTH + 1;
  SetLength(Result, Size);
  if GetUserName(PChar(Result), Size) then
    SetLength(Result, Size)
  else
    Result := '';
end;
Und sichnicht daraufverlassen, dass diese Information in der nächsten Windows Version angleicher Stelle in der Registry steht.

MPirnstill 21. Nov 2005 12:44

Re: Alle Benutzernamen + dazugehöriges Verzeichniss aufliste
 
Zitat:

Zitat von Luckie
@MPirnstill: Nur so am Rande, den aktuellen Benutzer sollte man mit der entsprechenden API Funktion auslesen:
...
Und sichnicht daraufverlassen, dass diese Information in der nächsten Windows Version angleicher Stelle in der Registry steht.

@Luckie: Danke! Guter Hinweis! Gib es diese Funktion auch schon unter Delphi 2.0 (bevor du darauf anspielst, ich weiß in meinem Profile steht D2005, aber mein laufendes Projekt ist ein Alt-Projekt, welches noch in D2 geschrieben ist)? Ich konnte es in der Hilfe von D2 nicht finden.

Gruß

Ups! Sorry, hab unter GetCurrUserName nicht GetUserName nachgeschaut. Meine Schusseligkeit. Aber zumindest hab ich jetzt ein Beispiel wie man es anwendet, da tue ich mich bei den API-Funktionen immer etwas schwer.

Luckie 21. Nov 2005 12:48

Re: Alle Benutzernamen + dazugehöriges Verzeichniss aufliste
 
Wenn die API Funktion MSDN-Library durchsuchenGetUserName in der Windows.pas deklariert ist ja. Ansonsten dynamisch aus der User32.dll importieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 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 by Thomas Breitkreuz