2013-04-20 63 views
0

嘗試向使用Ruby腳本創建的Active Directory帳戶添加密碼時遇到了一些問題。 SSL連接建立於:使用Ruby更新Active Directory密碼時發生錯誤53

ldap = LDAP::SSLConn.new(LDAP_HOST, SSL_PORT) 

純文本密碼通過函數運行以返回基本64位UTF-16LE字符串。

def convert_to_unicode pwd 
    unicode_pwd = pwd.encode("UTF-16LE") 
    return Base64.encode64(unicode_pwd) 
end 

向AD中添加條目不是問題,但一旦輸入密碼就會返回錯誤53:不願意執行。正在傳入的密碼符合AD要求,並且在通過bash腳本完成時沒有任何問題。例如,通過convert_to_unicode運行以下代碼應返回一個帶引號的new_Password1以便AD進行設置。

'"new_Password1"' 

想知道是否有人有任何有用的東西,他們可以指向我,我可能會失蹤。

回答

1

您是否嘗試過僅對UTF-16LE運行編碼?

def microsoft_encode_password pwd 
    ret = "" 
    pwd = "\"" + pwd + "\"" 
    pwd.length.times{|i| ret+= "#{pwd[i..i]}\000" } 
    ret 
    end 
+0

這是它的感謝。看起來我正在努力過於聰明。 – Pseudomonkey 2013-08-22 01:19:41

+0

沒問題!聽說它很有效。 :) – GLindqvist 2013-09-11 11:44:29

相關問題