Mein Ziel ist es, eine Liste aller auf einem Windows-System existierenden Nutzer zu ermitteln (geht ja einfach mit NetUserEnum), allerdings brauche ich
zwingend zu jedem Nutzer die Informationen über sein Profilverzeichnis (also wo das liegt); und das muss auf jedem Windows-System (ab Win2k) auch ohne Domäne funktionieren.
Inzwischen habe ich rausgefunden, dass die Informationen, die
NetUserEnum und
NetUserGetInfo in die Datenstruktur
USER_INFO_2 oder
USER_INFO_3 liefern, wohl nur (wenn überhaupt) auf Servern oder in Domänen gefüllt sind, insbesondere die für mich relevanten Teile usri3_home_dir und usri3_profile.
Das ist so nicht ganz korrekt!
Beide Funktionen funktionieren auch auf lokaler Ebene ohne Domänencontroller!
Einfach
ServerName in beiden Funktionen leer lassen bzw. leeren Pointer übergeben und schon füllt dir das lokale Betriebssystem die angeforderten User-Records.
Zitat von
MSDN:
ServerName [in]
Pointer to a constant string that specifies the DNS or NetBIOS name of the remote server on which the function is to execute. If this parameter is NULL, the local computer is used.