Group-Policy

組策略:映射驅動器載入失敗、Windows Server 2012 Active Directory 和 Windows Pro 10

  • September 5, 2019

網路:

  • 多站點域。
  • 每個站點有 2 個本地(現場,相同子網)Windows Server 2012 R2 域控制器。
  • Windows 站點和服務中正確定義了站點。
  • 每個站點的 DNS 記錄只定義了兩個本地 DNS 伺服器。
  • 所有客戶端都是帶有所有更新的 Windows 10 Pro 64 位。
  • 這兩個網路都是在 Cisco 交換機上執行的全千兆網路,具有經過認證的 CAT6 佈線。
  • 每個站點都有一個本地(現場、同一子網)Synology 儲存伺服器。
  • 作為組策略的一部分,兩個網路驅動器映射到 Synology 伺服器上的共享。

連接診斷:

  • dcdiag /test:dns /v /c /e``PASS所有伺服器和所有測試的報告
  • echo %logonserver% 總是返回一個本地 DC
  • nltest /dsgetdc 始終顯示本地 DC 和正確的本地 IP
  • 在站點 A 上,兩個網路驅動器都出現了,故障機率可能為 0.5%(我經歷過幾次引導驅動器無法正確顯示的情況)。

問題:

在站點 B,網路驅動器可能有 30% 的時間無法顯示。有時它是兩個驅動器,有時它是一個或另一個。該問題主要是隨機的,並且似乎不跟隨任何特定使用者或工作站。

症狀:

**在出現問題的 30%**的時間裡:

  • 5% 的時間 agpupdategpupdate /force將解決問題,驅動器將立即出現。如果gpupdate在第一次嘗試時不起作用,那麼之後它幾乎永遠不會起作用(對於那個啟動)

  • 5% 的時間 agpupdategpupdate /force將導致只出現一個驅動器

  • 20% 的情況下,agpupdate無法解決問題,但下次啟動就可以了

  • 50% 的情況下,agpupdate無法解決問題,但在一次又一次 gpupdate啟動後,驅動器會出現

  • 20% 的時間,在驅動器出現之前需要多次重新啟動(並且gpupdate每次啟動)。有時是 2 次啟動,但我很少重啟電腦,有時會在驅動器出現之前 6 或 7 次。

    • 在這最後 20% 的時間裡,我有時會從 gpupdate 過程中得到錯誤。
    The processing of Group Policy failed. Windows attempted to read the file 
    \domain\SysVol\domain.local\Policies{5898270F-33D0-41E8-A516-56B3E6D2DBAB}\gpt.ini 
    from a domain controller and was not successful. Group Policy settings may not be 
    applied until this event is resolved. This issue may be transient and could be 
    caused by one or more of the following:  
    
    a) Name Resolution/Network Connectivity to the current domain controller.  
    b) File Replication Service Latency (a file created on another domain controller 
       has not replicated to the current domain controller).  
    c) The Distributed File System (DFS) client has been disabled.
    
    • 這個錯誤實際上(通常但並非總是)是一個兆頭,因為通常在我收到此錯誤後,下一次“gpupdate”或下一次啟動和“gpupdate”將使驅動器重新出現。

駕駛地圖診斷:

  1. gpresult /h gpresult.html顯示:
Drive Map (Drive: X)
The following settings have applied to this object. Within this category, settings nearest the top of the report are the prevailing settings when resolving conflicts.
  X:
   Winning GPO  DriveMaps 
    General Settings
     Result: Success
  1. 我已啟用組策略環境調試日誌記錄(根據 http://social.technet.microsoft.com/wiki/contents/articles/4506.group-policy-debug-log-settings.aspx創建的系統資料庫項[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Diagnostics] "GPSvcDebugLevel"=dword:00030002)。日誌文件c:\Windows\debug\UserMode\gpsvc.log沒有向我顯示任何明顯的錯誤,我也無法通過Google找到太多幫助。以下是我收到的一些有趣的消息:
GPSVC(158.33c) 23:33:24:921 CheckGPOs: No GPO changes but extension Group Policy Drive Maps's returned error status 183 earlier.  
GPSVC(158.c24) 23:38:12:203 ProcessGPOs(Machine): Extension Group Policy Drive Maps skipped with flags 0x110057. 
GPSVC(158.157c) 23:08:08:216 ProcessGPOs(User): Extension Group Policy Drive Maps ProcessGroupPolicy failed, status 0xb7.
  1. 我已啟用 Drive Maps 的組策略首選項調試(根據http://blogs.technet.com/b/askds/archive/2008/07/18/enabling-group-policy-preferences-debug-logging-using-the -rsat.aspx設置Drive Map Policy Processing並在 )的屬性中Enabled打開。日誌文件沒有返回任何錯誤。Event Logging``\Computer Configuration\Policies\Administrative Templates\System\Group Policy\Logging and tracing``C:\ProgramData\GroupPolicy\Preference\Trace\User.log
2015-11-21 17:47:38.849 [pid=0x22c,tid=0xcd0] Starting class <Drive> - X:.
2015-11-21 17:47:38.864 [pid=0x22c,tid=0xcd0] Adding child elements to RSOP.
2015-11-21 17:47:38.880 [pid=0x22c,tid=0xcd0] Beginning drive mapping.
2015-11-21 17:47:38.896 [pid=0x22c,tid=0xcd0] Set user security context.
2015-11-21 17:47:38.927 [pid=0x22c,tid=0xcd0] User does not have a split token.
2015-11-21 17:47:38.927 [pid=0x22c,tid=0xcd0] Drive doesn't exist (full token).
2015-11-21 17:47:39.114 [pid=0x22c,tid=0xcd0] Connected with access name x:.
2015-11-21 17:47:39.146 [pid=0x22c,tid=0xcd0] SendNotification Session ID is 2.
2015-11-21 17:47:39.146 [pid=0x22c,tid=0xcd0] SendNotification discovered drive mask of 8388608.
2015-11-21 17:47:39.161 [pid=0x22c,tid=0xcd0] Set system security context.
2015-11-21 17:47:39.161 [pid=0x22c,tid=0xcd0] SendNotification drive event broadcast sent.
2015-11-21 17:47:39.161 [pid=0x22c,tid=0xcd0] Set user security context.
2015-11-21 17:47:39.177 [pid=0x22c,tid=0xcd0] SendNotification to Shell.
2015-11-21 17:47:39.177 [pid=0x22c,tid=0xcd0] Set system security context.
2015-11-21 17:47:39.177 [pid=0x22c,tid=0xcd0] Properties handled.
2015-11-21 17:47:39.177 [pid=0x22c,tid=0xcd0] Handle Children.
2015-11-21 17:47:39.192 [pid=0x22c,tid=0xcd0] EVENT : The element of user preferences 'X:' of the group policy object 'DriveMaps {06FEB8B9-632C-4A1C-A7C9-5A05E1041BEE}' was applied correctly.
2015-11-21 17:47:39.192 [pid=0x22c,tid=0xcd0] Completed class <Drive> - X:.
  1. 我還有幾個 netmon 擷取的驅動器無法載入的登錄資訊,但是擷取的資訊太多,我不知道從哪裡開始。
  2. 如果在登錄失敗後,我嘗試直接瀏覽到\\SynologyServer\ShareName\,則共享始終會立即載入而不會出現任何錯誤。沒有連接或權限問題的跡象。

問題:

為什麼這個問題在一個站點上如此頻繁地發生,而在另一個站點上卻幾乎從未發生過,因為它們都在同一個域中,具有相同的策略,並且執行的是相同的軟體?

我能想到的唯一軟體區別是,在站點 A,所有電腦都執行 Windows 8.1 Pro 併升級到 Windows 10 Pro,而在站點 B,所有電腦都全新安裝了 Windows 10 Pro。

由於我幾乎沒有代表,我還不能提問,所以我會在發布答案的同時嘗試提問,希望我不會被罐頭。;)

我將假設您已通過針對另一個 Windows 系統上的“傳統”UNC 共享測試此 GPO 來確保此案例的 GPO 部分不存在問題。在我看來,重要的缺失資訊是 Synology 設備是否已加入域。許多基於 Linux 的 NAS 設備(如 Synology、QNAP 等)都嵌入了允許它們參與 Active Directory 域的軟體組件。此設備是否參與域會影響解決方案。

話雖如此,我的網路中有遠端設施與 T1 電路互連。由於系統要求,我們要求在所有系統上使用 Acronis 映像備份。因此,通過 T1s 遠端備份 Windows 工作站的多 GB 映像是不可能的。因此,我們在每個本地網段上放置了 Drobo NAS 單元來克服這個問題並給我們一些容錯能力。這些特定的 Drobo 沒有參與 AD 域的能力。

要按照配置啟用 UNC 共享,我們必須設置兩個主要內容。首先,我們在 DNS 伺服器上創建了靜態 DNS 條目以允許正確的名稱解析。其次,我們不得不“放寬” DISA 通常推薦給大多數域成員的兩項政策。我們只是放鬆了備份伺服器上的這些策略,以及在“慢速連結”站點上備份的工作站,因為這些是唯一需要訪問相應共享的系統:

  • 電腦配置\Windows 設置\安全設置\安全選項:

    • Microsoft 網路客戶端:數字簽名通信(始終)= 禁用
    • Microsoft 網路客戶端:向第三方 SMB 伺服器發送未加密的密碼 = 已啟用
    • Microsoft 網路伺服器:對通信進行數字簽名(始終)= 已禁用

“協商後對通信進行數字簽名”的 GPO 仍設置為已啟用,從而減輕了一些涉及的安全風險。一旦我們啟用了這些更改,就可以立即通過 UNC 路徑訪問共享,而以前這是不可能的。

這就是為什麼我之前說取決於你的 NASes 是否可以參與域來確定解決方案的路徑。如果他們可以參與,那麼 DNS 和“SMB”組策略對您來說應該不是問題,因此解決方案將在別處。如果他們不能參與(比如我的 NASes),那麼這可能是您的解決方案。

好吧,我找到了這些執行緒,這聽起來與我的情況幾乎相同:

Windows 10:啟動後無法直接應用組策略,稍後成功

Windows 8.1 / 10 GPO 映射驅動器無法連接

顯然,此問題是由 Microsoft 預設在 Windows 10 中啟用 UNC Hardening 引起的。這是為了修復一個安全漏洞,但顯然無意中導致映射驅動器安裝不可靠。毫不奇怪,微軟似乎還沒有解決這個錯誤(或者他們有嗎?)

這也解釋了為什麼我在站點 A 沒有問題。由於那裡的所有電腦都已從 Windows 8.1 Pro 升級到 Windows 10,我假設有關 UNC Hardening 的設置從 Windows 8 轉移並保持關閉,而新的電腦安裝 Windows 10 時使用了預設的 UNC Hardening on .

我還沒有真正嘗試過這個解決方案,但它似乎太適合我的症狀,不相關。我擔心一種解決方案會使我的系統面臨更多安全威脅,因此我正在尋找替代方案。我不喜歡通過組策略進行設置的想法,我想知道是否可以僅通過手動編輯系統資料庫來關閉 UNC Hardening。在決定下一步做什麼之前,我想先在幾台電腦上進行試驗。但是,我目前只能找到通過 GPO 或 GPP 更改設置的步驟……

有什麼想法嗎?

引用自:https://serverfault.com/questions/738085