The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

將現有電腦加入 AD 網域的最佳實務 ( 對應 User Profile )

分享到噗浪!

一般來說公司若是首次導入 AD 網域,在 AD 網域建立完成後就要開始將現有的電腦一一加入 AD 網域了,當電腦加入網域後第一次用 AD 帳號登入在電腦內會新增一個獨立的網域使用者(Domain User)帳號,而這個網域帳號與舊有的本機帳號是完全不一樣的,除了所在目錄不一樣之外,每台電腦的 User SID 也不一樣,所以通常都需要大費周章的將原本帳號下的檔案與資料搬移到新帳號中,這過程耗時又費力,今天我將分享另一種更好的方式,讓現有電腦加入 AD 網域更有效率的方法。

由於一般 PC 使用者都享有完整的電腦掌控權,而我今天介紹的方法僅適用於「加入 AD 後也一樣具有完整的本機掌控權」,如果你希望導入後能限制使用者使用電腦的權力,那應該使用我這個方法可能會發生一些權限的問題。

整個加入的流程有���大步驟說明如下:

第一大步驟:建立帳號與修正檔案、目錄、Hive 控制檔權限

  1. 先在 Domain Controller 中新增使用者帳號 ( 假設帳號名稱AD1\UserA )
    備註: AD 中的使用者會有一個自己的 SID
  2. 現有電腦設定加入 AD 網域 ( 假設現有電腦名稱為 PC1 )
  3. PC1網域使用者(AD1\UserA)的身份登入 ( 假設使用者名稱User1 ),此時在 PC1 中會建立一組新的使用者設定檔(User Profile),接著直接登出
  4. 然後在用具有本機管理者權限的身分登入 PC1 ( 例如:Domain Admins 或 Local Administrator )
  5. User1 加入 PC1 的本機系統管理者群組
  6. [開始]\[執行]  regedt32 開啟 "登錄編輯器" 視窗
  7. 選取 "HKEY_USERS",並點檔案選單的 "載入HIVE 控制檔",然後選擇您舊 Profiles 下的ntuser.dat 檔案。例如:C:\Documents and settings\User1\ntuser.dat
    選取 "HKEY_USERS",並點檔案選單的 "載入HIVE 控制檔",然後選擇您舊 Profiles 下的ntuser.dat 檔案。例如:C:\Documents and settings\User1\ntuser.dat
  8. 然後給一個機碼名稱 "User1" (使用者的名稱),且您也可以在 HKEY_USERS 下看到此 "User1" 的機碼。
    您也可以在 HKEY_USERS 下看到此 "User1" 的機碼。
  9. 使用滑鼠右鍵點選 "User1",再點選 "使用權限"
    使用滑鼠右鍵點選 "User1",再點選 "使用權限"
  10. 請在權限的地方新增您在 AD 中建立的使用者 ( AD1\UserA ) 並設定為 "完全控制",再按"確定"
  11. 請使用滑鼠點選 "User1",再點選 檔案選單的 "HIVE 解除載入"。注意:此步驟非常重要!!
    請使用滑鼠點選 "User1",再點選 檔案選單的 "HIVE 解除載入"。注意:此步驟非常重要!!
  12. 關閉 "登錄編輯器"。

第二大步驟:修改 User Profile 與 SID 的對應關係

這個步驟主要是將 AD1\UserA 的 SID 對應到的 User Profile 目錄改變到原本的 User Profile目錄下。

  1. 以登入本機管理者權限登入
    ( 需具有 Local Administrator 或 Domain Account 具有 Local Administrator 權限 )
  2. 登入需查詢這個 Domain User ( AD1\UserA ) 的 SID 是多少,你可以利用 Sysinternal 工具組中的 PsGetSid 工具幫你查出該使用者的 SID。
    如下範例可取出 SID 為 S-1-5-21-1734555294-521365412-12323243404-5525
  3. C:\>psgetsid AD1\UserA
    
    PsGetSid v1.43 - Translates SIDs to names and vice versa
    Copyright (C) 1999-2006 Mark Russinovich
    Sysinternals - www.sysinternals.com
    
    SID for ad1\UserA:
    S-1-5-21-1734555294-521365412-12323243404-5525
  4. [開始]\[執行]  regedt32 開啟 "登錄編輯器" 視窗
  5. 找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
  6. 然後找到跟這個第2步查到的 SID 一樣名稱的機碼
  7. 然後找到 ProfileImagePath 這個「可擴充字串值」後,修改路徑到原本使用者的 Profile 路徑。
    例如:%SystemDrive%\Documents and Settings\User1

---

囉唆的步驟終於完成。但畢竟只要麻煩這一次,不用再辛辛苦苦的搬移個人檔案的資料了。

評論 (19) -

  • argay

    2009/1/19 下午 05:24:43 |

    您也可考慮使用 User Profile Wizard
    ( http://www.forensit.com/Profwiz/ )
    這個軟體是允許個人免費使用的,
    只要填寫幾個欄位的資料就可以輕鬆加入AD網域,
    不需要手動更改registry及SID
    我們用來把原本在NT 4.0網域電腦轉換至AD網域也OK,
    user profile也可以跟著轉移,
    十分方便,
    提供給您參考。

  • 雪林

    2009/1/19 下午 05:35:27 |

    不敢說評論啦!因為找不到回應的選項,所以只好再這個欄位輸入問題

    有些問題想要請教一下

    照Will 你在一開始的介紹裡面說的

    是不是代表說

    這樣設定完成以後

    以後公司網管人員想要

    限制使用者的權限

    是否就無法限制

    還是說不會有這個問題的產生

  • will

    2009/1/19 下午 06:12:39 |

    你一樣可以限制使用者權限喔!例如:將 AD 使用者從本機管理者群組移除、或設定群組原則限制USB存取等。

    只是使用者可能之前用好好的功能有可能因為權限被限制而不能用,也許會引來一些抱怨而已吧。

  • jayhunglai

    2009/4/11 上午 12:08:09 |

    你現在的做法是將AD1\USERA的profile指向PC1\USER1
    那之後透過DC套用的相關群組原則等資訊,會寫入PC1\USER1的profile
    再者,PC1\USER1登入或是AD1\USERA登入,都是同一個profile,對嗎?

    有沒有工具可以把PC1\USER1複製一份到AD1\USERA的,複製後兩個profile獨立運作?

    謝謝~

  • will

    2009/4/11 上午 01:18:33 |

    這我就不太清楚了,因為 SID 不能重複,所以你複製兩份影響的層面還蠻大的,可能沒有方便的作法。

  • Brad

    2009/12/17 上午 06:46:52 |

    Hey, Will, argay, 真的是太感謝你們了,大感謝!

  • luckys

    2011/2/23 上午 01:02:17 |

    你好
    想問例如電腦a己加入網域,有兩個網域使用者tom和peter,我想只有tom可以登入電腦a(位置是網域,不是本機),而peter不可以在電腦a用網域登入,可以怎樣做?謝謝

  • 亂馬客

    2012/4/24 下午 09:10:50 |

    保哥您好,
    請問您知道Windows 2003在IIS上的Web AP設定Windwos整合驗証的話!
    User如果從Internet Offline Domain Login後,再連到我們的Web AP,那IIS是否能認到那個user的AD帳號呢?
    因為小弟目前的Web AP是放在Win 2003上,User在公司登入Domain連都可以認到AD的帳號,但是如果在外網的話就無法認到user的AD帳號,而會有2次401的錯誤! 但是相同的情況,在另一台Win 2008 + MOSS的機器卻是2種情形都能認到user的AD帳號! 是否有什麼設定是小弟需要設定的呢? 感謝您!

  • Will 保哥

    2012/4/24 下午 11:59:31 |

    亂馬客: 你在 web.config 裡設定的時候,是否有在 <system.web> 下新增 <identity impersonate="true" /> 的設定?

  • 亂馬客

    2012/4/25 上午 12:36:40 |

    保哥您好,
    web.config中沒設定impersonate,只是在iis上把匿名存取的勾拿掉,單就勾windows整合驗証~!
    請問還需要使用impersonate="true"嗎?

  • Will 保哥

    2012/4/25 上午 12:46:02 |

    亂馬客: 我很久沒用 Windows Server 2003 了,你可能要多測試各種方法試試,不然就要去國外論壇問看看。 Smile

  • Charles Chong

    2013/4/30 上午 01:50:50 |

    保哥您好,想請問使用者帳號一定要加在Domain Controller中?是為了權限的問題嗎?若已經加入網域的使用者,其帳號在User中,是複製過去Domain Controller就
    可以繼續做嗎?謝謝~

  • Will 保哥

    2013/4/30 上午 04:14:09 |

    Charles Chong: 主要是為了做身分驗證。請你不要把使用者資料從 Users OU 搬移到 Domain Controller 裡,還是建議你先看過 AD 相關書籍,否則如果設定錯誤可能會導致無法預期的情況發生。

  • Charles Chong

    2013/4/30 上午 05:05:11 |

    瞭解,本來是想用Windows PowerShell 的 Active Directory 模組來移動使用者帳號這個物件(同一網域),看來是不能這麼做了。但由於使用者的資料龐大且繁雜,若我想幫他做這件事的話就必須先退網域然後在Domain Controller裡面新增使用者帳號?
    User OU裡面的帳號我在退網域後也必須刪除吧?謝謝您的回答。

  • Will 保哥

    2013/4/30 上午 07:02:36 |

    Charles Chong: 在 AD 中有區分電腦物件與使用者物件,兩者用途是不一樣的。
    所以電腦加入網域,會新增電腦物件,與使用者物件沒關係,當電腦退出網域,電腦物件會被移除,但使用者物件並不會被移除。

  • Charles Chong

    2013/4/30 下午 08:59:17 |

    感謝保哥的回答與分享,對於我這個半路出家又只自K了一個月教材的人幫助很大,會
    有動力學Windows Server的原因是希望能跟工作環境周遭的MIS有更好的互動,又剛好公司換新的伺服器(舊的無預警掛掉),所以才想趁機多學一點實務經驗,不過目下看來,我要走的路應該還是很長...

  • QPON

    2013/8/1 上午 06:27:45 |

    請問原本有一台XP系統已經登入網域,現在有一台新電腦WIN7系統要取代原本舊電腦,
    已經將WIN7的網卡位置改成與舊電腦XP一樣,舊電腦XP就沒使用沒接網路
    WIN7加入網域時有找到先前XP系統電腦名稱ad1\QPON,出現錯誤如下,
    加入網域的操做不成功。可能因為名為"QPON" 的現有電腦帳戶先前是使用不同的認證所建立。請使用其他電腦帳戶,或是聯絡系統管理員,請問這有辦法解決嗎?

  • Will 保哥

    2013/8/9 上午 09:13:07 |

    QPON: 你可能要先透過正常程序將原本的 XP 卸離網域,或直接從 DC 刪除該電腦物件,然後再重新加入網域看看。

blog comments powered by Disqus