組策略存儲
非本地組策略對象存儲在域控制器中,其配置信息分別存儲在 組策略容器( GPC ) 和 組策略模板( GPT ) 中。
GPC 是 活動目錄容器 ( cn= {guid}, cn=Policies,cn=System,dc= DomainName ,dc= DomainSuffix ) ,其保存有 GPO 的 屬性 ( GUID ,名稱, UNC 路徑等)、 版本 (域成員通過對比 GPO 的版本決定是否更新 GPO )、 狀態 (是否被啓用)等信息。
GPT 是域控制器上的 SYSVOL 共享目錄 ( %SystemRoot%/Sysvol/ Domain /Policies ) ,其下的子目錄保存着 GPO 的 模板文件( .adm ) 、 腳本文件( .vbs .js ) 、 程序分發腳本文件( .ass ) 、 安全設置( GptTmpl.ini ) 、 管理模板設置( Registry.pol ) 和 文件夾重定向設置( fdeploy.ini ) ;其通過 DFS 和 FRS 服務向域成員分發,並與域中的其他域控制器保持同步。
GPO 的 關聯信息 存儲於活動目錄的相關容器的 gPLink 屬性 中; 與 OU 相關聯的 GPO 信息存儲在目錄 ou= OUName , dc= DomainName ,dc= DomainSuffix 容器的 gPLink 屬性中; 與域相關聯的 GPO 信息存儲在目錄 dc= DomainName ,dc= DomainSuffix 容器的 gPLink 屬性中; 與站點相關聯的 GPO 信息存儲在目錄 cn=Sites,cn=Configuration , dc= DomainName ,dc= DomainSuffix 容器的 gPLink 屬性中。
與站點相關聯的 GPO 的 GPC 和 GPT 只存儲在創建它的那個域的 DC 上 (不會向站點中其他域的 DC 複製),站點中所有計算機(無論它們屬於哪個域)都會通過本域的 DC 中保存在目錄 Configuration 分區 中的信息獲取此 GPO 的 GPC 和 GPT 信息,從而應用此 GPO 。
組策略獲取
域成員登陸到域時,首先通過 LDAP 協議 查詢 活動目錄 ,從域成員所在的 站點、域、 OU 、子 OU 容器( gPLink 屬性) 中獲取相應的 組策略 GUID 列表 (按組策略作用規則) ;再通過 GUID 從 活動目錄容器 ( cn= {guid}, cn=Policies,cn=System,dc= DomainName ,dc= DomainSuffix )獲取相關的 組策略容器( GPC ) ;並從 GPC 屬性中獲取組策略的 版本 (通過比較版本決定是否更新此組策略)和 組策略模板( GPT ) 的位置( UNC 路徑 : // DomainName/Sysvol/ GUID )。
在獲得 GPT 的 UNC 路徑( DFS 路徑) 後,域成員通過 SMB 協議 聯繫 域控制器的 DFS 服務 確定 SYSVOL 共享目錄 的位置,域成員向域控制器請求 DFS 路徑 // DomainName /Sysvol 的參考(目標列表) ,域控制器會根據 DFS 默認目標選擇算法 生成目標列表 - 首先是與域成員相同站點的目標(如果有多個目標,按隨機排列),其次是與域成員不同站點的目標(如果有多個目標,按隨機排列);域控制器也可以使用 DFS 最小代價算法 生成參考-根據站點鏈接的開銷值對目標進行排序,但需要在域中每一臺域控制器上設置註冊表項 [HKLM/System/CurrentControlSet/Services/DFS] "SiteCostedReferrals"=0x1 ,再 重啓 DFS 服務 ; 注意 ,關於 SYSVOL 的 DFS 對象並不存在於活動目錄,也無法通過 DFS 管理工具( dfsgui.msc , dfsutil.exe )對其進行管理。
最後,域成員根據目標列表,通過 SMB 協議 訪問列表中第一個有效的目標,並從中下載所需要的 GPT ,應用組策略。
組策略複製
默認情況下,域中的 PDC 操作主控 負責組策略的更新,並通過 FRS 服務 將其同步到域中其他域控制器上。 注意 ,組策略只允許在同一域中的域控制器間進行同步,即使是與站點相關聯的組策略。