Zum Inhalt springen

[WinAPI] NetUserAdd / NetUserSetInfo - Problem mit Flag "UF_PASSWORD_EXPIRED"


Codemancer

Empfohlene Beiträge

Servus,

Beim setzen des UserFlags "UF_PASSWORD_EXPIRED" machen sowohl NetUserAdd als auch NetUserSetInfo genau gar nichts. Die beiden API-Funktionen werden an sich sauber ausgeführt (d.h. es wird alles so gesetzt, wie ich es haben will), jedoch nur dieser eine Wert nicht.

Wenn ich den Flag in den entsprechenden Windows-Einstellungen setze, taucht er auch beim NetUserGetInfo-Aufruf auf. Die Flag-werte werden sauber ausgelesen ("UF_NORMAL_ACCOUNT" / "UF_SCRIPT" / "UF_PASSWORD_EXPIRED") aber wenn ich jetzt mal ganz doof genau diesen Wert setzen will, dann werden nur "UF_NORMAL_ACCOUNT" und "UF_SCRIPT" gesetzt...

Ist euch da irgendeine Besonderheit bekannt? In der Documentation steht, dass dieser Wert von Win2k und WinNT nicht unterstützt wird. Ich selbst probiere es aber auf WinXP - und da Windows diesen Wert irgendwie setzt, muss man das doch über die API auch hin kriegen - zumal man ja jeden anderen Schrott auch setzen kann.

MfG

Enrico

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Rückgabewert beider Funktionen ist 0 ("Der Vorgang wurde erfolgreich beendet")

Hier mal meine Eingabewerte:

Comments "Script Normal Passwd_Expired "

Flag 8389121

HomeDir ""

Password "test"

Password_age 0

PrivilegeLevel 1

Script_Path ""

Username "250311-133432"

Es klappt ja auch wirklich alles tadellos. Auch wenn ich andere Flags setze (z.B. UF_DONT_EXPIRE_PASSWD oder UF_ACCOUNTDISABLE) werden jene auch wirklich übernommen. Nur dieser eine Flag (AFAIK) nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Habe das Problem nun in den Griff bekommen. Und zwar sieht das so aus, dass es eine mannigfaltige Anzahl an UserInfo-Strukturen gibt, die man in Kombination mit den NetUser***-Funktionen benutzen kann. Jedoch unterscheiden sich diese in dem, was sie können und was nicht (wobei das immer Property-Abhängig ist).

Durch wälzen der Microsoft-Dokumentation, welche ziemlich verwirrend ist und auch erst nach 500-maligem Nachlesen die Informationen rausrückt, die man auch tatsächlich gebrauchen kann, habe ich heraus gefunden, dass für alles vor WindowsXP die UserInfo3 und für alles ab XP die UserInfo4 benutzt wird. Um den Flag UF_Passwd_Expired zu setzen, muss man diesen sowohl ins flag-Attribut reinsetzen, als auch das Attribut Password_Expired auf einen Wert ungleich 0 setzen, dann klappt es.

Trotzdem Danke für die Mühe.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...