群組原則101

**作者:**賴榮樞
http://www.goodman-lai.idv.tw

群組原則是一個可以讓系統管理員集中管控 Windows 用戶端的工具,只要透過遠端管理,即可控制整個企業內所有的 Windows 使用者與電腦環境。例如,限制使用者在電腦上所能執行的動作;指派使用者能使用何種軟體;指定電腦的安全設定等等。

本頁內容

群組原則簡介
群組原則的功能
使用群組原則的需求
群組原則物件
群組原則管理工具
GPO 的關聯對象
群組原則的運作機制
相關資源

群組原則簡介

在 Windows NT 時代,管理員可利用「系統原則」(System Policy) 來控制用戶端的環境,其中包括了電腦設定(例如,開機畫面的設定)與使用者設定(例如,能否執行「開始」功能表中的「執行」指令)兩部份。不過系統原則雖然立意良好,其實不太好用。系統原則可控制的項目不多,且只能針對網域、個人或群組來設定,此外,在移除系統原則時,容易產生問題。因此,系統原則這項管理工具並未普及。

因此微軟首先在 Windows 2000 中加入了「群組原則」(Group Policy) 這項管理工具,用來取代並加強系統原則的管理功能,Windows Server 2003 也繼續並強化群組原則的管理功能。群組原則的特色包括:

  • 提供更多的功能:群組原則一樣包含了電腦設定與使用者設定兩部份,但其中所能管理的設定項目遠超過系統原則。

  • 與 AD 整合:群組原則可套用在 AD 的站台、網域或組織單位 (Organizational Units),使用上比系統原則更具彈性。與 AD 整合,可說是群組原則的重要特性之一,我們稍後會再詳細說明群組原則如何套用至 AD 中的各種單位。

  • 寫入登錄資料庫 (Registry) 的方式不同:系統原則會將設定寫入登錄資料庫,造成永久的變更。因此當原則移除後,原有的設定仍然留在登錄資料庫中,無法復原成原來的狀態,必須透過再一次的修改才能復原。群組原則會將設定寫入登錄資料庫的特定部份。因此當原則移除後,很容易便將該部份的設定清除。

  • 套用時機較為靈活:系統原則只會在電腦開機時套用電腦設定,在使用者登入時套用使用者設定。群組原則除了在上述時間點套用外,可每隔一段時間即更新原則,毋須重新開機或登入。

群組原則的功能

群組原則到底可管理哪些事情呢?群組原則可分為「電腦設定」與「使用者設定」兩部份,分別可管理電腦與使用者,更精確一點的說法是,可分別管理電腦帳戶與使用者帳戶。我們可以將群組原則大致歸納出以下幾種功能:

  • 管理使用者的作業環境:群組原則可管理使用者的桌面、「開始」功能表等作業環境。例如,系統管理員可決定是否在使用者的桌面上顯示「網路上的芳鄰」圖示,或是指定使用者的「開始」功能表中是否會有「關機」、「執行」、「說明」、「尋找」、「設定」等項目。

  • 集中管控 Internet Explorer 的選項:群組原則可以讓管理者集中管控IE的選項,尤其可以協助使用者設定(或強制設定)IE的安全性、隱私權等選項。

  • 定義網域安全性設定:網域安全性設定包含網域中所有與安全相關的設定項目。例如,規定密碼最小長度、密碼有效期間的「密碼原則」;在輸入密碼錯誤時,設定保護性措施的「帳戶鎖定原則」;指定使用者票證或服務票證 (Ticket) 有效期間的「Kerberos 原則」;指定電腦之間是否以 IPSec 來傳輸資料的「IP 安全性原則」;設定稽核事件記錄的「事件日誌」原則等等。

  • 管理使用者的軟體環境:若要使用此功能,軟體方面必須有相對應的配合。群組原則預設可管理 Internet Explorer、NetMeeting 等軟體的環境。

  • 指派、安裝軟體:群組原則可以讓管理者集中管理 Windows 用戶端的軟體安裝、更新、移除,管理者可以強制指定或讓使用者選擇要在哪一台電腦安裝什麼軟體,或是哪一個使用者可以使用何種軟體。例如,若指定某個使用者可使用 Word,則無論該名使用者從哪一台電腦登入,都能使用Word軟體。

  • 限制軟體:群組原則新增了軟體限制原則,可以讓系統管理者識別並控制網域裡所執行的軟體。這可以防止用戶端電腦執行非必要或惡意軟體。

  • 設定指令檔:群組原則可設定電腦開機、關機時所須執行的指令檔,以及使用者登入、登出時所執行的指令檔;例如,管理員可在使用者登入時,利用指令檔開啟工時記錄表,提醒使用者填寫記錄。任何 Windows Script Host 所支援的指令語言皆可於此使用,包括 VBScript、JScript、PERL、DOS 批次檔(.bat 或 .cmd)等。

  • 漫遊使用者設定檔及資料夾重導:系統管理員可利用群組原則,集中存放在伺服器的漫遊使用者設定檔,可以讓使用者在不同的電腦登入網路,就維持一致的電腦操作環境。群組原則也可以讓系統管理員將使用者的資料夾重新導向至其他位置。例如,將每個使用者的「我的文件」資料夾重新導向至伺服器的某一資料夾。如此也可方便管理者備份使用者的重要資料。

  • 設定「離線檔案」、「磁碟配額」等新功能:「離線檔案」是指使用者會將伺服器上的檔案下傳至本機上,以便離線時仍可使用這些檔案。「磁碟配額」是指系統管理員可限制某個使用者在磁碟上所能利用的磁碟空間。系統管理員皆可透過群組原則來管理這些新功能。

  • WMI filter:管理者現在可以利用 WMI filter 過濾出 GPO 內容,例如可以從所有的機器當中,列出硬碟剩餘空間超過 200 MB 的電腦。

  • 更多的原則設定:Windows Server 200 包含了超過 200 項原則設定,並且可以藉由「管理範本」來管理這些設定。

使用群組原則的需求

當您發現群組原則那麼好用,是不是等不及要嘗試一下呢?先別急,請先檢查一下您的網路環境是否符合以下條件:

  • AD 網域:AD 網域是群組原則的基礎,必須先架設 AD 網域才能使用群組原則。

  • 作業系統:伺服器端必須是 Windows Server 2000 或 2003,用戶端也必須是 Windows 2000 以後的系統,例如 Windows 2000 Professional、Server 或 Windows XP Professional、Windows Server 2003。

  • 設定好網路環境中的 DNS:Windows Server 有許多服務都必須透過 DNS 才能正常運作,群組原則也不例外。DNS 的設定包括網域控制站與用戶端兩方面。在網域控制站方面,相關的服務必須登錄到 DNS 記錄中。這聽起來有點困難,不過您若是使用 Windows Server 的 DDNS(動態 DNS),則它會自動登錄網域控制站相關的服務記錄,完全毋須管理員介入。至於在用戶端方面,則必須將 DNS 指向正確的 DNS 伺服器,用戶端才能知道哪些電腦提供何種服務。網域控制站與用戶端的 DNS 設定必須都正確無誤,群組原則才能正常運作。

群組原則物件

群組原則的設定皆儲存在「群組原則物件」(Group Policy Object,以下簡稱 GPO)。GPO 可依儲存的位置分為兩類:

  • 本機 GPO(Local GPO):每台 Windows 2000 電腦,都會有儲存唯一的一個本機 GPO。如果電腦未加入網域(獨立伺服器或工作站),則本機電腦與使用者只會受本機 GPO 影響。如果電腦已加入網域,本機 GPO 仍然有作用,但是當設定與網域 GPO 衝突時,則以網域 GPO 的設定為準。

  • 網域 GPO(Domain GPO):網域 GPO 儲存在網域的網域控制站,且數目不受限制。GPO 可關聯 (Associate) 至 AD 的站台、網域或組織單位(Site、Domain、Organizational Units,以下簡稱 SDOU),影響其下的電腦與使用者。亦即某台電腦或某個使用者通常會受到數個 GPO 的影響,結合這數個 GPO 的設定,即形成特定電腦或使用者的群組原則。

GPO 是以 AD 物件的形式存在。換句話說,AD 的安全性功能皆可適用 GPO。此外,本機 GPO 與網域 GPO 的設定相似,但大多數的系統管理員會以網域 GPO 進行管理設定。

群組原則管理工具

除了原本的「群組原則物件編輯器」,微軟又提供了功能更多、更容易使用的「群組原則管理」(Group Policy Management Console,GPMC);GPMC 提供了一致的 GPO、站台、網域、OU 編修功能,可以用來管理 Windows Server 2003 或 Windows 2000 網域。

GPO 編輯器是 MMS 管理工具,它讓管理者得以方便的編輯存放在 GPO 內的原則設定。此外,也新增了可以在 Windows Server 2003 或 Windows XP(加上 SP2 和 Microsoft .Net Framework)執行的 GPMC(也是 MMC 管理工具),此工具整合了「AD 使用者和電腦」、「AD 站台和服務」、「原則結果組」(Resultant Set of Policy)、「ACL 編輯器」、「委任精靈」等管理工具。

GPMC 可以詳細列出 GPO 及其原則設定,並且包含了 GPO 選項的備份和還原功能,而且也可利用指令檔來完成 GPMC 所能提供的相關功能。管理者可以參考文末的相關資源來下載這個方便的群組原則工具。

GPO 的關聯對象

GPO 可關聯 (Associate) 至 AD 的站台、網域或組織單位(也就是先前所提及的 SDOU),並影響其下的使用者或電腦。以先前提及的「Default Domain Policy」GPO 就是關聯至網域。

GPO 關聯的設定很簡單,只要在任一站台、網域或組織單位上按滑鼠右鍵,執行「內容」,然後選取群組原則標籤頁,即可出現類似圖 2 的交談窗。按一下「新增」按鈕,即可用來設定該站台、網域或組織單位與現有 GPO 之間的關聯。

AD 的站台、網域或組織單位(Site、Domain、Organizational Units,以下簡稱 SDOU)與 GPO 之間的關係可以相當複雜。為了方便說明,在此假設 ABCD.COM.TW 網域中的 GPO 關聯設定。ABCD.COM.TW 網域中有兩層的組織單位,為了簡化,在此以單一網域橫跨兩個站台的情況為例;請參考圖 1:

圖 1:ABCD.COM.TW 的 GPO 關聯

圖 1:ABCD.COM.TW 的 GPO 關聯

從圖 1 我們可以發現 GPO 與 SDOU 之間有三種關聯方式:

  • 一對一:一個 GPO 關聯至一個站台、網域或組織單位。例如,A1 關聯至「南部」站台。

  • 一對多:一個 GPO 關聯至多個站台、網域或組織單位。例如,A5 關聯至「高雄」與「桃園」兩個組織單位。

  • 多對一:多個 GPO 關聯至一個站台、網域或組織單位。例如,A2 與 A3 關聯至 ABCD.COM.TW 網域。在多對一的關係中,GPO 也可設定先後順序,此順序會影響 GPO 之間結合時的優先權。

群組原則的運作機制

由於 AD 中可能會有多個 GPO,這些 GPO 如何結合而形成使用者與電腦的群組原則呢?在此將說明多個 GPO 結合的機制。

原則繼承

當某個 GPO 關聯至 SDOU 時,該 GPO 中的設定便會套用至 SDOU 中所有的電腦與使用者。以圖 5 為例,A2 關聯至 ABCD.COM.TW 網域,因此 A2 中的設定會影響網域中所有的電腦與使用者。A4 則關聯「南區」組織單位,因此 A4 中的設定會影響「南區」與「高雄」兩個組織單位中的電腦與使用者。

我們也可以從電腦或使用者的角度來看 GPO 如何套用。例如,某個使用者隸屬於「高雄」組織單位,則 A1、A2、A3、A4、A5 等 GPO 皆會套用到該名使用者。換言之,下層單位會繼承關聯至上層單位的 GPO 設定。

GPO 在套用至 SDOU 中的電腦或使用者時,必須注意以下兩點:

  • 組織單位的階層關係:電腦或使用者必然隸屬於某一個站台與某一個網域,因此關聯至站台與網域的 GPO 必然會套用其下的電腦與使用者。

至於組織單位則較為複雜。由於組織單位在網域中可形成階層式的關係,因此,當 GPO 關聯至某一組織單位時,除了會套用至該組織單位的電腦或使用者外,也會套用至下層組織單位的電腦或使用者。在上例中,當使用者隸屬於「高雄」組織單位時,除了關聯至「高雄」組織單位的 A5 會套用到使用者,關聯至上層「南區」組織單位的 A4 也會套用到使用者。

  • 權限問題:Windows 2000 是以網域作為安全性界限,亦即系統管理員的權力範圍僅限於網域內的物件。從這個觀點來看,GPO 可關聯至網域與組織單位相當合理。不過,當系統管理員要將 GPO 關聯至站台時卻會面臨一個問題:站台可能跨越多個網域。在此情況下,管理員並無其他網域的控制權,因此當管理將某個 GPO 關聯至站台時,僅會影響站台中屬於該管理員所管轄的網域,並不會影響站台中的其他網域。當然,若是一個網域中包含多個站台,則不會有上述權限的問題。

GPO 套用順序

當多個 GPO 會套用至電腦或使用者,套用順序必須遵守以下規則。這些規則可說是群組原則運作的精神所在,讀者務必牢記這些規則,方能妥善地規劃 AD 的 GPO。

  • 依「站台→網域→組織單位」的順序來套用:當多個 GPO 關聯至 SDOU 時,對於電腦或使用者而言,首先會套用關聯至站台的 GPO,接著套用網域的 GPO,然後從上層組織單位的 GPO 開始,逐一套用每個組織單位的 GPO。

  • GPO 清單中排在下面的先套用:若 GPO 與 SDOU 有多對一的關係,則是依從下往上的順序來套用。以圖6為例,會先套用 A3,再套用 A2。讀者是否覺得有些奇怪,怎麼不是排在上面的 GPO 先套用?別急,後面就知道答案了。

  • 電腦設定與使用者設定分開套用:每個 GPO 都可分為「電腦設定」與「使用者設定」兩部份。「電腦設定」會在電腦開機時套用至電腦;「使用者設定」則是在使用者登入時套用至使用者。由於使用者帳戶與電腦帳戶可能隸屬於不的 SDOU,因此,使用者與電腦可能分別套用不同的 GPO。

除了在開機與登入的時間點,系統管理員也可分別設定「電腦設定」與「使用者設定」的更新期間,即使電腦未重新開機或使用者未重新登入,也可變更群組原則的設定。在更新時,「電腦設定」與「使用者設定」也都是分開套用。

接下來我們就以上述三個套用順序的規則,應用在圖 5 的例子上。假設隸屬於「桃園」組織單位的X使用者出差到高雄,要從隸屬於「高雄」組織單位的Y電腦登入網域,則 GPO 套用的順序如下:

Y 電腦在開機時會依序套用 A1、A3、A2、A4、A5 等 5 個 GPO 中「電腦設定」的部份。

當 X 使用者按「Ctrl+Alt+Del」鍵,輸入使用者名稱與密碼後,則會套用 A3、A2、A5 等 3 個 GPO 中「使用者設定」的部份。

GPO 的優先權

當多個 GPO 套用至電腦或使用者時,必須結合這些 GPO 中的設定。當設定項目衝突時,則以較高優先權 GPO 的設定為準。

按照 Windows 2000 的設計,較晚套用的 GPO 會有較高的優先權。亦即,當設定項目衝突時,後來套用的 GPO 會覆蓋先前套用 GPO 的設定。因此,關聯至組織單位的 GPO 會有較高的優先權,其次為網域的 GPO,站台的 GPO 其優先權最低。這也解釋了為什麼在多對一關係中排在下面的 GPO 會先套用,因為如此排在上面的 GPO 才會有較高的優先權。

上述規則並不適用於「電腦設定」與「使用者設定」的套用情形。在整個開機/登入過程中,是先套用「電腦設定」再套用「使用者設定」。換句話說,當「電腦設定」與「使用者設定」發生衝突時,後來套用的「使用者設定」應該有較高的優先權。可是,事實並非如此。按照微軟的說法,為了遵循慣例,當「電腦設定」與「使用者設定」發生衝突時,「電腦設定」會有較高的優先權。頭痛吧!不過,讀者也不必過份擔心,因為「電腦設定」與「使用者設定」重覆的項目不多,發生衝突的機率其實不太高。

相關資源