Я пытаюсь изменить пароли пользователей с помощью инструмента ldifde со следующей командой:
ldifde -i -h -f .\password.ldf -J ./
Вот одна из записей в файле password.ldf:
dn: CN=pwtest,OU=Engineering,DC=MyDc,DC=com
changetype: modify
replace: unicodePwd
unicodePwd::Ik51bWJza3VsbDIxIg==
-
В этом примере я изменил домен и пароль, но заверил, что используемый мной пароль соответствует политике паролей. Я сделал это, сбросив один из паролей пользователя на пароль, на который я пытаюсь обновить их все.
Я получаю следующую ошибку:
Add error on entry starting on line 2: Unwilling To Perform
The server side error is: 0x1f A device attached to the system is not functioning.
The extended server error is:
0000001F: SvcErr: DSID-031A129B, problem 5003 (WILL_NOT_PERFORM), data 0
Я вошел в систему как администратор через RDP, и я использую локальную оболочку PowerShell. Я обновил пароли вчера, используя этот метод, и он работал нормально. Единственное, что сейчас изменилось, о чем я могу знать, - это то, что у пользователей теперь есть пароли, и я пытаюсь их изменить. Также это Windows Server 2012 Datacenter.
AD требует SSL-соединение для изменения пароля. Попробуйте добавить -t 636 в свою команду.
например ldifde -i -h -t 636 -f. \ password.ldf -J ./
У вас могут быть другие недостающие зависимости, такие как пакеты с высоким уровнем шифрования и т. Д.
Добавлено из комментариев:
Это связано с тем, как вы кодируете пароль. Вы упускаете важный шаг. Это не просто текст для base64. Используйте PwdToBase64.txt с www.rlmueller.net/Base64.htm Переименуйте его в .vbs, и он будет правильно их кодировать.