使用PHP更改AD密码

时间:2012-01-04 06:42:42

标签: php active-directory ldap

我正在尝试远程访问我的广告服务器(用于输入/用户修改),我使用端口389与我的公共IP连接,但它不允许我在条目中进行修改(能够检索条目)。所以,我尝试使用端口636建立连接,但我无法使用此端口进行连接。 那么,请您告诉我在636上需要进行哪些更改才能连接?或者如何在端口389上修改Entry(即更改密码(unicodepwd))?

先谢谢。!

1 个答案:

答案 0 :(得分:1)

使用PHP,您可以使用LDAP在SSL连接上使用简单绑定更改AD用户密码。

为此,您需要在AD服务器上安装证书。简单的方法(不是更有吸引力)是在您的域上安装Microsoft Certificate Server(企业安装请参阅Configuring Microsoft Active Directory for SSL Access),然后重新启动域控制器。您还可以使用OpenSSL生成证书并将其安装在计算机上(请参阅How to enable LDAP over SSL with a third-party certification authority)。

以下是允许在SSL连接上使用其密码创建用户的LDIF文件示例,您将找到我为密码生成基本64字符串的方式:

# Imported with :
# ldifde -i -t 636 -f .\Annuaire3.ldf
# Password generated by ("" must be encoded inside):
# stringconverter.exe \"test.2011\" /unicode /encode
# Connexion then tested with :
# runas /user:jdupont cmd.exe (password is test.2011)

dn: cn=Jean Dupont,OU=MonOU,DC=societe0,DC=fr
changetype: add
objectClass: user
objectClass: organizationalPerson
objectClass: person
objectClass: top
cn: Jean Dupont
givenName: Jean
sn: Dupont
mail: jean.Dupont@societe.fr
telephoneNumber: 9999
userAccountControl: 544
sAMaccountName: jdupont
userPrincipalName: jdupont@societe.fr
unicodePwd:: IgB0AGUAcwB0AC4AMgAwADEAMQAiAA==