none
Windows Server 2003 Active Directory 使用者密碼問題 RRS feed

  • 問題

  • 小弟透過IIS6.0 建設了FTP及HTTP Server,並將之與AD 整合。
    (即使用者要使用AD 使用者名稱及密碼登入FTP及HTTP Server)

    但現在面對一個問題:
    如果使用者要更改密碼,便要在已join domain 的電腦上更改
    那麼有沒有其他方法可令使用者自行更改密碼呢(例如:網頁)?

    多謝各位指教啊﹗
    2010年2月20日 下午 11:57

解答

  • 寫個小網頁,使用:

    Try
    	Dim strServer As String = Server.MachineName
    	Dim UserObj As Object = GetObject(String.Format("WinNT://{0}/{1}", strServer, UserId))
    
    	UserObj.ChangePassword(oldPassword, newPassword)
    	UserObj = Nothing
    
    	strMessage = "密碼變更成功。"
    Catch ex As Exception
    	strMessage = "密碼變更失敗。錯誤訊息:" & ex.Message
    End Try
    
    就可以讓使用者透過網頁更改密碼。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    • 已標示為解答 Lolota Lee 2010年2月26日 上午 09:46
    2010年2月21日 上午 05:56

所有回覆

  • 寫個小網頁,使用:

    Try
    	Dim strServer As String = Server.MachineName
    	Dim UserObj As Object = GetObject(String.Format("WinNT://{0}/{1}", strServer, UserId))
    
    	UserObj.ChangePassword(oldPassword, newPassword)
    	UserObj = Nothing
    
    	strMessage = "密碼變更成功。"
    Catch ex As Exception
    	strMessage = "密碼變更失敗。錯誤訊息:" & ex.Message
    End Try
    
    就可以讓使用者透過網頁更改密碼。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    • 已標示為解答 Lolota Lee 2010年2月26日 上午 09:46
    2010年2月21日 上午 05:56
  • 寫個小網頁,使用:

    Try
    
    	Dim strServer As String = Server.MachineName
    
    	Dim UserObj As Object = GetObject(String.Format("WinNT://{0}/{1}", strServer, UserId))
    
    
    
    	UserObj.ChangePassword(oldPassword, newPassword)
    
    	UserObj = Nothing
    
    
    
    	strMessage = "密碼變更成功。"
    
    Catch ex As Exception
    
    	strMessage = "密碼變更失敗。錯誤訊息:" & ex.Message
    
    End Try
    
    
    
    
    就可以讓使用者透過網頁更改密碼。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    小弟才疏學淺,應怎樣寫一個小網頁(包括上述的程式碼)呢?有沒有一寫範本好讓我更易掌握呢?謝﹗
    2010年2月21日 下午 12:08
  • 請先自行試看看,有問題再提出。
    而不是直接要別人給程式。

    前面的回應基本上就已經是正確解答了,只剩你願不願意試而已。
    初學不是問題,但用不正確的態度來問問題,那就是很大的問題。
    請不要藉新手之名行小白之實,否則只會讓更多無辜的新手得不到幫助而已。
    如果不知道什麼是小白,請參閱:何謂小白
    2010年2月21日 下午 12:24
    版主
  • 因為我已放落去一個命為(change.asp)的檔案內
    但執行時只看到這一堆程式碼啊﹗

    可是我根本不知道這一段程式碼,是甚麼電腦語言。
    2010年2月21日 下午 12:26
  • 上面是 ASP.NET 的程式碼,請依 ASP 慣例變更程式碼內容。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年2月21日 下午 12:49
  • 可是我根本不知道這一段程式碼,是甚麼電腦語言。
    你在發問是這樣說的 "那麼有沒有其他方法可令使用者自行更改密碼呢(例如:網頁)?"
    那大家就會假設你懂網頁程式怎麼寫 , 結果你回這一句 , 是希望有人幫你寫一個完整的嗎 ? 那你應該外包而不是發問 .
    2010年2月21日 下午 01:03
  • 可是我根本不知道這一段程式碼,是甚麼電腦語言。
    你在發問是這樣說的 "那麼有沒有其他方法可令使用者自行更改密碼呢(例如:網頁)?"
    那大家就會假設你懂網頁程式怎麼寫 , 結果你回這一句 , 是希望有人幫你寫一個完整的嗎 ? 那你應該外包而不是發問 .


    我當然也不希望只懂搬字過紙,可能我在發問時用的字眼令各位誤會,望各位見諒

    2010年2月21日 下午 01:41
  • ...
    你在 asp 內有看過有 As String / As Object / String.Format / Try ... End Try 這類指令嗎?
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年2月21日 下午 02:30
  • ...
    你在 asp 內有看過有 As String / As Object / String.Format / Try ... End Try 這類指令嗎?
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    有看過啊
    2010年2月21日 下午 02:40
  • ...
    你在 asp 內有看過有 As String / As Object / String.Format / Try ... End Try 這類指令嗎?
    有看過啊

    你真是太強了~
    這些都不是 asp 的指令,而是 asp.net 的指令,你居然能在 asp 內看到,貴單位的網站比微軟還神奇,微軟在 asp 不支援的陳述式都能跑。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年2月21日 下午 02:52
  • ...
    你在 asp 內有看過有 As String / As Object / String.Format / Try ... End Try 這類指令嗎?
    有看過啊

    你真是太強了~
    這些都不是 asp 的指令,而是 asp.net 的指令,你居然能在 asp 內看到,貴單位的網站比微軟還神奇,微軟在 asp 不支援的陳述式都能跑。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    ...
    你在 asp 內有看過有 As String / As Object / String.Format / Try ... End Try 這類指令嗎?
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。 
    上面是 ASP.NET 的程式碼,請依 ASP 慣例變更程式碼內容。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    起初你說你所打的一堆程式碼是ASP.NET 語言,那你問我有沒有看過string.format等語法,那當然有看過吧,那只好說我又會錯意吧
    2010年2月21日 下午 02:58
  • ASP 不等於  ASP.NET , 而且說實話還真差的滿遠的.
    你如果要自己寫程式去解這個問題, 第一步應該是先去把ASP.NET研讀一下
    先有個基礎再解, 不然就算有Code, 對你的效用也不大.
    MSDN 文件庫很重要
    問題本身越具體, 越容易得到大家的回應
    回應幫助你的人是一種禮貌, 良好的禮貌有助於激發大家對你問題回應的熱情
    2010年2月21日 下午 03:07
  • ASP 1.0 最早是 1995 出現的,真正成為一個好用的工具是在 WinNT 4.0 SP3 附的 NT Option 4.0 (ASP 3.0) ,到了 Win2k 內建 ASP 功能,採用 Windows Script 直譯引擎,支援 javascript/vbscript,其中 vbscript 使用的是 VB5/VB6/VBA/VBScript 相容語法。

    到了 2002 微軟出了 ASP.NET 後,改為編譯式執行方式,效能號稱較 ASP 提升 1000 倍 (20 倍是有啦,1000 倍是編譯與直譯差異的廣告詞) ,支援 vbnet/c#/j# 等,使用的是 VBNET 相容語法。

    上面舉的例子是 VBNET 中才有的語法,所以僅能在 ASP.NET 中用,在 ASP 內是完全沒這玩意。

    換句話說,ASP 跟 ASP.NET 完全是兩碼子的事,從前面的回應中,很明確可以看出:
    上面是 ASP.NET 的程式碼,請依 ASP 慣例變更程式碼內容。

    不然也不會提到要依照 ASP 慣例變更程式碼。

    你如果只是個 MIS 而非 Developer ,你就直接跟老闆說,請他外包來寫,或是好好的陳述你的狀況,程式碼不長,不論是改 asp 還是用 asp.net 寫都一樣,但論壇的特性不是代寫程式碼,而是透過交流提供釣魚的方式。

    要用 ASP 寫也是可以,但該你做的功課你要先完成並展現出來。

    說實在的,當看到你「引文」並回應說有看過,我是滿反感的,引文代表強調,結果你的強調讓人覺得你在硬凹,當然從後面你的回應來看,感覺你不是會錯意,而是根本不懂,那麼我想你應該只是 MIS 而非 Developer ,不同的角色做不同的事,你要學也可以,那麼先把 ASP.NET 語法轉 ASP ,不會沒關係,針對不會的地方逐步討論,就是不要直接想要等天上掉下答案,沒幾行的東西,好好討論,努力一下就可以解決。

    ASP 的 Server 物件沒有 MachineName 屬性,簡單點可以直接給定字串,就不用去抓電腦名。

    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年2月21日 下午 05:02
  • 各位,經一番研究後,最後已解決了問題,多謝各位的支援﹗
    2010年3月20日 下午 02:24