2015/06/08

DC SYSVOL 資料夾沒有同步造成 Logon Scrip 沒有執行

公司內常常有人反應,若在其他台公司電腦登入時,原本會透過logon script掛載的網路磁碟都沒有掛載。

原本以為是logon script 的存放位置有錯,本來是存在 \\網域名\sysvol\網域名\scripts\ 底下,但我卻是放在  \\網域名\sysvol\網域名\scripts\script\ 底下,後來就把script檔通通移到 \\網域名\sysvol\網域名\scripts\ 底下,再把GPO裡的執行路徑做修改。
可是問題一樣存在。

使用者直接執行script檔都正常,所以不是權限的問題。後來發現從不一樣的以電腦去看\\網域名\sysvol\網域名\scripts\ ,居然有的電腦看的到後來移過去的script檔,有的電腦卻看不到。

原來是2台DC之間的 c:\windows\SYSVOL\ 資料夾沒有同步的關係,其實系統裡也都有警告訊息,只是沒注意。
DC1的錯誤訊息:DFS 複寫服務已停止對下列本機路徑的資料夾進行複寫: C:\Windows\SYSVOL\domain。此伺服器已與其他協力電腦中斷連線  255 天,超過 MaxOfflineTimeInDays 參數 允許的時間 (60)。 DFS 複寫會將此資料夾中的資料視為已過時,且在此錯誤獲得更正前,此伺服器將 不會複寫資料夾。 
 若要繼續複寫此資料夾,請使用 DFS 管理嵌入式管理單元從複寫群組中移除 此伺服器,再將其新增回群組中。這會使伺服器執行初始同步工作,而將 過時的資料取代為來自複寫群組其他成員中的新資料。 

DC2的錯誤訊息: DFS 複寫服務已停止磁碟區 C: 上的複寫。 當 DFSR JET 資料庫未明確關閉且「自動復原」已停用時,會發生此 情況。若要解決此問題,請備份受影響之已複寫資料夾中的檔案, 然後使用 ResumeReplication WMI 方法來恢復複寫程序。 














這時就要從DC2來處理,在DC2的錯誤訊息中,一直往下拉,會有一段訊息,告訴管理者要用一個指令來處理這個問題:
 若要繼續針對此磁碟區進行複寫,請使用 DfsrVolumeConfig 類別的 WMI 方法 ResumeReplication。 例如,在已提升權限的命令提示字元輸入下列命令: 

wmic /namespace:\\root\microsoftdfs path dfsrVolumeConfig where volumeGuid="xxxxxxxxxxxxxx" call ResumeReplication 








這時就是去cmd裡執行這個指令,但要記住,要用管理者權限去執行,另外就是這個指令要在volumeGuid="xxxxxxxxxxxxxx"前後各加1個單引號,不然執行後會出現錯誤訊息。
執行完指令後,DC2上會有另一個新的錯誤訊息,那個訊息就是跟DC1一樣的錯誤訊息,太多天沒同步。
這時就在DC2繼續下另一個指令:
wmic.exe /namespace:\\root\microsoftdfs path DfsrMachineConfig set MaxOfflineTimeInDays=xxxx
最後面xxxx是要看之前的錯誤訊息顯示此DC超過幾天沒更新,xxxx要大於這個天數,如果訊息是寫說大於100天沒更新,xxxx就要設101以上的數字才行。
設定完把DC2重開,之後就會同步了,兩個的SYSVOL資料夾的內容就會保持一樣。
在群組原則管理工具裡,也可以看到同步的狀況















參考資料
http://howdoicomputer.com/2013/02/technical-stuffsysvol-dfs-replication-annoyances/

2015年底又發生了這個事情,因為電力中斷造成不正常關機,DFS的復寫又有問題了,不過這次一直找不到錯誤訊息,後來才會發找錯地方了,錯誤訊息會在"應用程式及服務記錄檔"中,不是在常用的"應用程式"或"系統"裡面。





沒有留言:

張貼留言