AD používá pro úpravu hesel atributy userPassword
a unicodePwd
. userPassword je defaultně disablovný a unicodePwd požaduje na vstupu base64-encoded string.
Změna hesla pomocí LDIFDE
LDIFDE se musí k AD připojit přes LDAPs (secured LDAP) a pracuje v módu import.
ldifde -i -t 636 -f soubor.ldif
LDIF soubor, změna hesla pomocí userPassword
. Je potřeba znát původní heslo a nastavit nové.
dn: CN=John Smith, OU=Users,DC=Fabrikam,DC=com changetype: modify delete: userPassword userPassword: oldPassword - add: userPassword userPassword: newPassword
LDIF soubor, reset hesla pomocí userPassword
.
dn: CN=John Smith, OU=Users,DC=Fabrikam,DC=com changetype: modify replace: userPassword userPassword: newPassword -
LDIF soubor, změna hesla pomocí unicodePwd
. Je potřeba znát původní heslo a nastavit nové.
dn: CN=John Smith, OU=Users,DC=Fabrikam,DC=com changetype: modify delete: unicodePwd unicodePwd::HgBuAGUAdwBKLSQAGEAcwBzAHcAbwByHJE= - add: unicodePwd unicodePwd::IgBuAGUAdwBQAGEAcwBzAHcAbwByAGQAIgA=
LDIF soubor, reset hesla pomocí unicodePwd
.
dn: CN=TestUser,DC=testdomain,DC=com changetype: modify replace: unicodePwd unicodePwd::IgBuAGUAdwBQAGEAcwBzAHcAbwByAGQAIgA= -
Base-64 encoder musí podporovat Unicode, jinak nebude vytvářet správná hesla.
Base-64 encoder v PowerShell:
$pwd = 'HesloX' [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes('"{0}"' -f $pwd))
Změna hesla pomocí ldp.exe
ldp.exe se musí k AD připojit přes LDAPs (secured LDAP)
unicodePwd
\UNI:P@ssword1234567890
(prefix \UNI:
zajistí konverzi do base-64)Replace