The Will Will Web

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

Windows Server 2008 R2 在登入時無法建立使用者設定檔

這又是一個執行 sysprep 一般化之後所衍生的問題!我新安裝的 Windows Server 2008 R2 已經加入網域,也用網域帳戶登入過了,然後將主機卸離網域,再執行 sysprep 一般化,然後建立新 VM 開機後重新加入網域,這時如果用之前登入過的那個網域帳號進行登入的話,就會遇到在登入時完全無法建立使用者設定檔 (User Profile) 的狀況,也代表著存放在 C:\Users\<Username> 目錄的資料(例如桌面、我的文件、…等等)只要登出就會被刪除,不勝其擾,以下是解決辦法。

我從事件檢視器中看到以下訊息: 

Event ID 1530

Windows 偵測到您的登錄檔仍由其他應用程式或服務使用中。現在會解除載入該檔案。之後,佔用您登錄檔的應用程式或服務可能無法正常運作。

詳細資料 - 1 user registry handles leaked from \Registry\User\S-1-5-21-9999999999-798365412-1623263404-1140: Process 900 (\Device\HarddiskVolume2\Windows\System32\svchost.exe) has

opened key \REGISTRY\USER\S-1-5-21-9999999999-798365412-1623263404-1140\Software\Microsoft\Internet Explorer\LinksBar

Event ID 1530

Windows 偵測到您的登錄檔仍由其他應用程式或服務使用中。現在會解除載入該檔案。之後,佔用您登錄檔的應用程式或服務可能無法正常運作。
詳細資料 - 2 user registry handles leaked from \Registry\User\S-1-5-21-9999999999-798365412-1623263404-1140:
Process 992 (\Device\HarddiskVolume2\Windows\System32\svchost.exe) has opened key \REGISTRY\USER\S-1-5-21-9999999999-798365412-1623263404-1140\Printers\DevModePerUser
Process 900 (\Device\HarddiskVolume2\Windows\System32\svchost.exe) has opened key \REGISTRY\USER\S-1-5-21-9999999999-798365412-1623263404-1140\Software\Microsoft\Internet

Explorer\LinksBar

Event ID 1511

Windows 找不到本機設定檔,將讓您以暫存設定檔登入。當您登出後,在這個設定檔建立的變更將會遺失。

 

以下是解決 registry handles leaked 的方法:

1. 先用無法建立使用者設定檔的帳號登入

2. 執行 whoami /user

3. 重新啟動伺服器

4. 使用本機管理者 (Local Admin) 或網域管理者 (Domain Admin) 帳號登入該主機

5. 開始 / 執行 / regiedit,並瀏覽到 Registry 的以下路徑

KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

6. 找出名為該位使用者 SID 的機碼,並刪除此機碼(注意:請不要刪除 ProfileList 喔

7. 接著重新登入一次有問題的使用者帳號,觀察看看是否可以成功建立使用者設定檔!

 

結論

要執行 sysprep 一般化的 Windows Server 2008 R2 伺服器不要先加入網域,而且不要用網域帳號登入過後才執行一般化處理。

 

相關連結