Schnipselchen per LDAP AD Passwort setzen

Tja wer brauch sowas nicht mal hier oder da? Wer es braucht kann es gern verwenden, ich denke der Vorgang ist recht simpel, aber ich wollt es auch nochmal für mich selbst hier abgelegt haben. Der Schnipsel sollte in der Lage sein das Passwort in der AD über LDAP zu ändern, viel Spaß beim probieren.

<?php
$username = $_POST['user_name'];

$ldap = ldap_connect($config['ldapServers'], 636);
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);

 if ($ldap)
{
	$bind = ldap_bind($ldap, $config['ldapUsername'], $config['ldapPassword']);
	$filter="(sAMAccountName=$username)";
	$result = ldap_search($ldap,"dc=yourcompany,dc=com",$filter);

	ldap_sort($ldap,$result,"sn");
	$info = ldap_get_entries($ldap, $result);

	for ($i=0; $i<$info["count"]; $i++)
	{
		echo "<p>You are changing the password for <b> ". $info[$i]["givenname"][0] .", " . $info[$i]["sn"][0] ."</b> (" . $info[$i]["samaccountname"][0] .") to <b>" . $_POST['user_pass'] ."</b></p>\n";
		$passwd1 = $_POST['user_pass'];
		$userDn = $info[$i]["distinguishedname"][0];
		$newPassword = $passwd1;
		$newPassword = "\"" . $newPassword . "\"";
		$len = strlen($newPassword);

		for ($i = 0; $i < $len; $i++)
		{
			$newPassw .= "{$newPassword{$i}}\000";}
			$newPassword = $newPassw;
			$userdata["unicodePwd"] = $newPassword;
			$result = ldap_mod_replace($ldap, $userDn , $userdata);

			if ($result)
				echo "Your password has been changed!" ;
			else
				echo "There was a problem changing your password, please call IT for help";
		}
}

@ldap_close($ldap);
?>

Sorry wegen der Formatierung etwas wenig Platz dafür hier :-) .

keine verwandetn Artikel

Wenn du diesen Artikel für lesenswert hälst? Dann teile ihn mit anderen.
Icon Icon Icon Icon

häufig gelesene Artikel

Hinterlasse einen Kommentar

Du solltest angemeldet sein um einen Kommentar zu schreiben.

Navigation

Kalender

August 2010
M D M D F S S
« Jul   Sep »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Tagkugel

Teamspeak 3 Viewer

Pesti's Klömpelkiste
Eingangshalle
Games & Co.
Smalltalk & misc.

Slideshow

Lade Dir den Flash Player, um die Diashow zu sehen.