群組原則

探討群組原則的 ADM 和 ADMX 範本

Jeremy Moskowitz

 

摘要:

  • 群組原則範本的類型
  • 適當與不當的原則機碼
  • 檢視 ADM 範本
  • 將 ADM 轉換成 ADMX

說到 ADM 檔案,您不是愛死它們,就是恨死它們,又或許是愛恨交錯。這是因為這些必要的 ADM 檔案很容易混淆。現在又多了 ADMX 檔案,這種新格式看來只會讓混淆的情況變本加厲。就由我來揭開它模糊不清的面紗吧。

為什麼需要 ADM 檔案?

群組原則牽涉甚廣,只要深入探索群組原則物件編輯器 (GPOE),不難發現群組原則裡能用玩意還真不少:像是軟體限制原則、群組原則軟體安裝、資料夾重新導向,還有我們最常用的系統管理範本。使用者和電腦兩端都會顯示 [系統管理範本] 節點。不過,就跟您想的一樣,使用者只能利用使用者端的原則設定,而電腦只能利用電腦端的原則設定。

那麼系統管理範本裡面這些神奇的設定是從哪裡來的呢?每當有新的應用程式誕生,有幾項設定可以操控,而這正是 ADM 檔案派上用場的地方。ADM 檔案負責界定應用程式中有哪些區域已經準備好接受系統管理員定義的設定,不過它的能力有限,只能處理應用程式當中的登錄設定。還好應用程式可以將設定儲存在其他地方,像是 .ini 檔案、.js 檔案、.xml 檔案和資料庫。

內建 ADM 檔案

那麼 [電腦設定] | [系統管理範本] 和 [使用者設定] | [系統管理範本] 一開始就有的原則設定從何而來?如果您在 GPOE 中的 [系統管理範本] 上按一下右鍵,然後在 [使用者] 或 [電腦] 一端選取 [新增/移除範本],就會看到構成 [圖 1] 中的標準設定的預設範本。

[圖 1] 預設系統管理範本

[圖 1]** 預設系統管理範本 **(按影像可放大)

這些檔案的分析說明如下:

  • Conf.adm — NetMeeting® 設定。
  • Inetres.adm — Internet Explorer® 設定,包括連線、工具列和工具列設定。這些設定跟您按下 Internet Explorer 內部的 [網際網路選項] 功能表時出現的選項一樣。
  • System.adm — 作業系統變更和設定。絕大多數的電腦和使用者系統管理範本設定都是位於此 ADM 範本內。
  • Wmplayer.adm — Windows Media® Player 9 設定。
  • Wuau.adm — 控制您的用戶端對 Windows® Update 和/或 Windows Server® Update Services 伺服器的存取。

加入新的 ADM 範本檔案

利用 Microsoft 和協力廠商工具克服限制

ADM 和 ADMX 檔案可說是妙用多多,可用來向定義檔案添加內容,還能控制目標應用程式。不過 ADM 和 ADMX 檔案還是有罩門,尤其是遇到下列情況時就只能束手無策:

  • 無法進入 HKEY_LOCAL_MACHINE 和 HKEY_Current_User 以外的登錄 Hive。如果其他登錄 Hive 中有必須處理的項目,很抱歉,這已經超出 ADM 或 ADMX 檔案的能力所及,
  • 無法新增 REG_Binary 值。
  • 無法具體設定成「只執行一次」。
  • 無法具體設定成在重新整理群組原則時「總是重新套用」。
  • ADM 和 ADMX 檔案若寫入不當的機碼,會烙印在登錄上。因此,就算使用者離開管理領域 (SOM) 或是刪除 GPO,這個值仍在。

為了克服這些限制,Microsoft 與幾家協力廠商一同提供了解決方案。Microsoft 最近剛併購 DesktopStandard,並且以新品牌名稱推出了 DesktopStandard Registry Extension。有了這項工具,您可以在 GPOE 使用精靈介面,隨心所欲在目標機器上選擇特定登錄值進行管理。

DesktopStandard PolicyMaker 技術 (含 Registry Extension 工具) 現在改名為「群組原則喜好設定」,並且隨附在 Windows Server 2008 中。有了它,系統管理員可以針對一般無法透過群組原則的應用程式或 Windows 元件進行設定,還可以根據一套非常豐富的目標規則應用到具體的使用者或電腦。「群組原則喜好設定」已與 Windows Server 2008 中的群組原則管理主控台和進階群組原則管理徹底整合。

您可以從 Derek Melber 在本期《TechNet Magazine》中所著的<深入探討進階群組原則管理>文章進一步了解群組原則喜好設定。

方法很簡單,首先,取得您要使用的 ADM 範本。您可以使用從 GPanswers.com 下載的範本 (我們有一堆好玩的範本),或者利用 Microsoft 網站上適用於 Office 2003 或 Office 2007 的 ADM 檔案。

只要在 [系統管理範本] 上按滑鼠右鍵,然後按一下 [新增] (如 [圖 1]),就可以新增範本。在預設的情況下,Windows 會到 \Windows\inf 目錄尋找範本,不過您想把範本儲存在哪裡都行。有一點您可能不曉得:一旦從原始的存放點新增 ADM 範本,也會一併加進群組原則物件 (GPO) 的內容。

例如,為了編寫這篇文章,我到 GPanswers.com 下載了 nopassport.adm。我原先是把這個範本檔案放在 c:\temp 目錄裡面。這個 ADM 範本允許將使用者初次登入執行 Windows XP 機器時出現的「您想要加入您的 Passport 嗎?」訊息隱藏起來。

我另外下載了 Office 2003 ADM 範本並存放在 c:\temp 中。不過它們可不會乖乖留在原地。您在 [圖 2] 中可以看到我新增了 nopassport.adm 和 Word11.adm。您還會看到這些檔案被新增到 [新增/移除範本] 視窗中的預設範本清單。

[圖 2] GPO 中其他的 ADM 檔案

[圖 2]** GPO 中其他的 ADM 檔案 **(按影像可放大)

現在請看一下 GPO 本身檔案架構的部分 (也就是 \\domaincontroller\SYSVOL\domainname\Policies\GUID\ADM 目錄),您會看到 nopassport.adm 和 Word11.adm 檔案已經是 GPO 的一部分 (如 [圖 2] 所示)。

這些範本為什麼會新增到 GPO 呢?這樣您以後要是在其他管理站編輯這個 GPO,就可以看到 ADM 檔案內含的設定。

為什麼我看不到剛剛載入的內容?

ADM 檔案新增的內容有時候看得見,有時候卻無影無蹤,搞得許多系統管理員開始懷疑自己有沒有睡飽。這在 GPanswers.com 上的確是相當常見的問題,趁這個機會來給大家解釋一下。

您應該至少可以看到新增兩個範本的結果 (見 [圖 3]),會出現兩個新節點:[電腦設定] | [干擾] (和 nopassport.adm 有關) 和 [使用者設定] | [Microsoft Office Word 2003] (和 Word11.adm 有關)。如果您深入探索 Microsoft® Word 2003 設定,會看到像 [圖 3] 所示一大堆可設定的項目。

[圖 3] 可設定的群組原則設定

[圖 3]** 可設定的群組原則設定 **(按影像可放大)

但是為什麼在新的 [干擾] 節點裡面看不到這些設定呢?要了解這點,要先瞭解 ADM 範本可能影響「適當」與「不當」原則機碼的概念。

適當與不當原則機碼

Microsoft 說明文件指出,目前公認有四個登錄區是從登錄處理建立原則的適當位置:

  • HKLM\Software\Policies (電腦設定,慣用位置)
  • HKLM\Software\Microsoft\Windows\CurrentVersion\Policies (電腦設定,替代位置)
  • HKCU\Software\Policies (使用者設定,慣用位置)
  • HKCU\Software\Microsoft\Windows\CurrentVersion\Policies (使用者設定,替代位置)

Word 2003 ADM 檔案內含的設定會寫入上述的適當位置,不過 nopassport.adm 檔案寫入位置是不一樣:HKLM\Software\Microsoft\MessengerService\PassportBalloon。

GPOE 會先做安全把關,之後才允許您查看這些設定,因為設定要是沒能寫入這四個適當原則機碼,就會烙印在登錄上。所以,要是您摧毀了 GPO,就完全沒有辦法還原設定。舉例來說,假設您新增了 nopassport.adm 檔案,並選擇為網域內的每台機器隱藏「您想要新增 Passport 嗎?」快顯球形文字說明。結果,老闆認為有快顯球形文字說明其實還不賴。這時麻煩就大了,除非您專程把設定改回來,否則從現在開始所有的電腦基本上會一直採用這個設定。您是可以針對此目的新建一個自訂的 ADM,但是就跟我說的一樣,這條路可漫長得很。

相對來說,標準的原則設定都有預設值。萬一您摧毀了 GPO,該些設定將會還原成預設值。比方說,如果您選擇使用內建 ADM 範本來禁止對控制台的存取,隨後又改變了主意,則只要摧毀 GPO,便可重新存取控制台。幾乎所有附隨在預設 ADM 的設定都是如此 (只有少數罕見的例外)。

再次強調,有了自訂的 Passport 隱藏 ADM,放置原則設定的站台就不會啟用群組原則引擎,在刪除設定時把它還原。因此 Microsoft 為了保護您,(一開始) 乾脆不顯示這些烙印的原則設定,免得您自找麻煩!

查看 ADM 範本

查看 ADM 範本其實不難,編輯器預設並不會顯示設定,但是要搞定這一點很簡單。按一下 [系統管理範本] (在 [使用者] 和 [電腦] 任一區),然後選取 [檢視] | [篩選]。最後,清除 (是清除沒錯) [只顯示可以完全管理的原則設定] (可從 [圖 4] 中看到)。這麼一來,就會看到 [設定] 欄位下出現 [Passport 請求] 原則設定,這也可在 [圖 4] 中看到。

[圖 4] GPO 篩選

[圖 4]** GPO 篩選 **(按影像可放大)

編輯器中的 Windows XP 與 Windows Vista

您在剛剛顯示的原則設定中有注意到些微的差異嗎?在 [圖 5] 中,看一下 ADM 檔案現成附隨的原則設定的圖示。現在再看看 ADM 範本的原則設定的圖示,這個範本當中的設定並沒有寫入適當的原則登錄機碼,如 [圖 6] 所示。

[圖 5] 含圖示的 ADM 檔案

[圖 5]** 含圖示的 ADM 檔案 **(按影像可放大)

[圖 6] 使用不當機碼的圖示

[圖 6]** 使用不當機碼的圖示 **(按影像可放大)

這個藍紅相異的圖示可以幫助您認清楚哪些設定會烙印,而哪些不會。不過最後還是要看設定實際上是在何處履行它的職責而定。

順便一提,在 Windows Vista® 中,當您在 Windows Vista 管理站中使用 ADM 檔案時,情況會不太一樣。ADM 檔案會顯示在它們自己的節點中,稱為 [傳統系統管理範本 (ADM)] 節點,如 [圖 7] 所示。之前的紅點設定現在是顯示成含有向下箭號的捲動圖示 (但在編輯設定本身時,它會有一個小小的「不得輸入」標誌)。

[圖 7] 傳統系統管理範本節點

[圖 7]** 傳統系統管理範本節點 **(按影像可放大)

有藍點的設定 (就是那些寫入適當原則機碼的設定) 會顯示成小型的捲動圖示,如 [圖 8] 所示。

[圖 8] 顯示適當機碼的捲動圖示

[圖 8]** 顯示適當機碼的捲動圖示 **(按影像可放大)

那 ADMX 是在湊什麼熱鬧?

Windows Vista 和 Windows Server 2003 各自附隨了一個全新的內建群組原則管理主控台 (GPMC)。透過這個全新的 GPMC,您大可不必使用舊版的 ADM 檔案,以便挪出一些空間給較新的 ADMX 檔案。那我們為什麼要捨棄 ADM 格式呢?

還記得 ADM 檔案本身是放在屬於 GPO 一部分 (就是存在 SYSVOL 的那部份) 的群組原則範本 (GPT) 當中嗎?發生這種情況時,每次建立 GPO 都會在各個網域控制站 (DC) 上耗掉大約 4MB 的空間。另外還記得 ADM 檔案本身之所以必須放在 GPO 的 GPT 當中,是為了讓您在其他管理站重新編輯 GPO 嗎?沒有了 ADM 檔案,您就無法編輯包含在 GPO 當中的任何自訂設定。

所以說,ADMX 格式可以幫助我們化解這些問題。您不用再把東西直接存放在 GPO 當中,因此也不會碰到所謂的「SYSVOL 膨脹」 — 也就是形容 SYSVOL 必須儲存充滿 ADM 檔案的 GPO,而且必須負責將它們複製到每個 DC 中。為了應付這個問題,全新的 ADMX 標準可以利用所謂的「集中存放區」。集中存放區的工作是提供一個位置讓您放置新的 ADMX 檔案,這樣一來就不用將它們複製到各個 GPO 中。您現在可以跟 SYSVOL 膨脹說拜拜。集中存放區另外一個了不起的地方是,如果 ADMX 檔案有個新版定義,那麼所有的 Windows Vista 管理站便會立即使用更新的 ADMX 檔案。

如果您想要了解 ADMX 檔案的格式,尤其是建立和使用集中存放區的細節,我有兩個好康可以介紹給您。Darren Mar-Elia 在 2007 年 2 月號的《Technet Magazine》寫了一篇有關 ADMX 檔案格式性質的文章,內容相當豐富,對集中存放區也有簡短的說明 (technetmagazine.com/issues/2007/02/Templates)。另外我的最新作品《Group Policy:Management, Troubleshooting, and Security》中還有整段章節可供下載,可從 GPanswers.com 的「書籍資源」取得。

我之前說過,使用 Windows Vista 管理站時仍然支援 ADM 範本,但是集中存放區內並不支援 ADM 檔案。這可能會造成一些混淆,且讓我舉個例子來說明。

假設我剛從 Windows Vista 管理站建立了一個 GPO,然後改了些內建設定 (像是禁止存取控制台)。現在,再假設我想要新增一個自訂的 ADM 範本。完成後瞧瞧 GPO 的 GPT,從它裡頭的變化來加以說明。

若要新增 ADM 範本,您可以重複我稍早執行的一些步驟。只要開啟 GPOE,在 [系統管理範本] 上 (包含在 [使用者] 和 [電腦] 兩個節點裡) 按滑鼠右鍵,然後選取 [新增/移除範本] 即可。您可以在 [圖 9] 中看到新增的範本。

[圖 9] 檢視新增的範本

[圖 9]** 檢視新增的範本 **(按影像可放大)

為了實際查看包含在這個 ADM 範本裡面的設定,您必須進行我們稍早在 [圖 4] 中所做的動作。也就是按一下 [檢視] | [篩選]。最後,清除 [只顯示可以完全管理的原則設定]。然後關閉 GPOE,並返回 GPMC。[圖 10] 顯示我剛從 Windows Vista 管理站建立的 GPO 的 [詳細資料] 索引標籤 (請注意 GPO 的易記名稱)。查看 [詳細資料] 索引標籤,我就可以判定 GPO 的 GUID,這比較方便我在 SYSVOL 內找到特定的 GPO。

[圖 10] 預設系統管理範本

[圖 10]** 預設系統管理範本 **

一旦追蹤到 GPO 的 GPT (透過使用 GPO 的 GUID),便可以打開 GPO 的 ADM 目錄,並且看到這裡只有一個 ADM 範本 — 就是我手動匯入的那一個,如 [圖 11] 所示。這是因為 Windows Vista 機器已經不再依賴 ADM,既然基本上用不到,自然就不會將任何內容推入 GPO 裡面。不過,如果您手動匯入 ADM (就像我們剛剛做的),它將繼續依照舊版 Windows 的方式對待 ADM。

[圖 11] 手動匯入的 ADM 檔案

[圖 11]** 手動匯入的 ADM 檔案 **(按影像可放大)

這與 [圖 12] 中在執行 Windows XP 或 Windows Server 2003 的機器上建立的 GPO 有很明顯的不同。我剛才已經說過,如果 GPO 是使用 Windows Vista 之前的管理站建立的話,原始的 ADM 檔案便會推入 GPO 內。這個 GPO 想必是在 Windows XP 管理站上建立的,因為它裡頭塞滿了 Windows Vista 用不上的 ADM 檔案。

[圖 12] 在 Windows XP 上建立的 GPO

[圖 12]** 在 Windows XP 上建立的 GPO **(按影像可放大)

使用 ADMX 遷移程式工具將 ADM 轉換成 ADMX

所以說,Windows XP 使用的是 ADM 檔案,而 Windows Vista 則是使用 ADMX 檔案,不過,如果我們只有 ADM 檔案的話,Windows Vista 還是會繼續支援 ADM 檔案。但是,我們不能將 ADM 檔案硬塞到集中存放區,然後寄望 Windows Vista 管理站就能使用那個檔案。

為了利用集中存放區內的 ADM 內含設定,您必須將 ADM 檔案轉換成 ADMX,或是手動將 ADM 重新建立成 ADMX 檔案。所幸,有個兩全其美的下載。您可以從 go.microsoft.com/fwlink/?LinkId=103774 下載 ADMX 遷移程式工具 (實際上是包括 ADM 轉 ADMX 轉換程式工具和 ADMX 建立工具兩部份)。

您可以將 ADMX 遷移程式工具 MSI 檔案安裝在 Windows Server 2003、Windows XP 或 Windows Vista 上。安裝之後,就可以在 C:\Program Files\FullArmor\ADMX Migrator 目錄中找到應用程式。我要執行的命令列應用程式稱為 faAdmxConv.exe。但是因為路徑中不包含目錄,所以您必須位在該目錄當中才能執行應用程式。因此,我在使用這個工具時,都選擇將此目錄新增到我的 Windows 路徑中。www.computerhope.com/issues/ch000549.htm 上的文章說明如何在 Windows 中設定路徑。

我通常是建立一個暫時目錄,例如 C:\ADMtemp,並將來源 ADM 檔案複製到這裡。faAdmxConv.exe 有很多可用的參數,而轉換 ADM 檔案最簡單的方法是指定 ADM 檔案的名稱和輸出目錄。如果您之前已經把來源 ADM 檔案放到 ADMtemp,並新增 faAdmxConv.exe 到路徑中,只要執行「faAdmxConv nopassport.adm.」就行了 (結尾加句點是要指示用目前的目錄作為輸出)。如果沒有 (為這個目錄) 指定句點或其他明確的路徑,那麼輸出便會放到帳戶設定檔裡面的暫時目錄中。您可以在 [圖 13] 中看到三個命令:

[圖 13] ADMX 遷移程式工具

[圖 13]** ADMX 遷移程式工具 **(按影像可放大)

  • "dir" 命令用於查看 ADM 檔案
  • "faAdmxConv" 命令加上 ADM 的名稱和 .(句點) 表示目前的目錄
  • "dir" 命令用於查看輸出的檔案:nopassport.admx 和 nopassport.adml

將結果檔案直接傳入集中存放區之前,應該在離線執行的機器上先行測試。讓機器離線之後,把 ADMX 檔案複製到 C:\Windows\PolicyDefinitions 目錄,並把 ADML 檔案複製到語言特定的目錄。對於美國英文版,該目錄是 C:\Windows\PolicyDefinitions\en-us。您可以在 [圖 14] 中看到複製程序的範例。

[圖 14] 將 ADMX 檔案複製到集中存放區

[圖 14]** 將 ADMX 檔案複製到集中存放區 **(按影像可放大)

ADM 轉 ADMX 轉換程式工具最近已更新為 1.2 版。其中修正了一些轉換錯誤,也在轉換時期加入了許多實用的警告訊息。如果您曾試過 ADM 轉 ADMX 轉換程式工具,卻因為無法修正的錯誤訊息而放棄使用,建議您不妨再給 1.2 版一次機會。

最後,經過轉換的 ADM 檔案現在實際上是兩個檔案:ADMX (中性語言) 檔案和 ADML (特定語言) 檔案。此時您可以將結果檔案放入集中存放區,或在本機電腦上進行測試。不過,再次強調,為了實際查看包含在這個 ADMX 範本裡面的原則設定,您還是必須進行我們之前在 [圖 4] 中所做的動作。也就是說,您還是需要按一下 [檢視] | [篩選],然後清除 [只顯示可以完全管理的原則設定]。這是因為包含在此 ADMX 檔案的設定並不會寫入我稍早提到的其中一個適當原則機碼中。

一清二淨

理想的情況顯然是只使用 ADMX 檔案,並利用集中存放區。但要那麼做,您必須將目前所有 ADM 檔案都轉換成 ADMX,將所有管理站都轉換成 Windows Vista (或是 Windows Server 2008),然後發誓不會在 Windows Vista 之前版本的機器上編輯 GPO。

如果這三個步驟您都達成了,表示您幾乎達到無 ADM 檔案的境界。而這時,GPO 中的 ADM 檔案等於是佔用 DC 的 SYSVOL 空間罷了。到達 ADMX 極樂世界後,只要您願意,可以將 SYSVOL 中 GPO 的 GPT 所含的 ADM 全都刪除。沒錯:它們就像人體內退化的闌尾一樣,古早以前曾有一定的用途,現在已經風光不再,您要手動刪除或是用指令碼刪除都可以。不過別忘了,如果之前的步驟還沒完成就貿然刪除,後果可能不堪設想。因此,請先確定您可以將 ADM 檔案拋在腦後再行刪除。

如需有關 ADM、ADMX 和 ADML 檔案的詳細資訊,請參閱《管理群組原則 ADMX 檔案逐步指南》(go.microsoft.com/fwlink/?LinkId=105019) 和《ADMX 技術評估》(go.microsoft.com/fwlink/?LinkId=105032)。另外,也別忘了註冊 GPanswers.com 電子報 (GPanswers.com/newsletter),並透過部落格收到即時通知 (GPanswers.com/blog)。

Jeremy Moskowitz 為群組原則方面的 MCSE 和 MVP,他經營的 GPanswers.com 是有關群組原則的社群論壇。此外,他還舉辦一系列的群組原則密集訓練課程。他的最新著作為《Group Policy:Management, Troubleshooting, and Security》(Sybex,2007 年)。請造訪 www.GPanswers.com 與 Jeremy 聯絡。

© 2008 Microsoft Corporation and CMP Media, LLC. 保留所有權利;未經允許,嚴禁部分或全部複製.