使用 PHP 更改 AD 密码

发布于 2024-12-24 17:54:23 字数 1459 浏览 0 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冰葑 2024-12-31 17:54:23

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

为此,您需要在 AD 服务器上安装证书。简单的方法(不是更有吸引力)是在您的域上安装 Microsoft 证书服务器(企业安装请参阅 配置 Microsoft Active Directory 以进行 SSL 访问),然后重新启动域控制器。您还可以使用 OpenSSL 生成证书并将其安装在计算机上(请参阅如何通过具有第三方证书颁发机构的 SSL)。

以下是 LDIF 文件的示例,该文件允许在 SSL 连接上使用其密码创建用户,您将找到我生成密码的基本 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: [email protected]
telephoneNumber: 9999
userAccountControl: 544
sAMaccountName: jdupont
userPrincipalName: [email protected]
unicodePwd:: IgB0AGUAcwB0AC4AMgAwADEAMQAiAA==

Using PHP, you can change an AD user password using LDAP with a simple bind on an SSL connexion.

For this you need to install a certificate on you AD server. The simple way (not the more attractive) is to install Microsoft Certificate Server on your domain (Enterprise installation see Configuring Microsoft Active Directory for SSL Access) and then to reboot your domain controler. You can also generate a certificate with OpenSSL and install it on the computer (see How to enable LDAP over SSL with a third-party certification authority).

Here is a sample of an LDIF File that allow to create a user with his password on an SSL connexion, you will find the way I generate the base 64 string for the password :

# 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: [email protected]
telephoneNumber: 9999
userAccountControl: 544
sAMaccountName: jdupont
userPrincipalName: [email protected]
unicodePwd:: IgB0AGUAcwB0AC4AMgAwADEAMQAiAA==
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文