Thread Perl & win32 ADS user management: win32::AD::user (8 answers)
Opened by Gast at 2004-02-10 12:34

Stonie
 2005-02-21 15:47
#35976 #35976
User since
2005-02-21
3 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich habe da mal ein Problem.

Ziel ist es, das Passwort eines User auf einen Wert zu setzen und ihn beim nächsten Logon zur Passwortänderung aufzufordern.

Die Passwortänderung funktioniert auf diese Weise:
Code: (dl )
1
2
3
$c = Win32::OLE->GetObjekt("WinNT://domaene/user");
$c->SetPassword("neuespasswort");
$c->SetInfo;


Ob der Account gesperrt ist, lässt sich auch auslesen und mittels:
Code: (dl )
$c->{IsAccountLocked} = 0;

wieder freigeben.

Nur bekomm ich es nicht hin, das der User das Passwort bei der nächsten Anmeldung ändern soll.

Laut der ADSI-Hilfe von Microsoft sollte es mit:
Code: (dl )
$c->Put{pwdLastSet, 0}; $c->SetInfo;


gehen. Tut aber nicht.
Was mir aufgefallen ist, wenn ich ein
print $c->{pwdLastSet}
ausgeben lasse, bekomm ich den Fehler:
die Verzeichniseigenschaft wurde nicht im Cache gefunden.
Merkwürdig ist auch, das laut der ADSI-Hilfe der Profilpfad der User mit
$c->{ProfilePath} ausgegeben werden soll, bei mir dort aber der selbe Fehler (Verzeichniseigenschaft wurde nicht im Cache gefunden) ausgegeben wird.
Den Profilpfad bekomme ich aber mit
$c->{profile}

Meine Vermutung ist jetzt natürlich,  das die Eigenschaft nicht "pwdLastSet" ist, nur habe ich keine Ahnung wie ich den richtigen Namen herausfinde und woran liegt es, das die Eigenschaften bei mir von denen in der Hilfe abweichen?
Hat jemand ne Idee, wie ich weiter vorgehen kann?

edit renee: ne Runde [code]- und [tt]-Tags spendiert...\n\n

<!--EDIT|renee|1108995032-->

View full thread Perl & win32 ADS user management: win32::AD::user