 TechNet Magazine January 2008

TechNet Magazine January 2008

System Center: 使用 Virtual Machine Manager 2007 完美掌控

虛擬化可以幫組織統合資源、節省開支。不過，要是開始實作大量的虛擬機器，就一定得有簡便的方法來管理這些機器。本文會指導您如何安裝 Virtual Machine Manager，以及使用它從集中式介面執行系統管理工作。

Edwin Yuen System Center: 利用 Data Protection Manager 2007 進行更完善的備份

Data Protection Manager 的最新版本推出許多新功能，它提供一套強大且富彈性的解決方案，方便您管理備份。本文概述了 DPM 如何從 Exchange 和 SQL Server 到分公司及 SharePoint 站台，提供萬全的保護。

Calvin Keaton System Center: 線上服務使軟體清查更簡單

軟體資產管理對各種規模大小的企業而言，是必不可缺的工作。但就企業現在所購買和部署的軟體數量來說，要掌控這些資產似乎是不太可能。了解 Microsoft 全新的 Asset Inventory Service 如何幫上忙。

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

ADM 檔案既是必要卻往往容易混淆。不過，可別讓這拖累了您對群組原則所下的功夫。透過這個導引式的教學課程，您將更深入了解 ADM 檔案的內容與全新的 ADMX 格式、可利用哪些工具進行控制，還有要要如何善用這些檔案。

Jeremy Moskowitz 群組原則: 最佳化群組原則效能

群組原則各有不同，而了解各種類型當中的差異將有助於微調系統上的效能。一同來探索整合型和功能型 GP，學習如何處理群組原則，以及了解當群組原則變更時會發生什麼事。

Darren Mar-Elia 群組原則: 深入探討進階群組原則管理

AGPM (或稱進階群組原則管理) 是一個非常好用的工具，它使用群組原則物件的方式與其他工具不同。它現在開放供 Microsoft 軟體保證方案的會員使用，瞧瞧如何以 AGPM 離線編輯 GPO、委派系統管理，以及追蹤變更等，還有更多。

Derek Melber 編輯的話: 收服一個憤世嫉俗的人

Joshua Hoffman 讀者來信: 讀者有話直說

工具箱: 適合 IT 專家的新產品

Greg Steen Exchange 佇列問題與解答: 新增語音提示，選擇 PBX，以及其他

您有 Exchange 整合通訊方面的問題嗎？請放心，您的問題我們已經有解答。在接下來的這個 Exchange 佇列問答集當中，我們就要針對整合通訊，討論如何實作電話與傳真功能、提供高可用性，以及安裝語音提示等主題。

Seema Rahman 公用程式焦點: Windows 輕鬆傳輸小幫手

這個免費工具可以簡化將重要應用程式從 Windows XP 移轉到 Windows Vista 的程序。

Lance Whitney The Cable Guy: Windows Server 2008 的 DNS 增強功能

Windows Server 2008 包含許多 DNS 伺服器增強功能。本文將深入介紹這些更新如何加速名稱解析、提升 IPv6 支援，並增加 DNS 系統管理的彈性。

Joseph Davies Windows PowerShell: 阻隔惡意程式碼

雖然在設計 Windows PowerShell 期間，安全性是非常重要的考量，但是就像其他軟體一樣，Windows PowerShell 仍有可能受到惡意程式碼的侵擾。接下來我就要給您幾個建議，幫助您選擇一個更能夠保護系統的執行原則。

Don Jones 嗨，Scripting Guy！: 規則運算式不出錯

想要尋求一種方法來避免犯錯嗎？從驗證做起是不錯的想法。了解如何使用規則運算式在指令碼中執行字元模式比對。

The Microsoft Scripting Guys 安全性監控: 跳島攻擊：廠商贈品袋的入侵誘惑

安全性威脅不光是來自電子郵件和有惡意企圖的網站。看看攻擊者如何利用 USB 隨身碟以及一些簡單的社交工程，奪取您整個網路的存取權，並且了解您如何讓網路更安全，藉此對抗這項威脅。

Jesper M. Johansson 桌面檔案: 透過 Windows SteadyState 管理公用電腦

全新的 Windows SteadyState 工具組可幫助您在共用的環境中提升安全性，並簡化 Windows XP 系統的管理工作。不妨參加導引式教學課程來了解箇中的方法。

Wes Miller 現場筆記: 一天最重要的工作

當您在進行某項專案時，一定要撥出時間來思考、規劃以及安排優先順序，千萬不要低估這個動作的重要性。

Eric N. Bush Windows 機密文件: 提醒我別再重蹈覆轍

在可靠的隨插即用裝置問世之前，進行硬體偵測是異常艱困的工作。一起來瞭解箇中原因。

Raymond Chen


 System Center: 使用 Virtual Machine Manager 2007 完美掌控
System Center Edwin Yuen

使用 Virtual Machine Manager 2007 完美掌控
摘要:
  • System Center Virtual Machine Manager 2007 的主要功能
  • 如何安裝 VMM
  • 將實體或虛擬機器轉換成 VM

System Center Virtual Machine Manager 2007 是一項全新的解決方案，可提供管理整個虛擬基礎架構所需的整合介面。Virtual Machine Manager (VMM)
可管理現有的 Microsoft® Virtual Server 2005 安裝，也可在新的虛擬機器 (VM) 主機上安裝 Virtual Server 2005 R2 SP1。藉由 VMM，傳統的 Virtual Server 2005 系統管理工作如今可以經由集中式介面更有效地執行，還可從多個 Virtual Server 安裝進行管理存取動作。
此外，VMM 還為 Virtual Server 引入新功能，包括實體對虛擬 (P2V) 轉換、將 VMware 虛擬機器磁碟格式 (VMware Virtual Machine Disk Format，VMDK) 轉換成虛擬伺服器虛擬硬碟 (Virtual Server Virtual Hard Disk，VHD) 的虛擬對虛擬 (V2V) 轉換，以及透過虛擬基礎架構物件的集中式程式庫，從範本與預先設定 VHD 進行快速 VM 部署。
在下文中，我將探討 VMM 以及 VMM 為 IT 系統管理員提供的強大功能集。接著我會說明建立 VMM 安裝的相關需求及步驟。最後，我將深入剖析 VMM 幾個更有趣的功能，並透露一些實用秘訣，幫助您開始著手。

Virtual Machine Manager 2007 簡介
System Center Virtual Machine Manager 2007 是一項獨立的應用程式，專為執行 Microsoft Virtual Server 2005 的虛擬機器提供集中式的企業級管理。身為 System Center 系列產品之一，Virtual Machine Manager 可與其他 System Center 產品整合，提供端對端的實體與虛擬基礎架構管理。[圖 1] 顯示 Virtual Machine Manager 的各項元件，以及 VMM 與 Virtual Server 主機之間的關聯。
左邊的方塊代表 VMM 伺服器，而右邊則代表虛擬機器主機。您也可以根據所需將 VMM 元件安裝在個別伺服器上，藉此提高效能與延展性。在本文中，我們將按照 [圖 1] 中的模型，也就是所有的核心 VMM 元件都安裝在同一台電腦中。位於左邊中央的 Virtual Machine Manager 服務正是 VMM 產品的重心。其上有三個與服務連接的不同介面：Windows PowerShellTM 介面、系統管理員主控台以及包含委派佈建 (Delegated Provision) 管理的自助入口網站。支援 VMM 的是 Microsoft SQL Server® 2005 資料庫 (您可以使用完整安裝的 SQL Server 或 SQL Server 2005 Express Edition) 和集中式程式庫，此一程式庫是虛擬基礎架構元件的檔案共用。
[圖 1] System Center Virtual Machine Manager 2007 架構
[圖 1] System Center Virtual Machine Manager 2007 架構
[圖 1] 右邊代表 VMM 所管理的 Virtual Server 2005 R2 虛擬機器主機，底下則是主機作業系統 (本例中為 Windows Server® 2003 R2)。VMM 會在虛擬機器上安裝代理程式，以便輔助 VMM 與 Virtual Server 2005 R2 之間的通訊。這是在實體主機上進行的單一安裝，並不會在 VM 或虛擬作業系統上安裝。如果虛擬伺服器並未安裝在主機機器上，VMM 可以在主機加入受管理伺服器清單時，自動執行安裝。
身為 System Center 系列產品的一份子，Virtual Machine Manager 在系統管理員主控台上使用新的 System Center (或 Outlook® 風格的) 介面 (相對於傳統的 MMC 嵌入式管理單元)。VMM 系統管理員主控台 (見 [圖 2]) 採用 Microsoft .NET Framework 2.0 來建置，而且是搭建在 Windows PowerShell 1.0 的基礎上。事實上，任何在系統管理員主控台中執行的動作其實都會呼叫相關的 Windows PowerShell 命令。因此，在系統管理員主控台中呼叫的命令或函數也可以直接從 Windows PowerShell 的命令列叫用。
[圖 2] 顯示受管理虛擬機器的 VMM 系統管理
[圖 2] 顯示受管理虛擬機器的 VMM 系統管理
系統管理員主控台中的每個精靈也都有一個 [檢視指令碼] 按鈕，可針對要執行的命令顯示相關的 Windows PowerShell 指令碼，這點對於剛開始學習 VMM 相關的 Windows PowerShell 有很大的幫助。一旦您習慣搭配使用 Windows PowerShell 與 VMM，就能透過 VMM 用指令碼編寫大量動作。
Virtual Machine Manager 經過精心設計，能為 IT 系統管理員提供三大優點：最大化資源、提高靈活度、重複運用現有技術。這些優點來自 VMM 本身具備的多項功能與特點。首先，VMM 可以將實體伺服器轉換成虛擬機器 (這項作業稱為 P2V 轉換，可在不重新安裝的情況下將現有的實體機器合併為虛擬機器)，從而充分運用資源。在轉換硬體使用率較低的機器時，這項功能別具意義，因為您可以將數部同類機器放在單一的實體硬體上。這對於像是裝有舊軟體且鮮少使用，但因為每年要執行一次而需要維護的機器 (例如監管會計軟體)，就特別有用。與 System Center Operations Manager 2007 一同使用時，VMM 還能幫忙製作「伺服器合併候選者」(Server Consolidation Candidates) 報告，方便您瞭解實體基礎架構中有哪些機器為 P2V 的可能候選者。
如果您已經有虛擬機器是使用 VMware 的 VMDK 格式，VMM 具備執行 V2V 轉換的功能，可將現有的 VMDK 轉換成 VHD 格式。這樣就能迅速準備好執行 Virtual Server 2005 環境。
就像任何部署程序一樣，無論是全新部署或經由轉換而開始部署，VMM 都會使用稱為「智慧定位」(Intelligent Placement) 作業，將 VM 部署到虛擬機器主機。藉由「智慧定位」，VMM 會查詢所管理的所有虛擬機器主機，擷取幾個有關這些主機的資源可用性的參數，然後傳回要部署 VM 的建議主機加權清單。如 [圖 3] 所示，系統管理員接著可選擇接受建議、調整演算法以符合特定需求，或只是在自己選擇的伺服器上部署 VM。「智慧定位」所提供的虛擬基礎架構統整式檢視和主機建議，可大幅減輕關於 VM 部署的重擔。
[圖 3] 智慧定位提供部署最佳 Vitual Server 主機的建議
[圖 3] 智慧定位提供部署最佳 Vitual Server 主機的建議
其他提供絕佳優勢的 VMM 功能還包括集中式程式庫和用於委派佈建的自助入口網站。[圖 4] 顯示的程式庫為建置虛擬基礎結構所需的所有元件提供一個集中存放區，其中包括預先建立和部署就緒的 VHD、包含 OS 與硬體設定的範本、ISO 檔案、指令碼以及設定檔。從這些元件可以建立和部署新的 VM，而且使用範本與設定檔可以同時標準化各個 VM 上的硬體與軟體設定。VMM 也支援分散式程式庫，允許元件儲存在遠端位置，在遠端位置內部保持大型檔案傳輸並持續集中管理這些元件。
[圖 4] VMM 的程式庫包含虛擬基礎結構所需的建置區塊
[圖 4] VMM 的程式庫包含虛擬基礎結構所需的建置區塊
自助入口網站是一個與 VMM 服務和 IIS 安裝整合的網站。這個入口網站會向具備 Active Directory® 授權的使用者及群組提供存取 VM 的權限，至於可用功能有哪些，要看為該使用者或群組所建立的原則。這些功能的範圍涵蓋檢視和存取 VM 的能力、執行和關閉 VM 的能力，乃至於根據特定委派資源建立全新 VM 的能力無所不包。
系統管理員建立的自助原則可針對 Active Directory 使用者及群組、特定虛擬機器主機或主機群組，以及特定 VM 和範本來授予指定功能。自助入口網站可讓系統管理員安全地委派功能給使用者。若少了這項功能，系統管理員就必須授權使用者存取系統管理員主控台來管理其 VM，或者必須讓使用者針對每項功能提出要求，就執行 VM 啟動和重設這類動作來說，無疑是造成電子郵件或支援電話沉重的負擔。

Virtual Machine Manager 安裝
VMM 目前是在 Active Directory 網域 (或受信任的網域) 以及使用 VMM 周邊網路支援的非網域主機內部，從 Window Server 2003 SP1 (以及更新版本) 來管理 Virtual Server 2005 (以及更新版本) 安裝。在桌上型電腦作業系統 (如 Windows® XP) 上進行 Virtual Server 安裝並沒有受到支援。P2V 作業只適用於位於與 VMM 伺服器相同網域 (或受信任的網域) 上的實體機器。
雖然我建議將各個 VMM 元件安裝在生產環境中的個別伺服器上，不過本文內容討論的是在單一伺服器安裝中的狀況。VMM 伺服器安裝的硬體建議為執行 2.8GHz 或更高速度且至少具有 2GB RAM 的 x86 或 x64 架構伺服器。由於這是使用本機 SQL Server 資料庫的單一伺服器安裝，因此需要 7GB 的硬碟空間。若是使用遠端資料庫，VMM 安裝就只需要 1GB。對於本機程式庫安裝，則建議另外配備 80GB 的磁碟空間。
除此之外，VMM 要求在 VMM 伺服器、所有虛擬機器主機和 VMM 要管理的任何程式庫伺服器上安裝 WinRM 1.1。WinRM 是 Web Services for Management (WS-Management) 通訊協定的 Microsoft 實作。WinRM 是以 SOAP 為主且與防火牆互動良好的通訊協定，可讓不同廠商的硬體與作業系統交互操作並相互管理。VMM 使用 WinRM 來執行 VMM 伺服器、虛擬機器主機與程式庫伺服器之間的動作。您可以從 go.microsoft.com/fwlink/?LinkId=103610 下載 WinRM 1.1。
其他必要的安裝條件還包括 .NET Framework 2.0 及 3.0、Windows PowerShell 1.0 和用於自助入口網站的 IIS。在進行 VMM 軟體安裝的過程中會逐一檢查其他所有軟體需求，並提供適當安裝程式的連結。若未符合其中任何一項需求，便無法繼續執行安裝。
開始 VMM 安裝時，主功能表會提供三個選項：Virtual Machine Manager Server、系統管理員主控台以及自助入口網站。我們要在單一機器上安裝這三個選項，先從 Server 開始。安裝程序啟動後，第一個畫面會先核對系統必要條件；您必須確保已滿足全部條件，才能繼續進行安裝。
必要條件過關後，您應該檢視安裝選項，尤其是與 SQL Server 資料庫相關的選項。VMM 可讓您選擇 SQL Server 2005 Express Edition 安裝或使用現有的 SQL Server 2005 資料庫。在本例中，我們將使用 SQL Server 2005 Express Edition。
在 VMM 安裝精靈的下一步中，您要指定集中式程式庫的位置。這個位置可以是 VMM 伺服器上的本機目錄 (安裝程式會為該目錄建立共用)，也可以使用現有的檔案共用。預設位置為 C:\Documents and Settings\All Users\Shared Documents\Virtual Machine Manager Library Files。
下一步是指派連接埠。在此您要設定系統管理員主控台與核心 VMM 伺服器服務連線所使用的連接埠 (連接埠 8100)、WinRM 用來執行管理功能的連接埠 (連接埠 80，標準 HTTP 連接埠)，以及背景智慧型傳送服務 (BITS) 用來將檔案移至虛擬機器主機的連接埠 (連接埠 443，標準 HTTPS 連接埠)。收集到全部資訊後，將會出現摘要畫面，伺服器安裝接著就告完成。
現在我們來安裝系統管理員主控台。系統必要條件與 VMM 伺服器類似，也都需要 .NET Framework 2.0 及 3.0 和 Windows PowerShell 1.0。唯一的設定選項是確認與核心 VMM 伺服器服務所使用的通訊連接埠。這個連接埠應該是 8100，正如 VMM 伺服器安裝中的設定。在安裝結尾，您可以選擇為系統管理員主控台建立桌面捷徑，以及在結束安裝時開啟主控台。建議您選取這兩個選項。第一次開啟系統管理員主控台時，系統會提示您輸入伺服器連線資訊。在單一伺服器安裝中，您是在連接埠 8100 上連線到 localhost，並按 Enter 鍵來啟動主控台。
最後，我們要在這部伺服器上安裝自助入口網站。這項安裝的必要條件包括 IIS、.NET Framework 2.0 及 3.0，還有 Windows PowerShell 1.0。在安裝過程中，唯一的設定選項就是關於自助入口網站所用的連接埠選項。首先是連線到 VMM 服務的連接埠 (連接埠 8100)，這與系統管理員主控台的設定一樣。其次是執行入口網站所在的連接埠。預設為連接埠 80，在許多設定中，該連接埠可能已被佔用。必要時，可將連接埠變更為其他可用連接埠，如 81。
安裝程式會建立稱為 Microsoft System Center Virtual Machine Manager 2007 自助入口網站的網站，您可以在 IIS Manager 中變更其設定。以下的秘訣可簡化安裝作業：進入 IIS Manager 選取 [Microsoft System Center Virtual Machine Manager 2007 自助入口網站] 內容。檢查網站的 ASP.NET 設定，並確認 ASP.NET 版本已設為 2.0。自助入口網站在 ASP.NET 設為 1.1 版時無法運作，而且視 IIS 與 .NET Framework 版本的安裝順序而定，這些設定可能有所不同。
完成 IIS 安裝之後，您可以在 Internet Explorer® 中瀏覽至 http://localhost:81 來開啟此網站。如果您在開啟網站時收到驗證的提示，這是因為 Internet Explorer 安全性設定的緣故。自助入口網站應該在 Internet Explorer 的內部網路內容中執行；您可能需要在本機設定中，將 VMM 伺服器新增到內部網路網站清單。完成這些變更後，您就可以開始在 VMM 中建立及使用自助原則。

Virtual Machine Manager 功能
VMM 包含許多很棒的功能，但其中最值得一提的兩項功能非實體對虛擬和虛擬對虛擬功能莫屬。這兩項功能都是從系統管理員主控台內支援。由於 VMM 系統管理員主控台是以 Windows PowerShell 為基礎建置而成，因此所有命令也都可以經由 Windows PowerShell 本身來執行。針對本文目的，我們將使用系統管理員主控台探討 P2V 作業，並經由 Windows PowerShell 來進行 V2V 作業。

實體對虛擬轉換
我們使用 VMM 系統管理員主控台來執行 P2V 轉換。要轉換的實體機器必須符合幾項需求。首先，這部機器必須是目前網域或受信任的網域的成員。VMM 會連線到該機器以安裝 P2V 代理程式，並傳送必要的資訊。其次，來源機器必須執行支援的作業系統。P2V 的支援作業系統包括 Windows Server 2003、Windows 2000 Server 及 Windows XP 專業版。如果該來源機器執行的是 Windows Server 2003 或 Windows XP，VMM 將使用磁碟區陰影複製服務 (VSS) 來合併硬碟，並將資料串流到虛擬硬碟。這樣可在不浪費停機時間的情況下轉換機器，您也無須為了建立 P2V 映像而排定伺服器的停機時程。針對 Windows 2000，會建立 Windows PE 開機磁片來協助建立 P2V 映像。在本例中，我將使用 Windows Server 2003 為目標。
P2V 作業一開始先在系統管理員主控台的右上部分，選擇 [執行 (Actions)] 底下的 [轉換實體伺服器 (Convert physical server)] 選項。此舉會叫出 P2V 精靈，如 [圖 5] 所示。第一頁是 [選取來源 (Select Source)] 步驟，在此指定要轉換的機器。輸入該機器的 DNS 名稱和要連線並管理該機器的適當網域認證。下一步可讓您為產生的 VM 命名。
[圖 5] VMM 的 P2V 功能以精靈為基礎，並內建至系統管理 UI
[圖 5] VMM 的 P2V 功能以精靈為基礎，並內建至系統管理 UI
接著精靈開始執行從來源機器收集資訊的作業。當您按一下 [收集系統資訊 (Gather System Information)] 時，VMM 便會安裝 P2V 代理程式來擷取有關來源機器的必要資訊，包括擷取來源系統之作業系統、硬碟和網路介面卡等必要資訊。按一下 [下一步] 會顯示驗證畫面，以確認是否有已知問題會妨礙轉換。如果有，便會提供可能的解決方法。
擷取完設定資訊之後，您可以選取要轉換的硬碟磁碟分割。在預設情況下是選取開機磁碟分割，畫面會顯示其他可用的磁碟分割。您可以選擇要將哪些磁碟分割保留為轉換的一部份。P2V 是一種智慧型複製作業；也就是說，這項作業只會提取特定磁碟分割上的資料，而非固定傳送整個硬碟映像與大小。
最後，精靈邁入標準 VMM 部署步驟，包括 Virtual Server 啟動設定和前文所述的「智慧定位」作業。精靈完成時會出現 [工作 (Jobs)] 視窗，顯示 P2V 的整個作業與進度。
根據預設，最新轉換的 VM 將不會自動啟動 (它們會轉換成停止狀態)，P2V 作業也不會關閉或變更來源機器的執行中狀態。這是非破壞性的 P2V 作業。由於新的 VM 將採用相同的電腦名稱、IP 位址，甚至是原始伺服器的 MAC 位址，因此必須關閉該機器才能啟動 VM。若要關閉來源機器或自動啟動新建立的 VM，可以從 Windows PowerShell 命令列執行這項作業。在這個程序中，執行 P2V 後，不妨接著在測試環境中執行產生的 VM，以確保轉換結果一切正常。

虛擬對虛擬轉換
若要執行 V2V，您需要 VMWare 虛擬機器 (使用 VMDK 檔案形式) 與包含指定目的地虛擬機器主機的有效 VMM 安裝。VMM V2V Windows PowerShell 指令程式碼 new-v2v 支援以下四種 VMDK 檔案格式：monolithicSparse、monolithicFlat、twoGbMaxExtentSparse 和 twoGbMaxExtentFlat。大部分現有的 VMDK 檔案都屬於上述其中一種類別。
V2V 作業只能用於離線的 VMDK 檔案。不過，P2V 作業可用來轉換正在執行的 VMware 虛擬機器。VMware 虛擬機器由兩種主要元件組成 — 當做儲存資料的虛擬硬碟的 VMDK 檔案，以及包含虛擬機器設定資訊的 VMX 檔案。VMDK 檔案與相關的 VMX 可以放在程式庫位置中，好讓您存取和轉換 VMware 虛擬機器，而無須授權存取原始伺服器中的檔案。
在執行 V2V 作業的期間，VMDK 檔案將轉換成 VHD 檔案，另外也會清除虛擬作業系統以便與 Virtual Server 搭配使用，建立盡可能符合原始設定的新虛擬機器，並針對 Virtual Server 支援的虛擬硬體執行必要變更。要注意的是，轉換作業中的各個部分都可以從 Windows PowerShell 分別管理，如此一來，就能夠在配置新虛擬機器的主機之前，先進行大量格式轉換。不過在本例中，我們要轉換並部署 VHD。
雖然透過系統管理員主控台和 Windows PowerShell 都可以完成 V2V，但在此範例中我們要使用 Windows PowerShell。若要開始 V2V 作業，我們先啟動 Windows PowerShell 視窗並載入 VMM 指令程式碼。執行這項作業的方法是按一下 [開始] | [所有程式] | [Microsoft System Center] | [Virtual Machine Manager 2007] | [Windows PowerShell—Virtual Machine Manager]。
此時應該出現標題為 [Windows PowerShell—Virtual Machine Manager] 的視窗。若非如此，可能表示 VMM 指令程式碼並未載入。Windows PowerShell 開啟後，您可以執行下行來檢視 new-v2v 命令：
get-help new-v2v –full | more
這會提供您如何執行 V2V 的語法和範例。在本文的範例中，我們的 VMM 伺服器稱為 vmmserver.contoso.com，目的地虛擬機器主機稱為 vshost1.contoso.com，而 VMDK 可從程式庫伺服器 vmmserver.contoso.com 取得。
您一開始先使用 get-vmmserver 命令來指定用來執行 V2V 的 VMM 伺服器內容。正如所有 Windows PowerShell 命令，get-vmmserver 遵循動詞名詞格式，並在參數中使用虛線。下行顯示我們用來指定 VMM 伺服器的命令：
get-vmmserver –computername "vmmserver.contoso.com"
這會將 vmmserver.contoso.com 設為命令所要遵循的 VMM 伺服器內容。上述命令的結果是一份關於 vmmserver.contoso.com 的詳細資訊清單。如果命令或語法錯誤，便會出現紅色的錯誤訊息來說明問題。
下一步是指定目的地虛擬機器主機，也就是為轉換的 VMDK/VHD 指派的 Virtual Server 主機。現在讓我們在 Windows PowerShell 中使用下列程式碼，直接將虛擬機器主機值指派為變數 $vmhost：
$vmhost = get-vmhost –computername
"vshost1.contoso.com"
這個命令不會在命令視窗中產生任何回應，但您只要在 Windows PowerShell 提示中輸入 $vmhost，然後按 Enter 鍵，就能輕易地檢查變數設定是否正確。這樣會顯示儲存在 $vmhost 中的資訊 (vshost1.contoso.com 的相關詳細資訊，與之前提到的 VMM 伺服器資訊類似)。
除了虛擬機器主機，您還需要指定 VMDK 檔案所在的程式庫伺服器。這個命令與我先前使用的虛擬機器主機命令雷同：
$library = get-libraryserver –computername
"vmmserver.contoso.com"
就像 $vmhost 一般，在命令行中輸入 $library 可顯示程式庫伺服器資訊。
最後，您實際輸入命令以執行 V2V 轉換。為了完成這項作業，您使用包含 get-help 函數的 new-v2v 命令。在此命令中，您繼續指定 VMX/VMDK 的程式庫伺服器、目的地主機、產生的 VM 名稱，以及轉換的 VHD 檔案路徑。
在此命令行中，大部分的參考都是從目的地主機 (在本例為 vshost1.contoso.com) 的角度來進行，而提供的安裝路徑是作為 VSHOST1 的本機參考。VMX 路徑則是以程式庫伺服器的角度來提供。在 Windows PowerShell 中產生的命令列如下所示：
new-v2v –LibraryServer $library –vmxpath
"\\vmmserver.contoso.com\MSCVMMLibrary\VMDKS\ConvertMe.vmx"
–vmhost $vmhost -name "DemoV2V"
–path "C:\VHDs"
如您所見，我們在此轉換位於程式庫伺服器 $library (VMMSERVER) 上的 \\vmmserver.contoso.com\MSCVMMLibrary\VMDKS\ConvertMe.vmx 的 VMX/VMDK，將之部署到變數 $vmhost (VSHOST1) 中的主機，命名為 DemoV2V，路徑是 VSHOST1 上的 C:\VHDs。
開始執行命令後，回到 VMM 系統管理員主控台中的 [工作 (Jobs)] 視窗來檢視進度是不錯的作法。VMX/VMDK 將會進行轉換，接著複製到 VSHOST1，產生的 VHD 便會在此以 DemoV2V 的名稱加入 VM 清單中。當整個作業完全結束時，您就可以使用 VMM 來啟動新的虛擬機器和檢視結果。

總結
如您所見，System Center Virtual Machine Manager 2007 為虛擬基礎架構提供一些很棒的新功能。在介紹 P2V 與 V2V 作業的過程中，希望我已經表達出使用 Virtual Machine Manager 有多容易。
VMM 是專為簡化 IT 系統管理員的工作而設計，特別是在建立、部署和維護 VM 等方面。隨著 System Center Virtual Machine Manager 2007 的發行，強烈建議 Virtual Server 2005 系統管理員嘗試使用 Virtual Machine Manager 來維護虛擬機器主機。針對 Windows Server 2008 的全新 Windows Server 虛擬化的使用者，Microsoft 將在下一版的 System Center Virtual Machine Manager 中提供 Windows Server 虛擬化支援，下一版 System Center Virtual Machine Manager 將於 Windows Server 2008 虛擬化最終版本之後推出。
如需 VMM 的其他資訊，以及下載示範內容，請造訪 microsoft.com/SCVMM。如需有關所有 Microsoft 虛擬化產品的詳細資訊，請造訪 microsoft.com/virtualization。

Edwin Yuen 在 System Center Virtual Machine Manager 的 Windows 企業管理部門，擔任技術產品經理。他因 Microsoft 於 2006 年 7 月併購 Softricity 而加入 Microsoft。Edwin 也在商業及聯邦法雙領域擁有 13 年技術諮詢經驗，並具有約翰霍普金斯大學 (Johns Hopkins University) 的電機理學士學位。
© 2007 Microsoft Corporation and CMP Media, LLC. 保留所有權利；未經允許，嚴禁部分或全部複製.


 System Center: 利用 Data Protection Manager 2007 進行更完善的備份
System Center Calvin Keaton

利用 Data Protection Manager 2007 進行更完善的備份
摘要:
  • 告別磁帶備份
  • 連續資料保護
  • 磁碟式備份
  • 透過 DPM 進行更細微的控制

資料保護市場近來經歷過一番改革，相較於行之多年的磁帶式備份解決方案和一體適用的夜間備份方法，
很多新技術和方法都是在短短的時間內發跡。這些新技術都包括磁碟式備份、連續資料保護 (CDP)，連看似簡單的資料加密也包含在內。拜近來的磁碟存放裝置降價、網路和處理器效能改進，以及全新法規需求所賜，部份新方法才得以成形，甚至成為不可或缺的工具。
Microsoft 在此方面提供以平台和應用程式為主的解決方案由來已久，像是 NTBackup、Exchange Server 和 SQL ServerTM 備份工具都只是當中的幾個例子。
System Center Data Protection Manager (DPM) 2006 是 Microsoft 首先打入資料保護市場的獨立軟體，它是其中一個率先提供磁碟式資料保護的產品，也是唯一以磁碟式備份為基礎建造而成的產品。大多數其他產品都仍舊採納從磁碟翻新的磁帶式老方法。
DPM 是 System Center 系列產品的一部分，System Center 產品是專為複雜的 IT 基礎結構的日常管理工作而設計，使其更簡單、更具成本效益。System Center 解決方案是以 Microsoft® Operations Framework (MOF) 和 Information Technology Infrastructure Library (ITIL) 衍生的自動化與最佳作法為基礎，適用於各種組織層級。
DPM 只是 System Center 系列的一小部分。System Center Configuration Manager 提供設定管理和軟體傳遞功能；System Center Operations Manager 賦予您主動式系統監控和自動化的功能；而 System Center Capacity Planner 則可用來執行基礎架構部署的容量計劃和假設狀況分析 (請參閱 microsoft.com/systemcenter 以取得詳細資訊)。
System Center Data Protection Manager 2006 不僅提供檔案和列印伺服器的磁碟式備份，也提供分公司以 WAN 為架構的磁碟備份。它是專為保護資料中心內的檔案伺服器，以及從分公司取得本機磁帶備份硬體而設計的。但是它缺乏對 Microsoft 應用程式的原生支援，並且需要透過協力廠商產品的協助才能進行長期磁帶保存。
新版的 DPM，也就是 System Center Data Protection Manager 2007，不但據此建置，並持續為檔案和列印伺服器，以及分公司提供強大的磁碟式保護，它另外還新增了對商務關鍵 Microsoft 應用程式的支援 (例如 Exchange、SQL Server 和 SharePoint®)，以及對磁帶備份的原生支援。新版本中經常會有大幅的變更，而 DPM 也不例外。第二版中除了加入許多新功能外，也大幅強化了現有的功能。在本文中，我會逐一解說當中幾項全新功能和增強功能，並讓您概略了解這個令人雀躍的新版本將帶來什麼驚喜。

應用程式和平台支援
許多備份軟體廠商對於應用程式支援都採取無差別策略，將工程投資分散到大量的應用程式，以便儘可能支援許多資料來源，結果造成許多應用程式只能有非常基本的支援。Microsoft 選擇不一樣的作法，它不試圖為眾多的應用程式或平台提供有限的支援，而是把注意力集中在保護 Windows® 平台上幾個特定的應用程式。區分了輕重緩急，因此我們可以把工程投資的焦點放在這些應用程式上，來創造整合的備份和還原經驗，提供其他備份產品中不常見的功能。
Microsoft Exchange 支援是 DPM 2006 的使用者最希望擁有的功能。有鑑於此，DPM 2007 於是同時引進了對 Exchange Server 2003 和 Exchange Server 2007 的支援。保護是在儲存群組層級提供，而個別的儲存群組會在 DPM UI 中以物件的形式顯示，隨後在必要時可加入保護群組以利進行原則導向的排定備份。叢集儲存群組會顯示成單一物件，因而省去了追蹤叢集的各個成員以及手動同步處理其保護的麻煩。還原可以在儲存群組、資料庫或信箱層級進行。更細微的復原作業是透過自動化達成，它使用標準的 Exchange 工具將資料還原至復原儲存群組，然後透過標準的 Exchange 工具再次擷取更細微的物件，例如信箱 (見 [圖 1])。
[圖 1] DPM 中的 Exchange 支援
[圖 1] DPM 中的 Exchange 支援
與其他一些 Exchange 備份解決方案不同的是，DPM 在擷取之後要還原的物件時，並不會仰賴非 Exchange 工具或對 Exchange 資料庫進行反向工程。因此 Exchange 完全支援以 DPM 為架構的信箱還原作業。
DPM 2007 是第一個完全支援 Exchange 2007 叢集連續複寫 (CCR) 和本機連續複寫 (CLR) 叢集的產品。另外，Exchange 2003 叢集也有受到支援。
DPM 2007 同時支援 SQL Server 2000 和 SQL Server 2005，兩者的備份和還原作業都是在資料庫層級進行。另外還包括了對重新導向和重新命名還原的支援，以及對叢集、鏡像或記錄傳送資料庫的完整支援。
就跟 Exchange 一樣，叢集資料庫在 UI 中也是顯示成單一物件，因而免去了在多部叢集伺服器上分別設定保護的煩惱 (見 [圖 2])。DPM 中的 SQL Server 支援可用來保護一些仰賴後端 SQL Server 資料庫的協力廠商應用程式，另外也透過檔案保護支援應用程式，以及透過 DPM 對 SQL Server 的支援提供 SQL Server 資料庫原生的保護。DPM 中彈性的排程引擎容許將檔案備份和 SQL Server 備份同時加入相同的保護群組，讓它們可以同時進行並共用共同的管理和排程介面。
[圖 2] 叢集備份
[圖 2] 叢集備份
藉著提供 Windows SharePoint Services (WSS) 3.0 和 Microsoft Office SharePoint Server (MOSS) 2007 兩者的支援，共同作業的工作負載將透過 SharePoint 2007 而獲得保護。支援是發生在伺服陣列層級，即使伺服陣列橫跨一部以上的伺服器也是一樣。因此，假如有個伺服陣列包含三部 Web 前端伺服器、兩部網站集合伺服器，以及一部資料庫伺服器共六部伺服器，在 DPM UI 中不但會顯示成單一物件，也會備份成單一物件，而且可以由 DPM 還原成單一物件。
DPM 雖然支援還原完整的伺服陣列，但也支援還原網站、網站集合和個別文件、清單或項目。不用說，舊版的 SharePoint 也可以透過 DPM SQL Server 保護功能，以 SQL Server 資料庫的形式加以保護。
DPM 2007 中持續支援檔案和列印工作負載，另外也免費提供了開啟舊檔支援。此外更新增了排除檔案和資料夾的支援，還有系統狀態備份支援。要特別注意的是，檔案支援也進一步的擴充，以包含 Windows Vista® 和 Windows XP。但是對這些用戶端作業系統的支援相當有限，因為支援的目標主要是針對用於檔案伺服器的系統。DPM 使用者在必要時可以保護少量的用戶端，但是這項支援將無法輕易調整到大量的桌上型電腦。
對 Exchange Servers、SQL Server、SharePoint 伺服器和檔案伺服器的原生支援，可讓 DPM 支援 Windows 環境當中絕大多數的工作負載。但是對於較不常見的工作負載，DPM 2007 還包含了可在備份過程中自動執行的前置和後置指令碼支援。這項功能容許 DPM 支援其他廣泛的應用程式或工作負載。這類支援並不如為 Exchange、SQL Server 和 SharePoint 提供的支援那般完整，但在資料來源支援方面確實提供極大的彈性。DPM TechCenter 上提供的白皮書詳述如何支援一些非 Microsoft 的關鍵產品 (例如 Oracle)，網址是 technet.microsoft.com/dpm。
DPM 2007 當中一項比較有趣的革新是提供主機式虛擬伺服器支援。雖然大部分備份產品都能夠將虛擬伺服器來賓當作個別的伺服器支援，但是很少 (如果有的話) 能夠在主機層級透過單一授權和代理程式的安裝提供這類的保護。DPM 運用了遞迴磁碟區陰影複製服務 (VSS) 編寫器，透過在主機上部署單一代理程式，來保護裝載在指定虛擬伺服器主機上的所有來賓。這些遞迴 VSS 編寫器能夠呼叫位在來賓上的 VSS 編寫器，甚至不管來賓上安裝什麼應用程式或作業系統，也能呼叫執行在來賓上的應用程式內的 VSS 編寫器。DPM 可以藉此保護任何以來賓身分 (無論廠商為何) 執行的平台或應用程式。這類主機式虛擬伺服器備份在應用程式間會保持一致，且會產生單一虛擬硬碟 (VHD) 映像，必要時可在現有或全新的主機上進行還原。
這些主機式備份映像所提供的還原不如將 DPM 代理程式安裝在來賓或獨立伺服器上進行備份般細微，不過它們倒是提供其他方面的效率，包括可以輕易將系統復原至虛擬化環境。

速度、可靠性和效率
除了在應用程式支援的深度和廣度方面都比前版更為精進外，DPM 2007 還提高了完整和增量備份的細微控制。在 DPM 2006 中，您最多可以每個小時同步處理一次，而在新版的 DPM 中，您可以每 15 分鐘進行一次增量備份，以及每個小時進行一次完整備份。對於服務等級協定 (SLA) 較不積極的客戶來說，可能只需要每個星期進行一次完整備份。因此，這些客戶可以降低備份次要伺服器的頻率，並且繼續積極的進行重要伺服器的保護排程。雖然 DPM 伺服器可高達每 15 分鐘同步處理一次，DPM 代理程式依舊會在同步處理的間隔期間主動追蹤受保護伺服器上的變更。
這個全新的 DPM 代理程式會持續追蹤受保護伺服器上所發生的區塊層級變更。這樣強大的功能都要歸功於針對 DPM 2007 開發的全新磁碟區篩選器，它是由一個存留在分頁集區記憶體內的點陣圖所組成，並且在受保護的磁碟區上每個區塊都包含一個位元。
每當有區塊寫入磁碟區時，點陣圖中就會翻轉一個位元。與這個程序相關的處理序和記憶體衝擊比一般的防毒篩選器還要小，而且也不需要隨著變更速率調整磁碟空間。事實上，與這個篩選器相關的負載完全不會隨著變更速率調整。這一點很重要，因為大多數區塊層級的變更追蹤方法常會導致沉重的處理器和記憶體負荷，另外也必須根據變更速率調整磁碟使用量。所以較高的變更速率往往衝擊較大，而且在某些情況下，極高的變更速率可能會導致系統的磁碟空間不足。在 DPM 2007 中，無論變更速率為何，磁碟區篩選器對處理器、記憶體和磁碟的衝擊都保持不變。不管它是 1% 或 1,000%，變更速率完全不會影響到與篩選器相關的低負荷。
其實，追蹤變更的資料不過是眾多功能之一。DPM 2007 還會運用受保護伺服器上的 VSS 服務來建立應用程式一致的備份映像，藉此提供可靠的復原。VSS 是 Microsoft 針對 Windows XP 和 Windows Server® 2003 提供備份基礎結構所開發的，可作為一種機制來建立一致的時間點資料複本 (陰影複製)。VSS 產生一致陰影複製的方法是協調商務應用程式、檔案與系統服務、備份應用程式、快速復原解決方案，以及存放硬體間的讀寫作業。因此，VSS 無疑是當今市面上產生應用程式一致備份最統合且最可靠的機制。Windows Server 2003 中有好幾項功能都使用 VSS，包括共用資料夾的陰影複製在內。
大多數使用 VSS 進行應用程式備份的產品都會建立 VSS 複本，並將此複本放在受保護的伺服器上來追蹤變更，以及取得應用程式一致映像來進行備份。不幸的是，在受保護的伺服器上隨時保留複本對效能可能產生一些明顯的負面影響，因為每次應用程式寫入磁碟時，為了讓 VSS 複本保持最新狀態都需要進行寫入時複製。這可能產生高達 25% 的處理器負荷，並且對寫入的時間有顯著的影響。
DPM 既然透過磁碟區篩選器追蹤變更，就不需要隨時都有 VSS 複本。DPM 反而可以在進行完整備份時，建立 VSS 複本，然後覆蓋磁碟區篩選器點陣圖來專門識別複本中經過變更的資料。變更過的資料接著會被移往 DPM 伺服器，用來建立復原點。受保護伺服器上的 VSS 複本接著會被刪掉，並重設磁碟區篩選器。接下來會繼續追蹤區塊層級變更，這項作業的負荷極小，而且不需要用到 VSS 複本或其相關的資源。
這套解決辦法可保證復原點會產生可還原的應用程式映像，而且會減少受保護伺服器與 DPM 伺服器之間移動的資料量。
在 DPM 2007 中，完整備份並不會將資料的完整複本從受保護的伺服器移到 DPM 伺服器。它反而只會移動變更的資料。因此，在 100GB 的 Exchange 儲存群組上以每天 10% 的變更速率每日進行完整備份，實際上只有 10GB。
完整備份的大小縮小表示當建立快照集以擷取復原點時，DPM 伺服器上的存放作業將非常有效率。每個快照集都會包含自上次完整備份構成的變更資料，而且在進行完整備份時自動執行。處理應用程式時，這些快照集也會將介入的增量備份一起包括進來。
增量備份基本上是 DPM 中的記錄備份，因此每次對應用程式進行完整備份時，變更的資料便會移到 DPM 伺服器上，並且與任何介入的記錄備份一同包裝起來，建立成一個包含多個復原點的快照集。就剛才的例子來說，100GB 的 Exchange 儲存群組每天的變更速率為 10%，如果我們假設每天進行完整備份，並且每 15 分鐘增量一次，快照集將包括 10GB 的變更資料，以及約 5-10GB 的應用程式記錄。但可別忽略了，這個 15 至 20GB 的快照集可能包含高達 97 個復原點呢！
完整備份必須每星期至少進行一次，而應用程式伺服器的快照集總數限制為 512，檔案伺服器為 64。因此，若每週執行完整備份，每 15 分鐘進行增量備份，每個快照集便會產生 673 個復原點，如果全部 512 個快照集都使用的話，就會產生超過 340,000 個復原點。雖然不太可能有人在磁碟上會需要這麼多復原點，但是這倒展示了 DPM 在工作排程與時間點復原方面的彈性和延展性。
記錄備份與完整備份的搭配，使得 DPM 能夠將非常大量的復原點儲存在非常小的磁碟空間中。但是這種程序有一些相關的額外負荷，而且從技術上來說，整個程序並未壓縮或甚至是儲存單一版本 (SIS)，不過此程序會有一些重複資料刪除 (de-duplication) 元件，也就是區塊層級變更追蹤。不管名稱為何，DPM 在使用極少量的空間來存放每個建立的復原點方面非常在行。更重要的是，因為 DPM 並不會採用傳統的壓縮方式、儲存單一版本，或是重複資料刪除來執行這項工作，因此要是使用壓縮、SIS 或重複資料刪除存放平台提供存放空間給 DPM 伺服器的話，也有空間達成更高的效率。

資料遺失零風險復原和 CDP
或許 DPM 2007 其中一項最令人興奮的變更，是它能夠滴水不漏地復原 Microsoft 應用程式。這是透過區塊層級變更追蹤和 VSS 架構，以及與受保護伺服器上現有應用程式緊密整合而達成的。
一般來說，市面上目前提供兩種資料保護和復原方法：
複寫式解決方案 這是大多數客戶傳統印象中的連續資料保護 (CDP)。複寫式資料保護所牽涉的動作，是將受保護伺服器上的變更在發生的同時移往備份伺服器。這其實是一種磁碟式解決方案，號稱能夠在無資料遺失的情況下復原到任何時間點。
話雖然說的很好聽，但是這種方法有幾項非常嚴重的缺點。首先也是最重要的是，複寫解決方案並沒有應用程式狀態的概念，它對應用程式內的移動部件也一無所知。因此在進行備份時，它並不會清除緩衝區，或將可能還留在記憶體中或仍在傳輸中的資料列入考量。這表示，複寫式復原點通常不是應用程式一致的。您是可以執行復原，但是應用程式實際上並不會恢復到可用的狀態。這個問題太過普遍，以致於有些複寫式 CDP 廠商甚至在說明文件中註明，如果目前的應用程式復原點不能用，請嘗試其他復原點。
除了這些應用程式一致性的問題之外，複寫式 CDP 解決方案一般來說也相當地昂貴，網路和處理器的成本很高，而且還需要相當大量的存放空間，並有可能是用到專用硬體上的空間。複寫式資料保護解決方案也不太適合用於封存或離站磁帶備份，而這兩種備份對許多客戶來說剛好都是不可缺的。
快照集式解決方案 這是資料保護傳統的磁帶備份方法，當中的時間點快照集是建立在外部媒體上，之後可用於進行時間點復原。復原點目標 (RPO) 是由快照集的頻率來決定，因此每日備份機制會產生 24 小時的資料遺失。快照集的優點是既便宜又容易管理，除了對網路的影響有限外，也非常適合磁碟或磁帶保存。同時這種方法通常會於產生應用程式一致的映像，因為在擷取快照集之前，您有時間可以準備應用程式，所以在進行備份時，應用程式的移動部件發生遺失的風險比較低。
快照集近來的趨勢是推出近 CDP (near-CDP) 解決方案。這些快照集解決方案提高了快照集的頻率，讓 RPO 變得很低。有些產品現在是以分鐘為單位來測量它們的 RPO，它們擷取快照集之頻繁，因此已擺脫近 CDP 的稱號，而自稱為 CDP 產品。不過它們在還原時，還是會遺失好幾分鐘的資料。
DPM 2006 毫無疑問是近 CDP 快照集的一員，但是 DPM 2007 採納 CDP 的方式獨一無二。新版的 DPM 使用 VSS 高達每 15 分鐘擷取一次快照集，而它的區塊層級變更追蹤技術只會移動受保護伺服器上 VSS 快照集中變更的資料。因此，個別的時間點快照集非常小，因為它們只包含區塊層級變更。這基本上是非常先進的快照集方法。DPM 當中前所未有的革新，是與 Exchange、SQL 和 SharePoint 的應用程式深入整合。整合的程度之深，讓 DPM 得以掌握應用程式記錄檔，而能夠在發生復原時向前復原這些記錄。只要您的應用程式記錄檔可以使用 (如果您遵循最佳作法並把它們放在不同的磁碟機上的話，應該可以用)，DPM 就能夠將它們從前個時間點快照集向前復原，達成滴水不漏的復原 (見 [圖 3])。
[圖 3] Data Protection Manager 系統管理主控台中的復原選項
[圖 3] Data Protection Manager 系統管理主控台中的復原選項
就許多方面來說，這個混合式的 CDP 方法兼備兩邊的長處。它不但提供快照集解決方案的應用程式一致性及長期保存支援等優點，更具備複寫產品的資料遺失零風險功能，同時還避免了兩種解決方案當中許多的缺點。

支援磁碟和磁帶備份
討論 DPM 2007 的全新功能絕對不能漏掉這項產品新增的磁帶支援。DPM 2006 只支援磁碟對磁碟 (D2D) 備份，資料會從受保護伺服器上的磁碟移到 DPM 伺服器上的磁碟。而 DPM 2007 則同時支援磁碟和磁帶媒體。因此，資料可以從受保護伺服器上的磁碟移到連接至 DPM 伺服器的磁碟 (D2D)，也可以移到連接至 DPM 伺服器的磁帶 (D2T)，或是將受保護的資料分段轉移到 DPM 伺服器上的磁碟隨後再移往磁帶加以長期保存 (D2D2T)。
DPM 2007 支援廣泛的磁帶媒體櫃和自動換片器，也支援各種不同的磁帶媒體類型。
DPM 中的磁帶支援包含許多進階的功能，例如免費提供的以軟體為主的磁帶媒體加密，以及基本的加密金鑰管理和磁帶保留及位置追蹤等。

總結
我詳細介紹了 System Center Data Protection Manger 2007 中的幾項全新功能和增強功能。這些功能都是專為達成 Microsoft 平台和應用程式一致、可靠和方便管理的資料保護而設計的，它在 Windows 應用程式和平台資料保護的領域裡立下了新標竿。
除了本文所述的功能之外，本產品還提供更多其他增強功能，例如 Windows 整合式使用者復原、彈性的頻寬節流，以及進階的命令列介面等。建議您下載 Data Protection Manager 2007 Beta 2 測試版，了解這些功能和其他功能的實際運作情況。如需所有 System Center 系列產品總覽的詳細資訊，請造訪 microsoft.com/systemcenter。您可以在此瀏覽 System Center 系列提供的所有解決方案，包括 Data Protection Manager 在內。

Calvin Keaton 目前擔任 DPM 的產品規劃師。他過去曾管理過 Microsoft IT 資料保護服務。加入 Microsoft 之前，Calvin 在資料中心作業和硬體產業已有六年的經驗，包括為 Compaq (之後成為 HP Services) 管理資料中心站台作業 (Data Center Site Operations) 小組。


 System Center: 線上服務使軟體清查更簡單
System Center Paul Bourgeau

線上服務使軟體清查更簡單
摘要:
  • 線上服務基礎
  • 準備清查代理程式
  • 取得清查報告

您的財務長 (CFO) 剛剛發電子郵件請您「幫個小忙」。他需要組織裡頭所有電腦的完整清查資料、它們所在的位置，以及每台機器上面各自安裝了什麼軟體等等，
。而且週末前就要，因為 (原因任您挑)：
  • 又到了為下一年規劃預算的時候，而他想要知道要為軟體授權撥多少款項。
  • 他收到軟體稽核的通知，現在必須證明貴組織的特定產品有足夠的授權以符合規定。
  • 執行長 (CEO) 要求他縮減 IT 營運的支出，而他覺得應用程式標準化是達成此目的的一種方法。
那麼您該怎麼做呢？
IT 資產管理從過去十年以來一直不斷地演變發展，而現在各公司更是把焦點轉向有效管理它們的軟體資產上。這主要是因為軟體現在所呈現的財務投資範疇比以往更廣大許多，但是不斷擴增的法律、安全性和原則問題也不容忽視。因為有可能被舉發不符合規定，而面臨高昂的升等費用或罰鍰，都在在強調準確管理軟體資產的必要性。
規模較大的組織一般都設有資源和工具來管理軟體。這些工具往往是規模龐大且多用途的解決方案，不僅可追蹤軟硬體清查，還能夠管理軟體交付到桌上型電腦和監視器的效能，另外還有其他操作功能。但要是這類的解決方案不可行，或是缺乏實作和管理這類複雜解決方案的資源和專才，這些公司又該何去何從？
滿足大小型企業的需要是軟體作為服務 (SaaS) 概念背後的推手之一。Microsoft「軟體加值服務」策略竭力於開發服務架構的解決方案，來協助客戶有效地管理軟體資產。當中最重要的服務之一，Microsoft® Asset Inventory Service，將於今年底作為軟體保證的 Desktop Optimization Pack 一部分發行給軟體保證客戶。
Asset Inventory Service (AIS)，如 [圖 1] 所示，提供了容易部署、方便使用的代管服務，可用來收集組織當中安裝在電腦上的軟體相關資訊。您可以透過以瀏覽器為基礎的報告來存取這項資訊，另外此服務也有計畫推出未來版本，用以分析 Microsoft 大量授權合約的部署。
[圖 1] Microsoft Asset Inventory Service
[圖 1] Microsoft Asset Inventory Service

線上服務的本質
為什麼採納線上解決方案呢？吸引人的原因不少，包括能夠立即提供更新和新版本、容易採用，以及低廉的部署和管理成本等。
線上服務就跟網頁一樣動態，服務提供者可經常更新內容和功能，來強化使用者的體驗，並針對技術方面的變動而提供即時的回應。這提供了空前的靈活度，並容許軟體廠商傳達最新的功能、解決方案和知識，讓系統管理員更主動地管理他們的桌上型電腦。
線上服務的好處是它無所不在。在現今的 IT 環境中，各種情況您都有可能碰到，從完全網路化的電腦直接連接到網路資源，到遠端使用者和分公司從範圍廣闊的地點透過網際網路存取資源，可說是包羅萬象。另外還有行動使用者，他們除了比較常使用網路式郵件程式之外，幾乎很少連接到您的網路，因而使得完整清查 IT 資產變得比登天還難。這從過去以來一直是清查工具的重大挑戰，特別是內部部署解決方案，它們完全不支援遠端/非網路化的案例。
不過，您所有的電腦 (如果不是，至少大部分的電腦) 都有網際網路連線，因此您可以使用線上服務來管理它們，而不需要為了連接到內部的用戶端與伺服器解決方案而採行特殊的手段。透過安全的網際網路連線同樣可以存取服務來執行管理職能，因此只要能夠存取網際網路，從任何地方都可以在受管理的帳戶上管理任何電腦。
部署起來很簡單，而且您只需要在線上系統建立帳戶就可以開始使用。您的環境中不需要有伺服器，也不需要添購新的網路基礎結構和新的軟體平台。這全都表示管理和財務方面的投資減少了。要進行支援也容易許多，因為公司不用擔心需要維護升級途徑，因為服務協定裡面多半已包含較新的服務版本。

使用服務
培養線上社群
Asset Inventory Service 和 System Center Online 服務正努力推動社群的發展，將可能對線上服務的進展產生影響力的使用者聚集起來，形成強大的社群。軟體目錄正是使用者社群能夠提供意見 (真正的維基 [wiki] 作風)，以及服務的使用者可提供建議、修正和指引的絕佳例子。
在未來，目錄本身也可能成為使用者在調查可能購買的軟體時寶貴的資訊來源。從整個服務可以收集到彙總的匿名統計資料，來判定軟硬體產品的採用率，它並且可提供實用的資料給參與這些活動的使用者。
整個社群也將提供意見建議哪些區域應該優先處理，以滿足特定的商務需要，進而成為引導服務整體走向的表達媒介。

為了提供線上桌面管理服務，Microsoft System Center Online 建置出的平台將不只在短期內支援 Asset Inventory Service，更會支援未來的服務。這項服務早已將安全性、延展性和可靠性列入設計考量。AIS 完全是個代管解決方案，所有的伺服器全都位於 Microsoft 資料中心。若要部署解決方案，客戶必須在他們希望放入管理清查中的每台用戶端電腦上，安裝一小個軟體。
Asset Inventory Service 是由管理 Microsoft.com 的同班人馬所管理。它是一種含多名租戶的 Web 應用程式，利用 Web 服務來確保每名客戶的資料隱私權和安全性，並搭配使用用戶端和 Web 應用程式來存放客戶資料。在客戶站台上執行的代理程式會將軟體清查上載到 Microsoft IIS Web 服務。相互驗證的 SSL 可保護客戶資料、用戶端與服務之間的通訊，以及 AIS 網站的安全，而且該站台會使用 SQL Server™ 來存放資料。
使用 Windows Live™ ID 帳戶進行驗證，客戶可登入服務來管理他們的帳戶及查看報告。客戶的網站也採用 SSL 來保護客戶資料，而 SQL Server Reporting Services 會產生報告。為求高可用性，除了會鏡像處理 SQL Server 資料庫外，也會平衡網站的負載。此外，清查資料還會分割成基準的單位，以達到高延展性。
您可以在 Microsoft 大量授權合約上購買 Microsoft Desktop Optimization Pack 授權來訂閱 Asset Inventory Service。接著從 Microsoft 大量授權服務網站 (licensing.microsoft.com) 來啟用 Asset Inventory Service 訂閱。您必須具備有效的 Windows Live ID 才能順利通過驗證和登入 AIS 服務。
在啟用期間，合約管理員會指定她的 Windows Live ID 來指派 Asset Inventory Service 訂閱管理員。訂閱管理員可使用她的 Windows Live ID 登入 AIS，然後完成 AIS 的啟用程序。她接下來會指定其他使用者的 Windows Live ID，陸續將他們加入服務中。

清查代理程式
安裝在每台電腦上的用戶端是個容易部署且封裝成 Windows® Installer (MSI) 的的小型代理程式。您可以下載代理程式安裝程式，並從線上服務管理用戶端部署 ([圖 2] 顯示了管理和支援介面)。代理程式操作的方式與 Windows Update 代理程式的類似之處在於，它會與 System Center Online 伺服器定期進行通訊。這是為了根據預先定義的頻率來更新它的清查設定檔，也是為了在有較新版的代理程式時自行進行更新。
[圖 2] 帳戶管理和用戶端部署
[圖 2] 帳戶管理和用戶端部署
清查的作業預定是自動執行，而且不需要使用者介入。必要時，也有可以手動進行清查的選項。代理程式第一次連絡服務時，它會使用公開金鑰基礎結構 (PKI) 認證憑證向服務呈現客戶的身分識別，並且為執行代理程式的電腦產生唯一的身分識別。代理程式本身只會依排程執行，它是以不干擾使用者為前提而設計，因此耗用的資源極少，並且是在背景執行。上載的資料檔案也很小，這是為了不要造成網路流量暴增。
清除程序本身既精簡又有效率，代理程式會掃描登錄項目、MSI 資料庫和其他來源來取得安裝資訊，與傳統管理系統不同的是，它不會掃描和解析機器上所有的可執行檔，而影響到使用者的產能。這個程序會透過中繼資料使用易記的名稱傳回軟體清查資料，協助識別項目並加以分類，以便用於更廣泛的軟體資產管理活動。

Reporting Services
清查資料一經上載，就會經歷過一番識別和分類的程序，以便準備顯示在報告中。清查資料會與中央軟體目錄相比對，這個目錄也是將它分類的地方。此服務最重要的功能之一是：每名客戶的軟體清查資料都包含對中央軟體目錄來說獨一無二的簽名。Microsoft 一組研究人員會審閱非私人、未經分類的軟體簽名，並使用結構明顯的分類方法來分類軟體家族和類別，根據應用程式的身分和用途來進行分類。這些類別有助於為報告功能提供更高階的智慧，因為它可讓使用者迅速將注意力集中在他們感興趣的特定軟體類型上 — 例如，您可能只想查看防毒應用程式。
軟體簽名也有利於整合顯示在報告中的資料。舉例來說，某發行者的名稱可能有許多不同的變形 — 其中一個應用程式可能會將發行者名稱報告為 Contoso Software，而另一個應用程式可能會報告成 Contoso，這在報告中會顯示成不同的發行者。藉由整合發行者和應用程式名稱，便能強化根據這些條件準確地報告，以及以有意義的方式呈現資料的功能。
一旦使用者透過套用篩選器和群組的方式找到所需的資料集，報告內容便能以各種不同的格式匯出，這些格式都可以利用 SQL Server Reporting Services 而受到支援，包括 CSV 檔案、Microsoft Word 文件、Microsoft Excel® 試算表，以及 PDF 檔案 (見 [圖 3])。這容許您另外進行外部分析和操控，也可以當做其他企業管理系統的輔助資料。
[圖 3] 報告清查結果
[圖 3] 報告清查結果
此服務中即將提供的功能將可強化 Microsoft 授權的處理方式，使得整個過程對使用者來說更加簡單。使用者將能夠上載他們的大量授權合約組，接著可利用它們從 Microsoft Customer License Position Repository 來擷取授權定位資訊。授權的權利資料隨後將填入一份報表，列出找到的所有要安裝的可授權 Microsoft 軟體及相對應的授權數量摘要。
使用產品識別碼 (這也會在清查期間收集)，便可依不同的管道進一步細分安裝的軟體：大量授權、零售和 OEM。這項功能預計在 Asset Inventory Service 的下一版發行。

展望
Asset Inventory Service 是 System Center Online 最早提供的產品，但肯定不會是最後一個。前面有提到，System Center Online 在提供完整的桌面管理服務方面有著長遠的目標，也就是完全作為線上服務提供。
有些可能提供的產品內容還在考量當中，其中包括用於軟硬體清查和追蹤的 IT 資產管理，從網際網路提供功能類似於 Windows Software Update Services 的軟體更新和散發，以及線上/內部部署混合式服務。另外也正在調查其他一些桌面管理服務，看它們是否適用於這類案例。
若要進一步了解 Microsoft Asset Inventory Service，不妨參閱 microsoft.com/windows/products/windowsvista/enterprise/ais.mspx。

Paul Bourgeau 現任 System Center Online 小組的專案經理，他是在 Microsoft 併購 Assetmetrix 後加入 Microsoft。


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

探討群組原則的 ADM 和 ADMX 範本
摘要:
  • 群組原則範本的類型
  • 適當與不當的原則機碼
  • 檢視 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 聯絡。


 群組原則: 最佳化群組原則效能
群組原則 Darren Mar-Elia

最佳化群組原則效能
摘要:
  • 整合型與功能型 GPO
  • 如何處理群組原則項目
  • GP 變更時會發生什麼事

經常有人問我：「從效能的觀點看來，是擁有少數幾個大型 GPO 比較好呢，還是很多小型 GPO 比較好呢？」因此，本文的重點將放在這個問題及其他群組原則相關的設計和效能議題。就大部分的問題來說，
我可以先告訴您答案：「視情況而定」。這雖然聽起來有點含糊其詞，但我的目的是要闡明群組原則處理的基本機制，而無論您是剛開始接觸，還是想要最佳化包含上百個現有 GPO 的環境，都能針對您的群組原則設計做出明智的決策。

整合型與功能型 GPO
先讓我們來說明實作 GPO 的各種方式。「整合型」和「功能型」指的是設計 GPO 的方式。整合型 GPO 包含許多不同區域的設定，例如，整合型 GPO 可能在單一 GPO 裡面包含系統管理範本、Internet Explorer 維護，以及軟體安裝原則的設定。而相反地，功能型 GPO 通常只有一種用途，例如，功能型 GPO 可能只進行軟體安裝，或強制安全性設定。我甚至還看過只包含一個原則設定的功能性 GPO 呢！不過那可能是極為罕見的情況。[圖 1] 說明各種方法的一些優缺點。
Figure 1 Comparing monolithic and functional GPOs (Close Figure 1)

問題 | 整合型 GPO | 功能型 GPO
委派/隔離 | 困難，因為每個 GPO 都包含多個區域的設定，而且您只能在 GPO 層級，而不能在設定層級進行委派。 | 簡單，因為每個 GPO 都只包含一個原則區域，比方說，您可以將軟體安裝 GPO 委派給部署系統管理員，將安全性 GPO 委派給安全性主管等等。
易管理性與複雜度 | 可能比較簡單和容易管理，因為每個 GPO 都把設定包含在同一個地方。 | 可能比較困難，因為比較多的 GPO 表示追蹤問題時要查看的地方也比較多，而且判斷指定使用者或電腦的原則結果組時也比較複雜。
效能 | 可能比較緩慢，因為對於指定的用戶端延伸來說，如果某個 GPO 發生變更，所有延伸模組都需要對領域中的所有 GPO 執行。 | 視使用中的 GPO 數量，以及它們變更的頻率而定。與整合型 GPO 相比，在動態的環境中的效能比較佳。
您可以看到，哪種方法 — 整合型或功能型 — 各種情況都通用，並沒有固定的答案。在您的環境中，您可能兩種都需要用到。舉例來說，當您為整個網域建立安全性原則時，可能覺得功能型方法比較好用。而擁有一個只包含安全性設定的 GPO，比較方便將該 GPO 的控制權委派給安全性系統管理員，以免其他人使用。而在有相同權杖的情況下，如果您將 GP 管理委派給 OU 系統管理員，然後為每個 OU 建立一個整合型 GPO，便可提供這些系統管理員一個讓他們管理所有原則設定的地方。這不但為他們降低工作的複雜度，更可讓您節制針對指定 OU 使用者和電腦建立的 GPO 數目。
這些高階設計的決策何以影響群組原則處理的效能，還有您該如何針對 GP 設計做出明智的決策來盡可能降低效能衝擊呢？要充分發揮群組原則基礎結構的效能，第一步就是了解群組原則處理的實際運作方式。

了解群組原則處理
群組原則處理是一連串複雜的互動作業，牽涉到 Windows® 和 Active Directory® 基礎結構的許多層面。從高階角度來看，群組原則處理分成兩個部分。第一個部分稱為核心，或是群組原則基礎結構處理。在這個階段中，Windows 群組原則用戶端會查詢最接近它的網域控制站，來判斷 DC 的連結速度為何，它存在於 Active Directory 階層的何處 (亦即用戶端是哪個站台、網域和 OU 的成員)，以及有哪些 GPO 套用到電腦或目前登入的使用者 (有一點要注意的是，在這個路徑位置中，用戶端有可能是參加 Active Directory 網域的伺服器或工作站)。GPO 清單一旦建立後，就會開始下一個階段 — 用戶端延伸 (CSE) 處理。在 CSE 的階段期間，每個登錄的 CSE 都會處理在它的區域有實作設定的 GPO 清單。例如，登錄或系統管理範本 CSE 無論在哪種情況下都會先執行，並且處理所有套用到指定電腦或使用者且當中有實作登錄原則的 GPO。
隨後的清單會詳載群組原則處理週期所進行的步驟，包括在用戶端和網域控制站之間的網路互動。要特別注意的是，群組原則會同時套用到電腦和使用者上。因此，原則每次處理時 (例如在背景重新整理群組原則期間)，電腦和指定系統上目前登入的使用者帳戶便會重複我在下面列舉的週期，因為它們各自都會套用不同組的原則。發生這種情況時，Windows 實際上會同時執行電腦和使用者的處理週期，並且在群組原則引擎處理序內的不同執行緒上執行每個週期 (Windows 2000、Windows XP 和 Windows Server® 2003 的 Winlogon 處理序，以及 Windows Vista® 和 Windows Server 2008 中的群組原則用戶端服務)。
處理 GP 的程序包含六個步驟：
  1. 用戶端在網域控制站的站台內執行網際網路控制訊息通訊協定 (ICMP) 低速連結偵測，以判斷連結速度。在 Windows Vista 中，使用 ICMP 偵測低速連結已由網路定位知悉 (NLA) 服務所取代。
  2. 用戶端從它的本機登錄讀取 CSE 狀態資訊，以判斷哪些 GPO 要最後處理。
  3. 用戶端使用 LDAP 在 Active Directory 階層裡面 — 首先是在 OU 層級 (包括所有巢狀 OU)，接著是網域，最後是 Active Directory 站台層級 — 它所在位置內的每個容器物件上搜尋 Active Directory 中的 gpLink 屬性。它根據這項搜尋的結果，建置必須經過評估才能處理的 GPO 清單。
  4. 接著在 Active Directory 內搜尋每個 GPO，以判斷用戶端 (使用者或電腦) 是否具有必要的權限來處理它。它的版本號碼、SYSVOL 中 GPO 的群組原則範本 (GPT) 這個部分的路徑，以及 GPO 內實作了哪些 CSE 也都會進行評估。
  5. 用戶端接著使用伺服器訊息區 (SMB) 通訊協定來讀取 GPT 的內容，並從 gpt.ini 檔案取得 GPO 的版本號碼。群組原則容器 (GPC) 和 GPT 裡面的版本號碼是用來判斷 GPO 自上次處理週期以來是否有所變更的要素之一。
  6. 每個 CSE 以在 HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions 下登錄的順序執行，如果 GPO 自上次處理週期以來有所變更 (在核心處理期間判定)，則處理實作該 CSE 的 GPO。每個 CSE 也會在每次重新處理期間，將使用者原則結果組 (RSOP) 資料 (如果有的話) 記錄到 Windows Management Instrumentation (WMI)。
讓我們來分析一下這個程序，並探討效能會受到什麼影響。第一，要明白前景和背景處理之間的差異。對於電腦，前景處理是發生在系統重新啟動期間；對於使用者，則是發生在使用者登入期間。根據預設，背景重新處理會在工作站和成員伺服器上每 90 分鐘發生一次，若是隨機指定，則最多是 30 分鐘一次。背景重新整理在網域控制站上的預設頻率是每 5 分鐘發生一次。在 Windows Vista 中，您也可以 NLA 為主進行重新整理，這基本上是背景重新整理事件，由前一次群組原則處理因為缺乏網域控制站的存取權 (例如當用戶端在發生背景間隔時處於離線狀態) 而失敗所觸發。這些區別為何這麼重要？主要是因為特定 CSE (例如軟體安裝及資料夾重新導向 CSE) 在背景重新處理期間並不會執行。同樣地，登入/登出或開機/關機指令碼在背景重新整理期間也不會執行。
在本程序的步驟 1 當中，我有提到低速連結偵測程序。而在 Windows Vista 之前的系統中，這個程序有賴用戶端使用 ICMP 去 Ping 網域控制站，來判斷它的可用性和連結速度。如果計算出的連結速度低於特定的閾值 (預設為 500Kb/s)，就會將它視為低速連結，再次強調，特定 CSE (例如軟體安裝、資料夾重新導向和 Internet Explorer 維護) 並不會執行。所有這些情況除了可能對效能造成衝擊之外，也可能影響到預期的原則交付情形。
原則處理週期對效能影響最廣的層面，可能是用來判斷套用至電腦或使用者的 GPO 是否變更的邏輯。群組原則引擎有一個內建的最佳化機制：假如電腦或使用者自上次處理 GP 以來都沒有變更的話，就不會進行任何處理。這很明顯會對用戶端處理原則所花的時間產生相當的衝擊，尤其是如果您的 GP 環境很靜態的話。讓我們更深入探討何謂變更。

當群組原則變更時
那麼，就群組原則處理而言，到底什麼才算是變更呢？影響的因素有很多，但最明顯的是，如果您對 GPO 進行變更，處理該 GPO 的用戶端將會偵測到此變更，並重新處理該 GPO。那麼用戶端要怎麼知道 GPO 已變更呢？這要靠 GPO 上和用戶端內的版本號碼來判斷。
GPO 包含兩個部分 — 在每個網域當中存放在 Active Directory 裡面位於 CN=Policies, CN=System 容器下的 GPC，以及存放在 SYSVOL 位於 [原則] 資料夾下的 GPT。GPO 的每個部分都包含版本號碼，對於 GPC，這個版本號碼是存放在 GPC 物件的 versionNumber 屬性內。對於 GPT，則是存放在指定 GPT 的根目錄中的 gpt.ini 檔案裡面。用戶端也會在它的登錄當中記錄它處理過的 GPO 版本號碼 (包括每一電腦和每一使用者)。對於電腦，這項版本資訊是放在 HKLM\Software\Microsoft\Windows\Currentversion\Group Policy\History 下，而對於每個用戶端上的使用者，則是放在 HKLM\Software\Microsoft\Windows\Currentversion\Group Policy\<SID of User> 下。
當發生群組原則處理時，其中一部分工作是檢查依電腦或使用者而定的所有 GPO 的版本號碼，將它們與上個週期處理過的 GPO (如登錄中找到的) 相加比對。目前 GPO 若有任何不同的版本號碼 (請注意，只會注意是否不同，但它們有可能變大變小！)，便會在目前的處理週期期間處理該些 GPO。如果沒有不同，除非滿足其他變更條件，否則不會進行處理。其他的變更條件如下：
  • 套用到使用者或電腦的 GPO 清單有所變更 (新增或移除 GPO)
  • 使用者或電腦的安全性群組成員資格有所變更
  • 連結到 GPO 的 WMI 篩選器有所變更 (新增或移除 WMI 篩選器)
如果滿足其中任何一項變更條件，那麼用戶端便會在該週期期間重新處理原則。但是在這個程序當中有些微妙的地方您要特別注意，因為它們對效能可能會造成明顯的衝擊。對於指定的 CSE，如果 10 個 GPO 當中有一個產生變更，那麼就必須針對該 CSE 處理所有的 GPO。要記住，處理作業是依每個 CSE 進行。然而，CSE 必須以控制處理的優先順序來處理原則 (先是本機 GPO、再來是站台連結的 GPO，然後是網域連結的 GPO，再來是 OU 連結的 GPO)。根據這項條件，假設我們有名使用者套用 10 個 GPO，每個都在 Active Directory 階層的不同層級上連結。讓我們再假設這 10 個 GPO 每個都有實作一些系統管理範本原則設定。現在，有個系統管理員變更了連結到網域的 GPO — 加入新的系統管理範本原則設定。然後電腦或使用者要處理原則時，注意到那個經過變更的 GPO 的版本號碼比上次處理的時候還大，所以 GPO 需要再次進行處理。但是為了保持 GP 處理的優先順序，它必須處理套用到所有 GPO 的所有系統管理範本設定。因此對單一 GPO 的簡單變更，有可能對該用戶端產生明顯的效能衝擊。

整合型和功能型 GPO 效能比較
了解處理週期，還有對群組原則環境的變更會如何影響處理作業後，讓我們把話題轉回整合型與功能型 GPO，以及它們各自對效能造成的衝擊。
因為群組原則版本控制運作方式的關係，整合型 GPO 對效能可能會有不明顯的負面影響。發生這種情況的原因不是全然一清二楚，但是與群組原則處理當中沒有依 CSE 進行版本控制的概念有很大的關聯。讓我們假設有名使用者身上套用了三個 GPO。每個 GPO 都是整合型的，因為各個都實作了數個原則區域。比方說，假設每個 GPO 都實作了系統管理範本原則、軟體安裝原則和資料夾重新導向原則。現在再假設系統管理員對其中一個 GPO 中的系統管理範本進行了變更。它的版本號碼因為該項變更而增加。接著使用者進來處理群組原則，系統管理範本 CSE 於是啟動，並看到了其中一個 GPO 已變更，所以它又再次處理了這三個 GPO。
當軟體安裝和資料夾重新導向 CSE 執行時，它們也查看了 GPO 版本號碼，並發現到其中一個 GPO 有了新的版本號碼。但是因為新的版本號碼並沒有告訴它們在那個 GPO 中是變更了哪個原則區域，於是為了以防萬一，它們乾脆全部三個 GPO 都再處理一次。結論就是，在整合型 GPO 實作中，對原則的其中一個區域進行變更可能會導致在其他區域進行處理作業。
沒錯，在軟體安裝或資料夾重新導向原則的情況下，該些 CSE 實際上可能不會進行任何動作，舉個例說，要是應用程式已經安裝了，怎麼樣也不會再安裝一次。但重點是，任何 CSE 都可能產生這種行為，而且在設計整合型 GPO 時應將此列入考量。如果您有個原則區域會經常變更，應該考慮將實作該原則區域的 GPO 與其他原則區域分開。
從功能型 GPO 的觀點看來，效能方面的考量因素就比較明顯。如果您的每個使用者或電腦都有多個 GPO (因為功能型方法對於特定原則設定組一般都會牽涉多個 GPO)，就表示群組原則引擎在群組原則處理的核心階段期間，必須花更多的時間來列舉這些 GPO。不過，這對效能不一定會造成顯著的影響，我們在下一節就會談到。

測量群組原則效能
為了對群組原則基礎結構的效能做出明智的決策，您終究得測量群組原則在實際環境內的表現。影響指定處理週期的因素之多，使得製作模型或預測群組原則效能幾乎是不可能。有鑑於此，觀察 GP 處理效能是否有問題的最佳辦法是根據經驗來評量。那到底什麼情況才算效能不彰呢？只要群組原則處理影響到使用者在系統上的使用經驗，都算是效能不彰。這對各個組織來說可能不盡相同，但是關鍵在於在碰到問題時要察覺得出來。
那麼要如何測量指定群組原則處理週期的期間呢？答案可沒那麼簡單。如果您執行的是 Windows Vista 或 Windows Server 2008，可以利用全新的事件檢視器作業記錄。事件檢視器裡面的群組原則作業記錄 (可在 Applications and Services Logs\Microsoft\Windows\Group Policy\Operational 中找到)，為群組原則處理週期各步驟提供了詳實的檢測，包括處理的各個階段所花的時間等 (見 [圖 2])。
[圖 2] 顯示原則處理時間的群組原則作業記錄事件
[圖 2] 顯示原則處理時間的群組原則作業記錄事件
然而，如果您不是在 Windows Vista 或 Windows Server 2008 環境下工作，測量原則處理時間的機制可能就比較不那麼直接了當。在這種情況下，您可以選擇啟用詳細的 userenv 記錄 (請參閱 support.microsoft.com/kb/221833 上的 Microsoft 支援文件)，並查看該檔案當中指定處理週期的時間戳記，或是使用用戶端上存放在登錄內代表原則處理開始和停止時間的值。這些值是存放在電腦的下列位置：
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\
Group Policy\State\Machine\Extension-List\
{00000000-0000-0000-0000-000000000000}
使用者的位置如下：
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\
Group Policy\State\<SID of User>\Extension-List\
{00000000-0000-0000-0000-000000000000}
這些值是以 FILETIME 的格式儲存，而且必須轉換成標準的日期和時間。您也可以使用我寫的免費 GPTime.exe 公用程式 (可自 gpoguy.com/tools.htm#GP_Time_Utility 取得) 來取得相同的資訊。
如果您沒有 Windows Vista 或 Windows Server 2008 環境，但可存取 userenv 記錄，還是可以取得每個原則處理週期花了多少時間這類的寶貴資訊。例如，[圖 3] 便顯示了 userenv 記錄的片段，指出群組原則處理核心階段的那部分。
[圖 3] userenv 記錄的一部分
[圖 3] userenv 記錄的一部分
請注意，記錄檔的每一行都包含時間戳記。當您看到有個事件顯示類似「ProcessGPOs:Starting user Group Policy (Background) processing ... (ProcessGPOs: 開始使用者群組原則 (背景) 處理...)」的內容時，就表示群組原則處理週期的核心部分已經開始。而當您看到「ProcessGPOs:Processing extension Registry. (ProcessGPOs: 處理延伸登錄)」一行時，表示處理週期的 CSE 部分已經開始。您可以利用這個記錄檔及當中的時間戳記來判斷原則週期的各個部分所花的時間。

概略的效能觀察
您要是花足夠的時間分析 userenv 記錄檔，就會開始看出一些成形的模式，雖然您無法預測出原則處理會花多久的時間，但是您可以粗略觀察到指定處理週期的時間都花在什麼地方。舉例來說，在原則處理事件期間，當要處理原則變更而 CSE 因為變更而有事要做時，花在 GP 處理的核心部分的時間，與 CSE 部分相較起來通常要短很多。
大部分的原則區域都是如此，因為大多數 CSE 需要執行的工作所執行的時間比它們處理核心部分還要久，它們最耗時的作業是查詢 Active Directory 和 SYSVOL。例如，花在核心處理與花在執行 Microsoft® Office 安裝的軟體安裝 CSE 之間的時間根本沒得比。但是，就原則正常的背景重新處理作業而言，如果自上個週期以來沒有什麼變更，處理週期的核心部分所花的時間大約與 CSE 部分相同。這種情況的例外是登錄原則處理 — 除非您對指定的使用者或電腦設有數十個或上百個登錄原則設定，否則速度其實相當快。
此外，因為用不到而停用 GPO 的電腦或使用者端，對原則處理效能的影響並不大。如果原則端用不到，那麼唯一的負荷將是發生在查詢 Active Directory 來確定這一點，而且當進行查詢以確定是否已針對該 GPO 端實作任何 CSE 時，也必須執行相同的查詢來檢視停用選項。停用一端的影響可說是微不足道。

最佳 GP 效能的設計建議
探討了群組原則處理效能這麼多層面之後，此處提供一些會直接影響效能的設計建議。總共可歸納為四個重點。
  1. 如果您會經常變更 GPO，請謹記前文提到對一個 CSE 進行變更可能會影響所有 CSE 處理作業。就此而言，假設您打算經常變更登錄原則，把登錄原則放入功能型 GPO (只處理登錄原則的 GPO) 可能比較妥當，因為在發生變更時，可將其他 CSE 隔離而不用處理。
  2. 當不確定適當的 GPO 數量時，記住原則處理只會在發生變更時進行，而且「耗資源」的 CSE (像是軟體安裝、資料夾重新導向等)，或是處理大量登錄原則，或是設定大型檔案或登錄樹狀目錄的權限時，都很耗時間。在核心處理期間用來查詢 Active Directory 以取得 GPO 清單所花的時間，往往是處理週期最不耗時間的部份。因此，處理 30 個套用到指定使用者不做什麼登錄原則變更，也不常變更的 GPO 所花的時間，可能比處理 5 個經常執行耗資源的 CSE 的 GPO 來得短，因為這些 GPO 經常變更。
  3. 避免會明顯折損原則處理效能的行為。例如，您可以設定原則強制 CSE 即使 GPO 未經過變更也進行處理 (在 [電腦設定]\[系統管理範本]\[系統]\[群組原則] 下)。不過，要是這麼做，每個週期期間的原則處理肯定會花更長的時間。
  4. 記住停用 Windows XP 和 Windows Vista 中的快速登入最佳化 (透過在 [電腦設定]\[系統管理範本]\[系統]\[登入]\[永遠在電腦啟動及登入時等待網路啟動] 中啟用原則來完成) 所需付出的代價。當啟用此原則時，前景處理會從非同步切換為同步處理。這表示，電腦和使用者原則必須完成執行後，使用者才能獲得電腦和桌面的控制權。不過，它也可能提供一些好處，因為它可以解決需要兩次或多次重新開機或登入才能使軟體安裝和資料夾重新導向原則生效的問題。

總結
雖說群組原則處理的效能不算是一門真正的科學，還是有些實用的觀點可以帶入設計過程，藉此緩和效能方面的問題。
了解處理週期的運作方式，以及時間都花在什麼地方，對追蹤效能問題將大有幫助。使用 Windows Vista 或 Windows Server 2008 作業記錄 (或是舊版 Windows 中的 userenv 記錄) 來取得處理週期相關的指示資訊。記得從 CSE 的觀點來探勘 CSE 處理難以捉摸的行徑，以及原則當中所謂的變更是什麼。也別忘了，在經常變更的動態環境中，功能型 GPO 可能比整合型 GPO 受用。但重要的是，群組原則是一種為了幫助您更妥善管理 Windows 環境而設計的技術。因此當以商務需要為依歸，來推動群組原則的設計，而不要本末倒置。將此處討論的效能行為謹記在心，將可助您達成此一目標。

Darren Mar-Elia是一位 Microsoft 群組原則 MVP，也是知名群組原則網站 — www.gpoguy.com 的打造者和《Microsoft Windows Group Policy Guide》(Microsoft Press，2005 年) 的作者之一。他還是 SDM Software Inc. 的 CTO 和創辦人，您可以透過電子郵件與他連絡：Darren@gpoguy.com。


 群組原則: 深入探討進階群組原則管理
群組原則 Derek Melber

深入探討進階群組原則管理
摘要:
  • AGPM 安裝與架構
  • 離線編輯 GPO
  • 以 AGPM 進行變更管理
  • 嚴重損壞修復

最近由 Microsoft 併購的 DesktopStandard 公司曾推出一項可以完全掌控群組原則物件的產品。我認為每一家使用 Active Directory 的企業，都應該執行這個工具 — 進階群組原則管理 (AGPM)。
AGPM 的用途相當廣泛，包括離線編輯群組原則物件 (GPO)、變更管理、更新原則與委派的工作流程等等。本文將探討它的內部運作方式，讓您深入瞭解這個令人耳目一新的超值產品。
首先讓我做一下背景介紹。AGPM 最初名叫 GPOVault，Microsoft 在併購 DesktopStandard 之後，將它改名為 AGPM，並且將它合併到 Microsoft® Desktop Optimization Pack (MDOP)。您目前只能透過 Microsoft 軟體保證所涵蓋的 Windows Vista® 桌上型授權取得 MDOP。
就我使用這些隨附工具的經驗來看，我認為 MDOP 絕對是近來 Microsoft 最令人驚豔的產品了。MDOP 包含五種不同的工具，每一種都令人印象深刻，組合起來就成為絕倫的超值工具組。有關 MDOP 的詳細資訊，請參閱 MDOP 網站：windowsvista.com/optimizeddesktop。

AGPM 安裝與架構
GPM 安裝架構的設計相當輕巧簡便 — 只有一個伺服器元件和一個用戶端 (系統管理) 元件。伺服器元件應該是安裝在該網域的成員伺服器上；它不會改變 Active Directory®、結構描述或其他任何目錄服務。必要的話，AGPM 也可以安裝在網域控制站。
伺服器安裝架構會安裝一項服務，要求使用網域型服務帳戶，AGPM 可以從這裡代表使用者存取現場實際執行的群組原則物件。這個安裝架構也要求有個 AGPM 系統管理員，負責掌控 AGPM 當中所有的設定，例如，委派和初始 GPO 管理。
用戶端則必須安裝在執行 Windows Vista、並且已具備一般系統管理功能的電腦上 (最有可能是在網路和 Active Directory 的系統管理員的桌上型電腦上)。用戶端現在必須將 AGPM 設定指向 AGPM 伺服器，建立與封存的連線。AGPM 用戶端會使用群組原則管理主控台 (GPMC) 介面，以變更控制節點的形態出現，如 [圖 1] 所示。
[圖 1] AGPM 已完全整合至 GPMC 以提供使用便利性
[圖 1] AGPM 已完全整合至 GPMC 以提供使用便利性
AGPM 用戶端所要存取的檔案，是以基本的檔案格式儲存在 AGPM 伺服器上。這是儲存這些檔案最簡單的方法，而這樣也很容易備份整個 AGPM 封存。大部分的 AGPM 功能都使用內建的 GPMC API，因此也可達成完美的整合，以及善用該產品。AGPM 並不會使用資料庫；它把 GPO 儲存在一個資料夾，並且由一份資訊清單負責控制封存中所有 GPO 與上層 GPO 的關聯。這種作法可以確保所有的 GPO 都具備唯一的 GUID，但在將它置於生產環境時，正確的 GUID 會在部署時與 GPO 相關聯。

AGPM 離線編輯
AGPM 最基本的功能，是在生產環境以外的地方離線編輯 GPO。大家都知道，使用預設 GPMC 來編輯 GPO 會產生錯誤的設定，這些錯誤設定會立即推入生產環境，因而很可能導致慘重的後果。
APGM 是藉由「控制」GPO 來處理 GPO 的編輯。受到控制的 GPO (如 [圖 2] 所示)，可以在不介入生產環境的情況下離線編輯。
[圖 2] 受控制 GPO 是存放在 AGPM 封存中，而且可以離線編輯
[圖 2] 受控制 GPO 是存放在 AGPM 封存中，而且可以離線編輯
控制 GPO 其實很簡單。未受控制的 GPO (如 [圖 3] 所示)，會列出所有尚未與 AGPM 封存相關聯的 GPO。當您在其中一個 GPO 按一下滑鼠右鍵之後，就會出現一個當中有包含 [控制] 的功能表。您可以選取 [控制] 功能表選項，將 GPO 從實際執行位置 (系統磁碟區或 SYSVOL、網域控制站上的共用區) 複製到 AGPM 封存。您可以同時控制多個 GPO；只要按住 Shift 鍵或 Control 鍵，再選取 GPO，就會顯示您希望控制的 GPO 清單，接著再按一下滑鼠右鍵，就可以存取 [控制] 功能表選項了。您還是用群組原則物件編輯器 (GPOE) 來編輯控制的 GPO，我們只是換一種方式，把 AGPM 完全整合到 GPMC。
[圖 3] 您可選取 [控制] 功能表選項將未控制的 GPO 放在封存中
[圖 3] 您可選取 [控制] 功能表選項將未控制的 GPO 放在封存中

AGPM 系統管理委派
接下來讓我們回頭看看 AGPM 處理委派的方式，首先我們要檢查如何使用 GPMC 委派 GPO 系統管理。在 GPMC 中，您可以授與使用者五項不同的委派工作：建立 GPO、連結 GPO、編輯 GPO、管理 GPO，以及讀取 GPO。
這些委派都是在 GPMC 介面當中完成。它們全由與 GPMC 中不同節點相關聯之 [委派] 索引標籤所列的使用者和群組所控制。我們所關心的是那些容許建立新 GPO，以及編輯和管理現有 GPO 的委派。
在 GPMC 建立 GPO，是由與群組原則物件節點相關聯的 [委派] 索引標籤負責，如 [圖 4] 所示。AGPM 安裝之後，您就可以從清單中移除所有有權建立 GPO 的使用者和群組，而不必從 [委派] 索引標籤移除系統、電腦或電腦群組。建立 GPO 的工作現在是由控制 AGPM 服務的服務帳戶負責處理。這個帳戶會獲得委派的權限，代表所有從 AGPM 內獲有「建立 GPO」和「部署」委派權限的使用者和群組來建立 GPO。
[圖 4] GPO 的建立是由 GPMC 中的 [群組原則物件] 節點上的 [委派] 索引標籤上的帳戶清單所控制
[圖 4] GPO 的建立是由 GPMC 中的 [群組原則物件] 節點上的 [委派] 索引標籤上的帳戶清單所控制
這項建立 GPO 的新功能可以區分職責，並保護生產網路。在理想的情況下，GPO 會先經過建立、設定和驗證之後，才從 AGPM 環境部署到生產環境，這樣一來，就比較不會產生在不用 AGPM 時所碰到的錯誤設定。
與編輯或管理 GPO 相關聯的委派，也是同樣的情況。在 GPMC 中，這些委派是在與每一個 GPO 相關聯的 [委派] 索引標籤上設定，如 [圖 5] 所示。
[圖 5] 編輯和管理 GPO 是與每個 GPO 個別產生關聯
[圖 5] 編輯和管理 GPO 是與每個 GPO 個別產生關聯
但是安裝 AGPM 之後，就必須從群組原則物件節點下面所列的每一個 GPO 移除這些委派，以限制所有的系統管理員編輯 AGPM 外面的 GPO。這基本上是把 GPO 的所有系統管理轉交 AGPM，以便執行離線編輯、變更管理以及嚴重損壞修復等工作。
您必須透過手動方式移除在 AGPM 外面編輯 GPO 的使用者和群組。AGPM 的安裝和設定，並不會移除在生產環境中編輯 GPO 的任何使用者或群組。由於控制 AGPM 服務的服務帳戶，將代表使用者從 AGPM 修改生產 GPO，因此不必在每一個 GPO 的 [委派] 索引標籤列出任何使用者或群組 (不過您不應該從這些 [委派] 索引標籤移除電腦和電腦群組)。
當所有在 GPMC 編輯 GPO 的委派全部移除之後，就會拒絕所有系統管理員從 GPMC 編輯 GPO 的能力，如 [圖 6] 所示。
[圖 6] 系統管理員一旦遭到此動作拒絕委派，便無法從 GPMC 編輯 GPO。
[圖 6] 系統管理員一旦遭到此動作拒絕委派，便無法從 GPMC 編輯 GPO。
為了決定最終設定，您必須把所有需要編輯 GPO 的系統管理員，全部加入 AGPM 內適當的存取控制清單 (ACL) 當中。如果您希望系統管理員能夠編輯封存中所有的 GPO，請將他的使用者帳戶加入到有權在 AGPM 網域層級編輯的群組中，如 [圖 7] 所示。如果您只容許系統管理員編輯 AGPM 封存中的少數幾個 GPO，請在每一個 GPO 當中進行這項設定 (見 [圖 8])。
[圖 7] [網域委派] 索引標籤容許設定在封存中編輯所有 GPO
[圖 7] [網域委派] 索引標籤容許設定在封存中編輯所有 GPO
[圖 8] 編輯個別的 GPO 需要在 GPO 的 ACL 上設定
[圖 8] 編輯個別的 GPO 需要在 GPO 的 ACL 上設定

AGPM GPO 變更管理
AGPM 有一項超棒的優點是，它可以追蹤對封存中的 GPO 所做的所有變更。由於這是自動化的程序，因此您不必安裝、設定或管理它。當透過 AGPM 用戶端介面來管理 GPO 時，同時也會在背景追蹤所有的變更。
這個程序大大強化了預設 GPMC 處理 GPO 管理的方式，因為預設的 GPMC 並沒有自動化或甚至是內建功能可以追蹤 GPO 的變更。而這是多年來最為群組原則系統管理員垢病的一點，現在總算獲得圓滿解決了。
AGPM 變更管理功能會追蹤所有可能對 GPO 所做的重要修改。除了 GPO 的變更之外，變更管理系統也會協助稽核或追蹤整體的系統管理。每次進行的 GPO 編輯和變更，變更管理系統都會監視、追蹤和記錄下列各項：修改 GPO 的日期和時間、負責變更的使用者、原始 GPO 設定，以及對 GPO 設定所做的修改。
追蹤所有變更是連續不間斷的動作，因此您必須知道是由哪些動作觸發自動化追蹤。您可以在 AGPM 用戶端介面中，用滑鼠右鍵按一下 [控制] 索引標籤下的 GPO，然後選取 [簽出] 功能表選項，如 [圖 9] 所示。
[圖 9] 簽出 GPO 將觸發自動化程序來追蹤變更
[圖 9] 簽出 GPO 將觸發自動化程序來追蹤變更
您必須按照這個程序來編輯 GPO，這一點我將在下一節討論。即使 GPO 被簽出之後在沒有做任何變更的情況下很快又被簽回，這個動作還是會被封存起來。由於 GPO 是企業不可或缺的一部分，因此這個工具甚至還會追蹤發生變更的可能性。
簽出程序是在 AGPM 內強制執行，因為您借助某種機制，來追蹤進行 GPO 變更的系統管理員。一個 GPO 一次只能由一名系統管理員簽出。如果系統管理員簽出 GPO 之後，卻無法將它簽回，AGPM 系統管理員也可以利用內建機制將它簽回。

AGPM GPO 編輯
只要安裝 AGPM 用戶端，您就可以存取 AGPM 封存。一旦在 AGPM 工具內授與編輯或完全控制的委派，您就可以編輯儲存的 GPO。GPO 被簽出之後，您可以在 GPO 按一下滑鼠右鍵，選取 [編輯] 功能表選項編輯它 (注意：如果您只能編輯 AGPM 封存中部分的 GPO，可能是因為您在封存中只獲有部分而不是所有 GPO 的委派能力)。
Microsoft 在併購 DesktopStandard 之後，又併購了 PolicyMaker，並且將後者改名為群組原則喜好設定。這組群組原則功能被合併到 Windows Server® 2008 所附隨的 GPMC 中。群組原則喜好設定容許系統管理員設定平常無法透過群組原則設定的應用程式或 Windows 元件，並且根據一組豐富的目標法則，將它套用到特定的使用者或電腦上。群組原則喜好設定已經與 Windows Server 2008 中的 GPMC 和 AGPM 完全整合。

AGPM GPO 部署
AGPM 是基於效率與工作流程的考量而設計。GPO 現在透過使用 AGPM ，管理起來更加穩定，也更容易掌控，因此現在可以讓系統管理員只編輯 GPO，而不能將它部署到生產環境。在 AGPM 當中，這是透過介面、對話方塊以及工作機制順利得到控制。舉個例說，如果只具備編輯權限的系統管理員想要部署 GPO，系統便會封鎖它。接著系統管理員會看到一個對話方塊，讓他與具有部署委派權限的系統管理員溝通。這項工作流程功能會同時傳送一封電子郵件給收件人，還有副本收件人，並且將 GPO 置於唯一狀態。這個唯一狀態位於 AGPM 介面的 [擱置中] 索引標籤下面。GPO 在這裡被標示為 [擱置中部署]，讓系統管理員得以快速檢視其上有執行動作的每一個 GPO 的狀態。
具有部署委派權限的 AGPM 系統管理員只要用滑鼠右鍵按一下 GPO，選取 [核准] 功能表選項，就可以部署擱置中的 GPO 。如果 GPO 需要部署，並且列在 [受控制] 索引標籤當中 (而不是列在 [擱置中] 索引標籤當中)，同一名系統管理員只需要用滑鼠右鍵按一下這個 GPO，選取 [部署] 就可以了。委派權限既已授與，GPO 便會馬上部署到生產環境。

AGPM GPO 設定報告與比較
GPMC 介面有一個功能強大的 [設定] 對話方塊，是透過一個同名索引標籤加以存取。這個 [設定] 對話方塊可以完整呈現 GPO 中所有的設定，幫助您在將近 3000 個左右的群組原則設定當中，找出已經設定好的 GPO。
由於 AGPM 可以封存已修改的 GPO，因此 GPMC 中的 [設定] 索引標籤不會讓您看到已編輯的 GPO 中的設定。AGPM 介面會提供另一個解決方案，以及其他更多的方法。
如果您要查看任何一個 GPO 中的設定，最好先檢視所有變更的歷史清單。若要取得這份清單，只要按兩下 AGPM 中 [受控制] 索引標籤內的任何一個 GPO 即可。您可以在這個介面用滑鼠右鍵按一下任何一個 GPO 版本，選取 [設定報告]，接著就會建立一份報告，列出該版 GPO 中所有的設定。這個報告檔是採用方便的 HTML 格式，不過您也可以用 XML 格式建立它。
雖然這個報告檔很有用，不過如果能夠比較同一個 GPO 的兩種版本，那就更方便了。這個功能可讓您看到這一版到另一版的變動，或者比較同一個 GPO 的兩個完全不同版本 (如果您的 GPO 正擱置部署，也可以使用這項功能，因為它可讓您看到擱置中 GPO 以及生產 GPO 之間的差異)。如果要查看這份報告，可反白顯示歷程記錄檢視中的兩個不同 GPO，然後用滑鼠右鍵按一下其中一個。
差異報告中的彩色編碼相當有用，尤其當您在部署擱置中 GPO 之前，希望先確認它有哪些變更時更是方便。紅色反白顯示的設定，代表已經從生產 GPO 刪除、無法再用於擱置中 GPO 的設定。藍色設定代表變更的設定，綠色設定代表擱置中 GPO (而不是生產 GPO) 中新的變更。
這項 AGPM 功能不知可以幫您省下多少手動比較 GPO 設定的時間，此外，也可以完美記錄一段時間的 GPO — 每一個版本都可以報告並且列印。

AGPM GPO 嚴重損壞修復
即使只對 GPO 做一項改變，都有可能在網路上的一或多部電腦引起軒然大波。但是有了預設 GPMC，就可以更正這種錯誤設定。不過，您必須採用適當的手動步驟，分別備份變更前與變更後的生產 GPO，如果沒有備份，要從嚴重損壞修復就沒那麼容易了。
AGPM 對於這種情況倒是能夠應付自如。因為在整個 GPO 的歷程記錄當中，所有的 GPO 都有完整備份，因此您可以很方便的開啟 GPO 的歷程記錄，選取您要重新部署的 GPO 版本。
有了 AGPM，群組原則的管理就變得順暢無阻。多年來，系統管理員一直希望具備離線掌控和管理 GPO 的能力，而 AGPM 果然不負眾望，簡潔了當的提供這項功能。另外，AGPM 也提供了一項非常強大的變更管理解決方案，不僅能夠追蹤變更 GPO 的主要區域，還能夠讓您輕鬆的比較 GPO 以及進行嚴重損壞修復。您可以利用內建於 AGPM 的委派模型，將所有的系統管理員轉交 AGPM，對 GPO 進行所有的編輯作業，這項功能會自動備份 GPO 變更，並且移除所有生產 GPO 的嚴重損壞事件。這項服務所提供的功能實在不勝枚舉，無法在此一一討論，不過您可以在 AGMP 手冊中，找到許多有關範本、節點連結復原、SMTP 設定及其他資訊。

Derek Melber 是一名獨立的顧問、培訓講師暨作者。他負責教授和宣導 Microsoft 技術，主重 Active Directory、群組原則、安全性和桌面管理。Derek 定期撰寫線上和書面出版品，技術方面的著述多達 10 本以上，其中包括《Microsoft Windows Group Policy Guide》(Microsoft Press，2005 年)。您可以透過電子郵件與他聯絡：derekm@braincore.net。


 編輯的話: 收服一個憤世嫉俗的人
編輯的話
收服一個憤世嫉俗的人
Joshua Hoffman

我是一個憤世嫉俗的人。 沒錯，我知道，在別人眼中，我們這些紐約客身段低，耳根子軟，又天真得可以。不過一個疲憊的靈魂偶爾也要流竄在林肯隧道，好好放縱一下自己吧。身為一個憤世嫉俗的人，我有遇事就質疑的傾向，要收服我可不是件容易的事。
我在 Redmond 的同事也許不想聽我說這些，不過幾年前 Microsoft 推出 System Center 品牌時，我的確是有點酸溜溜。別誤會 — 我可是徹頭徹尾死忠的 SMS 迷。過去我在擔任桌面部署和管理專家時，Systems Management Server (v2.0 以後) 可是我彈藥庫裡面相當重要的武器。但是隨著 System Center 品牌的問世，以及產品線的成長，我凡事質疑的天性又油然而生了。
真的有這個必要嗎？這對客戶有幫助嗎？將產品線多樣化經營，難道不會對我們熟知且深愛的旗艦管理產品產生負面影響嗎？
我不得不承認，儘管我一開始就有不祥的預感，終究還是臣服在 System Center 腳下。SMS 和 MOM (現在又稱為 Configuration Manger 和 Operations Manager) 已經擠身為世界級管理產品，每一版都會推出強大 (甚至令人驚訝) 的新功能。它們不但沒有被後起之浪淹沒在沙灘上，甚至還有日益壯大的趨勢。
最近幾個月來，我們探討了新的 Configuration Manager 和 Operations Manager 產品，還有早期一些 System Center 系列的附加元件 (例如，Capacity Planner、Desired Configuration Monitor 和 Essential)。而本月份正如您所見，我們將深入研究一些相當強大的新功能。
開場將由 Edwin Yuen 打頭陣，他告訴您 Virtual Machine Manager 2007 不但可以協助集中管理您的虛擬化基礎結構，同時也可以幫助您移除一些麻煩的移轉障礙，讓您將舊版硬體合併到新的虛擬機器中。接著由 Calvin Keaton 引導我們認識新版的 Data Protection Manager，它不但將強大的磁碟備份解決方案運用在標準使用者資料 (例如，文件)，同時也運用在企業資料上，例如，儲存在 Exchange Server 的重要資訊。最後再由 Paul Bourgeau 介紹第一個裝載的 System Center 解決方案 — Asset Inventory Service。
如果您對 System Center 系列的新功能有任何意見，請不要客氣，來信請寄 tnmag@microsoft.com。 —Joshua Hoffman

感謝下列 Microsoft 技術專業人員：Karandeep Anand、Joseph Dadzie、Ray Hayes、KC Lemson、Bill Scheidel、Jeffrey Snover、Mike Stephens、Kevin Sullivan、Jim Truher 以及 Winni Verhoef。


 讀者來信: 讀者有話直說
讀者來信
讀者有話直說

VMRCplus 問題
我是在看了 2007 年 10 月號《公用程式焦點》(technetmagazine.com/issues/2007/10/UtilitySpotlight) 的介紹之後，下載了 VMRCplus。但是每次我一連接遠端機器，就會發生 RPC 錯誤。由於 Virtual Server 管理介面是以網路為基礎，因此我假設這個應用程式也是使用網路介面，只是就現有的網路技術，加上更豐富的用戶端經驗罷了。結果，它竟然是使用 COM API！
— blogs.technet.com/tnmag.

VMRCPlus 實際上是使用與 Virtual Server 所附隨之 VMRC 遠端控制用戶端相同的網路路徑 (它其實是一個用戶端應用程式，而不是網路介面)。也就是說，您必須具有下列連接埠的存取權：
  • 連接埠 5900，這是 VMRC Server 的預設連接埠
  • 連接埠 1024，這是管理網站的預設連接埠
  • 連接埠 137 和 138，它們是 Kerberos V5 票證授權單位所用的 TCP 和使用者資料包通訊協定 (UDP) 連接埠
  • 連接埠 135，這是用於 RPC 端點對應程式的連接埠
如需其他詳細資訊，請參閱 microsoft.com/technet/prodtechnol/virtualserver/2005/proddocs/vs_operate_using_VMRC_manageVMs.mspx。

使用 Windows PE
我在拜讀您的大作＜Windows PE 入門＞ (2006 年 9 月，technetmagazine.com/issues/2006/09/WindowsPE) 之後，也想試著讓 Windows® PE 在附有網路支援的 VMWare 工作站環境中運作，但是卻無法令 Windows PE 使用 NIC 驅動程式存取網路。我利用 Windows PE 映像 ISO 檔從 VMWare 開機。啟動之後，畫面出現了一個命令主控台，但是輸入 ipconfig 時卻沒有顯示 IP 位址。它也無法解析來自我 DHCP 伺服器的位址。
—John C.

這個問題的癥結在於，Windows Vista® 並不支援 VMware 預設安裝的 NIC (這是 Windows PE 2.0 的基礎)。您必須在虛擬機器設定檔 (VMX 檔) 中指定另一個 NIC 類型，如下所示：
ethernet0.virtualDev = "e1000"
不過，這個動作必須利用文字編輯器 (例如，記事本) 編輯 VMX 檔，以手動方式完成，不能透過任何 GUI 加以編輯。這項更動會把現有的內建虛擬化 NIC，換成 Windows Vista 支援的 Intel 1GB NIC。最重要的是，只要換成這個值之後，就不必加入任何網路驅動程式。

將 SQL Server 中的查詢效能最佳化
在＜最佳化 SQL Server 查詢效能＞(2007 年 11 月，technetmagazine.com/issues/2007/11/SQLQuery) 一文中，作者以 SQL Server™ 2005 為例，尋找前 20 個最耗用資源的執行查詢。但是，它卻不在 SQL Server 2000 中執行。您可以告訴我有哪一個查詢可以搭配使用這種舊版的 SQL Server 嗎？
—Arun N.

很可惜，我們找不到能夠搭配 SQL Server 2000 使用的查詢 — SQL Server 2000 並未把這項查詢資訊收集並顯示在它的程序快取當中。這項資訊只能在 SQL Server 2005 所含的全新一組動態管理檢視中看到。

MIISWorkflow 應用程式無法運作
讀過＜建立單步提供工作流程＞(2007 年 5 月，technetmagazine.com/issues/2007/05/Workflow) 一文之後，我有一些問題想請教。MIISWorkflow 應用程式有受到支援嗎？它與 .NET Framework 2.0 相容嗎？我想在 Visual Studio® 外面開啟這個應用程式，卻發生「服務無法使用」錯誤。一直以來我以偵錯模式執行它都沒問題，但只要我關閉 Visual Studio，直接開啟這個應用程式，就會出現錯誤。到底是什麼原因，讓應用程式停止應用程式集區，以及 (或者) 產生「服務無法使用」錯誤？
—Cliff C.

MIISWorkflow 應用程式並不是受到正式支援的 Microsoft 產品，只是作為教育訓練用的範例程式碼而已。
如果您想討論有關身分管理的問題，最佳的地方就是 TechNet 論壇身分識別管理網站，網址為 forums.microsoft.com/TechNet/ShowForum.aspx?ForumID=540&SiteID=17。這些論壇是由 Microsoft 產品小組成員以及社群專家負責監視，是直接支援這類問題最佳的來源。


 工具箱: 適合 IT 專家的新產品
工具箱
適合 IT 專家的新產品
Greg Steen

駕馭 Windows PowerShell
PowerGUI
powergui.org
如果您還沒開始使用 Windows PowerShellTM，很可能很快就會用到。Windows PowerShell 在 Windows Server® 的領域中已逐漸成為核心的系統管理工具。簡單來說，它已成為以指令碼管理 Exchange Server 2007 的基礎。
若要以 Windows PowerShell 的原始格式來活用此工具，您需要記住一大堆語法、指令程式和一般結構。當然，您可能沒有那麼多時間 (或力氣) 來投入這項工作。不過要是有個集中式圖形系統管理主控台，可以幫您管理指令碼呢？其中的使用者介面會提供可自訂的範本、類似 IntelliSense® 的編輯功能，以及有分享指令碼的社群作為支援，您覺得如何呢？有了這樣的環境，您就能快速以指令碼處理所需的工作，而且永遠知道從哪裡找到它們以供未來重複使用和參考。
別擔心 — 我不是逗著您玩。PowerGUI 就是一個專為 Windows PowerShell 提供的 GUI 架構環境，PowerGUI 是由 Quest Software 贊助的免費軟體產品。雖然這個應用程式在本專欄的撰文期間仍在測試階段，但它能提供簡單好用且可延伸的系統管理 GUI，有點像是打了類固醇的 Microsoft® Management Console (MMC) 嵌入式管理單元。
在 GUI 中，您可以任意按兩下提供的指令碼或是您自己自訂的指令碼來執行，並以表格式檢視顯示傳回的資料集。您可以對這些資料套用資料行和值篩選器，以便切入您需要的資訊。此外，您可以加入自訂資料行以提供計算值或符合特定需求的自訂結果。
從 GUI 中，您可以啟動 Windows PowerShell 提示或應用程式的內建指令碼編輯器。指令碼編輯器為您提供如同 IntelliSense 的基本環境，顯示可用指令程式碼的語法，以及標準檔案和編輯功能，例如尋找及取代、列印及剪下/複製/貼上。您也可以將步驟加入書籤。
不僅如此，PowerGUI 還讓您對資料集套用多個可自訂和可延伸動作。比方說，本機系統服務指令碼可讓您在指定服務上開始、停止、暫停和設定屬性。另一個不錯的功能是在指令碼之間加入連結，實際上可讓您根據一般項目串連指令碼以取得所需資訊。例如，您可以從特定群組取得使用者清單，然後將清單連結到指令碼來顯示在使用者主目錄中的資料量。除了上述功能以外，PowerGUI 還有一些關於報告與檢閱的常見動作指令碼，可讓您傾印資料成 XML、CSV、HTML 和剪貼簿。
您可以加入自己的指令碼或根據提供的範本而自訂的指令碼，藉此延伸個別指令碼動作和一般動作。在指令碼上叫出屬性視窗可讓您就地編輯指令碼，或單純查看指令碼的運作情況。
另一項可貴的功能是 PowerGUI 網站社群程式庫，為使用者提供共用和下載指令碼的位置以便輔助您的系統管理工作。在此您可以找到用於 Active Directory® 管理、Exchange 伺服器管理、Microsoft Operations Manager 工作、一般 Windows Server 工作等作業的指令碼及動作。若您想要提供 GUI 式的可延伸系統管理工具來配合 Windows PowerShell 使用，PowerGUI 是一個不錯的起點。

售價：免費
透過圖形化 UI 來簡化 Windows PowerShell
透過圖形化 UI 來簡化 Windows PowerShell

從環保概念選購產品
Electronic Product Environmental Assessment Tool
epeat.net
談到環保概念，您必須考慮電腦整個生命週期的整體成本。也就是指製造、使用和處置電腦時所耗用的總能源 (遑論物料使用及廢物製造等其他因素)。這樣看來，整體成本頗驚人 (有關涉及環保與財務成本的概觀，請參閱 Dave Ohara 於 2007 年 10 月號的《TechNet Magazine》所撰寫的文章：technetmagazine.com/issues/2007/10/Green)。
幸好，有越來越多使用者及企業意識到基礎架構對於財務與環境雙方面的影響力。因此，他們開始尋找可縮減能源消耗的產品。環保電子協會 (Green Electronics Council) (greenelectronicscouncil.org) 專為想要協助公司應付這項需求的 IT 專業人員提供一項工具。
這個機構的工具，綽號為 EPEAT (Electronic Product Environmental Assessment Tool 的簡稱)，它可根據 51 項不同的環境準則來評估電子產品 — 其中有 23 項是必要準則，而 28 項是選擇性準則。等級如下：銅級 (意指產品符合基本的必要準則)，銀級 (符合所有必要準則，再加上 50% 的選擇性準則)，金級 (符合所有必要準則，再加上 75% 以上的選擇性項目)。
這些準則涵蓋產品的完整生命週期，從製造的物料選擇、使用期間的耗電量，乃至於使用期結束後的管理。標準的必要準則大量涵蓋產品影響的聲明，例如聲明產品有多少部分使用回收塑料來製造，指出產品中包含的物料需要特殊處理，以及聲明產品的包裝使用了多少回收原料 (所有 EPEAT 註冊的產品目前都符合能源之星 3.0 (ENERGYSTAR 3.0) 標準；至 2008 年 1 月底，這些產品都將遵循最新的能源之星 4.0 [ENERGYSTAR 4.0] 標準)。
此外，獲得認證的產品必須針對產品和產品的可充電電池 (若有的話) 提供「回收」服務。另一項有趣的要求則是需要提供三年保固或服務合約，理論上，這項要求應該有助於延長裝置壽命，進而減少高更換率所造成的整體影響。
有些選擇性標準包括排除特定重金屬 (例如，鎘)、模組化設計、公司有關環保實務與原則的協力廠商認證，以及各種可回收性的百分比等級。
目前提供四種產品類別：桌上型電腦、整合系統、監視器和筆記型電腦。產品類別將持續擴充，2009 年可望列入伺服器標準。
同時，大多數的主要製造商正一一加入。2007 年 1 月的美國行政命令 13423 (Executive Order 13423) 也起了推波助瀾的功效，其中規定所有購買電子產品以達此需求的聯邦政府機構，其購買的 Electronic Product Environmental Assessment Tool (EPEAT) 註冊電子產品都必須至少達到這些需求當中的 95% (whitehouse.gov/news/releases/2007/01/20070124-2.html)。
因此，若您尚未將環境影響列入購買時的考慮因素，您應該花點時間了解一下 EPEAT 評估工具，以便在下一次採購產品時，也能兼顧環保 (與財務) 效益。

售價：免費
使用 EPEAT 來評估採購硬體對環境的影響
使用 EPEAT 來評估採購硬體對環境的影響

書評
Windows Vista Administrator's Pocket Consultant
microsoft.com/MSPress/books/9588.aspx
如果您準備好在組織中執行 Windows Vista®，William Stanek 所著的《Windows Vista Administrator's Pocket Consultant》(Microsoft Press，2006 年) 能幫助您快速熟悉其中的新功用與功能。曾經看過其他 Administrator's Pocket Consultant 系列書籍的讀者會發現本書的編排很熟悉，而且它的內容深淺也像相同系列的其他本書一樣。本書沒有錯綜複雜的細節，而是針對功用與功能、特定系統管理工作提供豐富完整的概觀，並補充相關的運作方式。而且內容是專為系統管理員而非一般使用者所撰寫。
本書開頭先介紹 Windows 預先安裝環境 2.0，並簡述在自動化或互動式安裝期間您可以使用的公用程式。接著本書繼續討論管理 Windows Vista 系統，示範如何使用 msconfig 等工具來疑難排解或訂製安裝，並介紹一些新功能，如「先前版本」，好讓您將資料夾或檔案還原成之前的狀態。除此之外，您還會讀到協助您管理目標系統上的硬體及裝置的工具簡介。
書中接著闡述如何自訂介面與桌面，以便為您的使用者量身訂製 Windows® 使用經驗。譬如說，本書會示範如何減少螢幕保護裝置的資源使用量，調整啟動和開始功能表程式，以及設定 Windows 資訊看板。而且書中也會展示如何建立個人工具列，讓使用者可從工作列快速存取共用資料夾和檔案。
關於安裝與維護 Windows Vista 程式和功能的章節，則會討論「軟體總管」等工具，讓您快速檢視系統的啟動程式、正在執行的程式、Winsock 服務提供者，以及連接網路的程式。接著談到管理使用者、設定檔、行動力考量，以及電腦和使用者原則，還有磁碟管理、檔案安全性與資源共用。更具體而言，本書會解釋如何建立使用者、經由群組原則管理 Windows 登入，並藉由建立 Key Ring 項目來簡化使用者存取受密碼保護資源的程序。
有關行動力的章節則說明全新的替代網路設定如何讓您同時指定「辦公室」設定及「行動」設定。使用者能夠輕鬆切換這兩種模式。
在＜管理檔案安全性與資源共用 (Managing File Security and Resource Sharing)＞一章中，您可以大致了解如何設定 NTFS 檔案與資料夾上的權限，以及 Windows Vista 特殊權限的運作方式 (還有如何加以控制)。在此，您也學會如何建立共用資源，以及建立並維持與這些資源的連線。
在磁碟管理方面，書中介紹如何設定磁碟配額，不僅教導您如何建立、檢視、更新和刪除磁碟配額，也示範如何匯入和匯出這些設定以便重複使用。
對於 Windows Vista 中的 IPv4/IPv6 雙網路堆疊運作方式也提供詳盡的說明。在此，您會了解如何針對您的環境設定網路介面卡。
書末一節敘述如何最佳化 Windows Vista 以確保使用者能獲得最佳使用經驗，並以簡短的篇幅介紹一般疑難排解技巧。在此您會讀到如何設定遠端協助、透過排程磁碟檢查和磁碟重組來維護健康的系統，以及如何建立備份。整體而言，這是一本簡單易學的 Windows Vista 系統管理快速參考。

價格：直接售價 $29.99 美元。

監控您的網站
Pingdom.com
pingdom.com
這句話我曾經說過，但還是要不厭其煩地再次強調：主動式的系統管理方法能夠減少壓力，而且能夠避免尷尬的情況，像是收到老闆的電子郵件「你知道網站掛了嗎？」
這套方法必須要有良好的網路監控工具來配合。您們大多可能已經採用某種內部網路監控伺服器。但是如果您需要考慮到影響全球的情況，確保網際網路面向服務的可用性，該怎麼辦？
Pingdom.com 是一家應用程式服務提供者 (ASP)，提供簡單卻有效的自動化監控服務。ASP 的伺服器分散在全球多個據點，讓您更能掌握使用者的實際體驗 — 而非仰賴單一來源的外部服務監視器。
首先註冊一個帳號並設定地區，根據您的需求定義時區、國家、日期格式和數字格式。接著設定連絡人，您需要提供名稱、SMS 電話號碼和接收通知的電子郵件地址。接下來，透過定義名稱、檢查分辨率、依分辨率在執行的監控檢查類型，以及檢查通知的類型、連絡人與定期間隔，藉此建立監控檢查。
預設的帳戶組合可提供 1 到 60 分鐘的檢查分辨率，讓您訂製所監控的服務要求。通知訊息可以透過電子郵件或 SMS 傳送至您的連絡人。而且您可以定義在傳送通知之前，服務 Ping 失敗的次數，以及必須經過多少失敗週期 (最多四次提醒) 才會再收到通知。此外，您也可以讓 pingdom 通知您服務何時恢復 — 這點對於網站或服務維護視窗檢查很實用。提到維護，您也可以在排程工作期間暫停或停止檢查來避免誤報。
此服務提供使用者四種檢查基本類型：HTTP 感應器、TCP 連接埠感應器、Ping 感應器和 UDP 感應器。HTTP 感應器可讓您設定 URL/IP、要求是否經由 SSL、連接埠、基本驗證使用者名稱和密碼組合，或是基本的包含/排除內容檢查字串。TCP 連接埠感應器可讓您定義要檢查的服務連接埠與 IP/網域。Ping 感應器可讓您設定經由 ICMP 要檢查的 IP 或網域。而 UDP 感應器是由 IP/網域、連接埠、傳送至該組合的字串以及預期的回應字串來決定。事實上，您可以檢查網站、FTP 伺服器、SMTP 伺服器，甚至是全球多個地點的可用性。
此服務也提供多種報告來協助您以視覺化方式顯示歷程記錄資料。有了這些報告，您就能夠檢視特定月份的執行時間百分比，以及相同時期的平均回應時間。您也可以取得每個檢查案例的詳細檢視，其中會顯示時間戳記、狀態、回應時間和執行檢查的伺服器。另外也會提供通知檢視，顯示在特定期間傳送通知的時間、數量、對象和方法。您可以公開這些報告，好讓組織中的其他成員也能查看這些服務統計資料。如果您有自己訂製的 NOC，pingdom.com 還提供讓您查詢這項資訊的 Web 服務 API，以方便您將服務整合到目前的儀表板檢視中。

價格：每月 $9.95 美元。
Pingdom.com 以全球的觀點來監視 Web 服務
Pingdom.com 以全球的觀點來監視 Web 服務

Greg Steen 是一位技術專家和企業家，為人十分熱心。他總是四處探尋新的工具，協助 IT 專家更輕鬆地進行操作、品管及開發。


 Exchange 佇列問題與解答: 新增語音提示，選擇 PBX，以及其他
Exchange 佇列問題與解答
新增語音提示，選擇 PBX，以及其他
Seema Rahman

問：我聽說 Exchange 整合通訊不提供高可用性或叢集功能。這是真的嗎？
答：叢集或網路負載平衡設定的確不支援整合通訊，不過，您還是可以從某些特定的閘道達成高可用性解決方案。其關鍵在指定多部 Unified Messaging Server 以循環配置 (round-robin) 資料流量。您也可以安排將特定的資料流量傳送到特定的 Unified Messaging Server，不過前提是閘道必須具備必要的進階路由功能。舉個例說，您可以指定一部 Unified Messaging Server 負責訂戶存取，而指定另一部 Unified Messaging Server 負責所有的自動回應電話，這麼一來就可以根據您的基礎結構以及環境趨勢，來平衡整合通訊資料流量。

問：我可以用 Exchange 整合通訊，為敝公司的公用電話號碼安裝語音提示嗎？
答：可以，而且您還可以安裝自動語音應答。有關設定這項功能的詳細步驟，請參閱＜管理自訂音訊提示＞(technet.microsoft.com/aa998818) 一文。

問：如何才能知道我的專用交換機 (Private Branch eXchange，PBX) 與 Exchange 整合通訊是否相容？
答：有的閘道已經通過 Microsoft 測試，它們是一般建議搭配 Exchange 整合通訊使用的閘道。這些閘道的製造廠商會提供一份搭配它們閘道使用的 PBX 清單。如果有任何廠商列出您的 PBX，就表示它與 Exchange 整合通訊相容。
＜Exchange Server 2007 的語音顧問＞一文 (microsoft.com/technet/prodtechnol/exchange/telephony-advisor.mspx) 就提供了一份支援的閘道清單，以及其他許多相關資訊。

問：使用 Exchange 整合通訊時，需要在電話系統加入任何特殊硬體嗎？
Exchange Unified Messaging Server 相當於您的語音郵件提供者。要搭配使用目前的電話語音系統，可能需要用到您所沒有的硬體。
如果您是使用支援的 IP-PBX，就不需要額外新增其他硬體；但是可能需要在 IP-PBX 上設定一些專屬設定，才能搭配整合通訊。
如果您不是使用支援的 IP-PBX，就必須先判斷該硬體是否與其中一個支援的閘道相容。另外，您還要準備一個受支援的 VoIP 閘道。
microsoft.com/technet/prodtechnol/exchange/telephony-advisor.mspx 所提供的資訊，包括一份支援的硬體、IP-PBX 和閘道清單，清單尤以 IP-PBX 為主。請務必經常回頭查閱，因為這份清單會隨著 Microsoft 認證新的硬體而頻繁更新。您也可以請教當地的整合通訊專家，決定適合您環境的硬體需求。

問：整合通訊如何提供傳真支援？
答：目前整合通訊提供了一項內送傳真功能，比方說，傳送到使用整合通訊的使用者分機的傳真，最後會變成一封電子郵件，進入使用者的收件匣，只是郵件中會附加一份 TIFF 格式的傳真郵件。如需詳細的概觀介紹，請參閱 technet.microsoft.com/ bb232022。

問：我有一個 Nortel CS1000 IP/PBX，而且我想在 Exchange Server 2007 中使用整合通訊。但是我不知道如何整合這兩個系統。我能夠把 Nortel CS1000 IP/PBX 當作閘道嗎？還是說，只有 Intel 和 AutoCodes 支援的才能當作閘道？另外，我也需要 Exchange 系統在 CS1000 Server 進行驗證。
假設您是執行 5.0 版的 IP/PBX 韌體，Nortel CS1000 就是支援的 IP/PBX。不需要另外購買硬體。您可以在 Nortel 網站上，找到關於設定 IP-PBX 的設定記錄 (support.nortel.com/go/main.jsp?cscat=docdetail&id=626197&poid=14261。而支援的閘道、PBX 和支援的韌體版本，則可在 microsoft.com/technet/prodtechnol/exchange/pbx-partners.mspx 取得。

Seema Rahman 在 Microsoft 工作已有六年的時間。身為支援高階工程師的她，負責幫助客戶解決有關 Exchange Server 的複雜問題。Seema 在 Exchange 2007 Beta 小組專攻整合通訊 (Unified Messaging)，對於這項工作她尤其樂在其中。


 公用程式焦點: Windows 輕鬆傳輸小幫手
公用程式焦點
Windows 輕鬆傳輸小幫手
Lance Whitney
本文是根據 Windows 輕鬆傳輸小幫手 (Windows Easy Transfer Companion) 的搶鮮版所撰寫。本文包含的所有資訊均有可能變更。

該是 將使用者從舊版 Windows® XP 電腦移轉到新 Windows Vista® 機器的時候了。任何一項移轉作業最麻煩的工作，就是將使用者的應用程式重新安裝到他們的新電腦上 — 並且確保那些應用程式可以運作。但是現在 Microsoft 推出一種免費工具，幫您包辦那些數不清的重新安裝工作。Windows 輕鬆傳輸小幫手 (WETC) 可以將重要軟體從 Windows XP 複製到 Windows Vista。
WETC 目前還在 Beta 測試版階段，它與 Windows Vista 版的 Windows 輕鬆傳輸精靈不同。Windows 輕鬆傳輸精靈會複製資料檔、程式設定和使用者設定檔，而 WETC 雖然只是從 Windows XP SP2 複製到 Windows Vista，卻是複製整個應用程式，而且必須以系統管理員帳戶執行轉移作業。
首先，請將 WETC 安裝在來源和目的電腦上，電腦會透過網路或輕鬆傳輸 USB 纜線彼此交談。輕鬆傳輸纜線的驅動程式是跟著 Windows Vista 一起安裝，而 Windows XP 則必須從產品 CD 安裝驅動程式。
WETC 提供可傳輸應用程式的分類清單
纜線連接之後，請先在 Windows XP 機器上啟動 WETC，WETC 會掃描硬碟機、收集基本系統資訊，並且分析所有安裝的軟體。完成這個程序之後，再換 Windows Vista 電腦執行 WETC。WETC 會與 Windows XP 機器通訊，列出所發現的各個應用程式，並將它們分成三類 (請參閱上面的螢幕擷取畫面)：
  1. 順利轉移的程式：可以順利轉移，並且在 Windows Vista PC 上執行的軟體。
  2. 可能有轉移限制的程式：可以轉移，但也許無法妥善執行的軟體。
  3. 不會轉移的程式：無法在 Windows Vista 上執行，因此也不會包含在轉移作業中的軟體。
對於每一個無法順利轉移的程式，WETC 會簡短的解說原因。一般說來，不複製應用程式的原因不外乎：遺漏安裝程式資訊或其他重要資料、與 Windows Vista 不相容，或是 Windows Vista 機器上已經有了。另外，WETC 不會複製特定類型的應用程式，例如防毒軟體和系統公用程式。WETC 也不會轉移 OS 架構 (例如 Microsoft .NET)，您必須先將它們安裝在 Windows Vista 之後，才能複製需要它們的應用程式。
您可以從程式清單一一勾選您要複製的程式。如果有任何問題，有個說明畫面可以幫助您決定，並且提供解決方案。您也可以儲存一份轉移前報告，列出所有轉移及不轉移的程式。
接著就進行轉移，複製每一個程式的相關資料。最後會出現一則狀態訊息，告訴您複製了哪些程式，以及是否有錯誤發生。您可以儲存詳細的轉移後報告。結束 WETC 之後，重新啟動 Windows Vista 電腦，接著登入，然後再執行轉移過來的程式，確定它們能夠順利運作。
接下來還有什麼問題嗎？Windows Vista 上的 WETC 程式資料夾含有一個通往「資源」工具的捷徑，這個工具具有「復原」功能，可以移除所有複製到 Windows Vista 機器的應用程式，但是這項資訊會在三天內到期。如果您想深入瞭解 Windows 輕鬆傳輸小幫手，以及下載最新版本，請造訪 support.microsoft.com/kb/931696。

Lance Whitney 身兼 IT 顧問、培訓講師和技術文件作家。他投入許多時間改良 Windows 工作站與伺服器。記者出身的 Lance 在 15 年前一頭栽進了 IT 產業。


 The Cable Guy: Windows Server 2008 的 DNS 增強功能
The Cable Guy
Windows Server 2008 的 DNS 增強功能
Joseph Davies
本文章是根據 Windows Server 2008 的搶鮮版所撰寫。本文包含的所有資訊均有可能變更。

打從 Windows NT 4.0 起，Microsoft 就在各個版本的 Windows Server 中納入網域名稱系統 (DNS) 伺服器服務。DNS 是一種階層架構的分散式資料庫，其中包含各種資料類型 (例如，IP 位址) 的 DNS 網域名稱對應。Windows Server 2008 中的 DNS 伺服器服務包含新的
幕後區域載入、增強的 IPv6 支援、唯讀網域控制站 (RODC)，以及裝載全域單一標籤名稱的能力。

幕後區域載入
Windows Server® 2008 中的 DNS 伺服器服務可實作幕後區域載入，讓資料擷取更快速。過去，如果企業的區域包含位於 Active Directory® 中的大量記錄，要是 Windows Server 2003 中的 DNS 伺服器服務嘗試在重新啟動時從 Active Directory 擷取 DNS 資料的話，將會發生長達一小時或更久的延遲現象。在發生這些延遲的情況下，DNS 伺服器無法為其裝載的任何區域處理 DNS 用戶端要求。
為了解決這個問題，Windows Server 2008 中的 DNS 伺服器服務會在啟動後以幕後的方式從 Active Directory 擷取區域資料，以便回應來自其他區域的資料要求。當服務開始時，它會建立一或多個執行緒來載入儲存在 Active Directory 中的區域。由於載入 Active Directory 區域分別使用個別的執行緒，因此 DNS 伺服器服務可以在進行區域載入的同時回應查詢。如果 DNS 用戶端要求已經載入區域中的資料，DNS 伺服器便可適當作出回應。若是要求的是尚未完全擷取的區域中的資料，則 DNS 伺服器會從 Active Directory 中擷取指定資料。
在區域載入期間從 Active Directory 擷取特定資料的這種能力，比使用檔案儲存區域資訊更能提供額外的好處 — 也就是 DNS 伺服器服務可以立即回應要求。當區域是以檔案儲存時，服務必須循序讀取檔案，直到找到資料為止。

增強的 IPv6 支援
本專欄曾多次討論的 IPv6 是一套全新的網際網路標準通訊協定。IPv6 的目的在於解決當前版本 — IPv4 — 的許多問題，例如位址耗竭、安全性、自動設定和擴充性需求。
IPv6 的位址長度為 128 個位元，這點與 IPv4 不同，IPv4 位址只有 32 個位元。IPv6 位址是以冒號與十六進位的形式來表示。每個十六進位的數字都佔 IPv6 位址中的 4 個位元。完整表示的 IPv6 位址包含 8 節的 32 個十六進位數字，中間以冒號區隔。舉例來說，完整表示的 IPv6 位址可以是 FD91:2ADD:715A:2111:DD48:AB34:D07C:3914。
IPv6 位址的正向名稱解析會使用 IPv6 主機 DNS 記錄，也稱為 AAAA 記錄 (念法是「quad-A」)。在反向名稱解析方面，IPv6 使用 IP6.ARPA 網域，而 32 位數 IPv6 位址中的每個十六進位數字都逆向成為反向網域階層中的個別層級。舉例來說，位址 FD91:2ADD:715A:2111:DD48:AB34:D07C:3914 的反向查詢網域名稱為 4.1.9.3.C.7.0.D.4.3.B.A.8.4.D.D.1.1.1.2.A.5.1.7.D.D.A.2.1.9.D.F.IP6.ARPA。
Windows Server 2003 中的 DNS 伺服器服務支援 IPv6 的正向與逆向名稱解析；不過這項支援尚未完全整合。譬如說，若要在 Windows Server 2003 DNS 管理員嵌入式管理單元中建立 IPv6 位址記錄 (剛才提到的 AAAA 記錄)，您必須在區域上按一下滑鼠右鍵，按一下 [新增其他記錄]，然後按兩下 IPv6 主機 (AAAA) 以作為資源記錄類型。若要在 Windows Server 2008 的 DNS 管理員嵌入式管理單元中新增 AAAA 記錄，請在區域名稱上按一下滑鼠右鍵，然後按一下 [新增主機] (A 或 AAAA)。在 [新增主機] 對話方塊中，您可以輸入 IPv4 或 IPv6 位址。[圖 1] 顯示範例。
[圖 1] [新增主機] 對話方塊
[圖 1] [新增主機] 對話方塊
IPv6 支援增強的另一個例子是反向 IPv6 區域。若要在 Windows Server 2003 的 DNS 管理員嵌入式管理單元中建立反向對應區域，您必須在「新增區域精靈」的 [反向對應區域名稱] 頁面中手動輸入反向區域名稱。舉例來說，DNS 反向區域名稱可以是 1.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa (就 IPv6 子網路首碼 2001:db8:0:1::/64 來說，完整的表示為 2001:0db8:0000:0001::/64)。
Windows Server 2008 的 DNS 管理員嵌入式管理單元中的 IPv6 反向區域，現在已完全整合至「新增區域精靈」中。精靈中有一頁新的內容會提示您選取 IPv4 反向對應區域或 IPv6 反向對應區域。如果選取 IPv6 反向對應區域，您只需要輸入 IPv6 子網路首碼，精靈便會自動為您建立區域。[圖 2] 顯示範例。
[圖 2] 命名 IPv6 反向查詢區域
[圖 2] 命名 IPv6 反向查詢區域
反向區域的另一項增強功能在於 DNS 管理員嵌入式管理單元顯示 IPv6 指標 (PTR) 記錄的方式。[圖 3] 顯示 Windows Server 2003 的 DNS 管理員嵌入式管理單元如何顯示 PTR 記錄。
[圖 3] Windows Server 2003 中 IPv6 的 PTR 記錄
[圖 3] Windows Server 2003 中 IPv6 的 PTR 記錄
雖然此顯示內容準確地反映出 IPv6 反向網域名稱的 DNS 命名空間結構，但會增加管理 IPv6 位址的 PTR 記錄的困難度。[圖 4] 顯示 Windows Server 2008 的 DNS 管理員嵌入式管理單元如何顯示 PTR 記錄。
[圖 4] Windows Server 2008 中 IPv6 的 PTR 記錄
[圖 4] Windows Server 2008 中 IPv6 的 PTR 記錄
Windows Server 2003 中的 DNS 伺服器服務支援在 IPv6 上操作，但必須使用 dnscmd /config /EnableIPv6 1 命令來手動啟用此操作。相反地，Windows Server 2008 預設便支援在 IPv6 上操作。更新後的 Dnscmd.exe 命令列工具可在命令列選項中接受 IPv6 位址。不僅如此，DNS 伺服器服務現在還可以對 IPv6 專用伺服器傳送遞迴查詢，且伺服器轉寄者清單可以同時包含 IPv4 與 IPv6 位址。
如需有關 IPv6 的詳細資訊，以及 Windows® 如何支援 IPv6 的資訊，請參閱 microsoft.com/ipv6。

唯讀網域控制站支援
Windows Server 2008 也引進了 RODC，這是一種新的網域控制站類型，包含 Active Directory 資訊的唯讀複本，而且可以執行 Active Directory 功能，但無法直接設定。RODC 比較不容易遭受攻擊，也可以放置無保保障網域控制站實體安全性的地點，或是網路可能包含惡意主機的位置。
在 RODC 方面，Windows Server 2008 中的 DNS 伺服器服務支援新的主要唯讀區域類型。當電腦變成 RODC 時，它會取代 DNS 使用的所有應用程式目錄分割的完整唯讀複本，包括網域分割、ForestDNSZones 及 DomainDNSZones。這樣可確保在 RODC 上執行的 DNS 伺服器服務針對所有儲存在非 RODC 的網域控制站的目錄分割中的 DNS 區域，都有其完整唯讀複本。您可以檢視 RODC 上的主要唯讀區域內容，但不能變更這些內容。您必須在非 RODC 的網域控制站上變更區域內容。

GlobalNames 區域
使用 GlobalNames 區域進行名稱解析
部署 GlobalNames 區域之後，當 Windows Vista 架構的 DNS 用戶端嘗試解析某個單一標籤名稱時，它會將主要 DNS 尾碼附加到此單一標籤名稱，並提交名稱查詢要求到它的 DNS 伺服器。
如果找不到這個名稱，DNS 用戶端便會根據單一標籤名稱與其 DNS 尾碼搜尋清單 (若已設定的話) 中的尾碼組合來傳送其他名稱查詢要求。如果這些名稱都未解析，用戶端便會使用單一標籤名稱要求解析。
DNS 伺服器會在 GlobalNames 區域中搜尋單一標籤名稱。如果在此出現結果，DNS 伺服器會將解析的 IPv4 位址或 FQDN 送回 DNS 用戶端。否則，DNS 用戶端電腦會將名稱轉換成 NetBIOS 名稱，並使用 NetBIOS 名稱解析技巧，包括 WINS。在 GlobalNames 區域中啟用單一標籤名稱解析，並不需要變更 DNS 用戶端服務。

Windows Server 2008 和 Windows Vista® 支援 NetBIOS over TCP/IP (NetBT) 通訊協定。NetBT 使用 NetBIOS 名稱來識別工作階段層 NetBIOS 應用程式。雖然目前依賴 Windows 通訊端架構網路應用程式和 DNS 進行名稱解析的 Windows 版本，並不要求使用 WINS 進行 NetBIOS 名稱解析，但是許多 Microsoft 客戶都在自己的網路中部署 WINS 以支援舊版 NetBT 應用程式，並為組織中的單一標籤名稱提供名稱解析。單一標籤名稱通常是指組織所用的重要、知名且廣泛使用的伺服器，例如電子郵件伺服器、中央網頁伺服器，或是企業營運應用程式的伺服器。
為了能夠在組織中單獨使用 DNS 來解析這些單一標籤名稱，您可能需要新增 A 記錄到組織的多個 DNS 網域中，好讓 Windows 架構 DNS 用戶端解析名稱，而不必理會指定的 DNS 網域尾碼或尾碼搜尋清單。
打個比方，假設 contoso.com 組織具有名為 CWEB 的中央網頁伺服器，且它是 central.contoso.com 網域的成員。當 DNS 用戶端的 DNS 網域尾碼可以指派為 wcoast.contoso.com、central.contoso.com 或 ecoast.contoso.com 時，若要實作伺服器 CWEB 的單一標籤名稱，網路系統管理員必須同時為 cweb.wcoast.contoso.com 與 cweb.ecoast.contoso.com 建立兩個額外的 A 記錄。不過別忘了，當 IPv4 位址指派變更或加入新名稱時，必須維護手動建立的單一標籤名稱的 A 記錄。
如果 contoso.com 已經針對舊版 NetBT 應用程式使用 WINS，網路系統管理員可以藉由新增單一靜態 WINS 記錄到 WINS 基礎架構中，來實作單一標籤名稱 CWEB 的名稱解析。如果 IPv4 位址改變，就只需要變更單一靜態 WINS 記錄。因為單一標籤名稱在 WINS 上比較容易管理，因此很多 Windows 架構網路都使用靜態 WINS 記錄來處理單一標籤名稱。
為了在 DNS 上提供像靜態 WINS 記錄一樣容易管理的單一標籤名稱解決方案，Windows Server 2008 中的 DNS 伺服器服務支援一個名為 GlobalNames 的新區域來儲存單一標籤名稱。此區域的複寫領域通常是一個樹系，其中會提供整個 Active Directory 樹系中的單一標籤名稱解析。此外，當您使用服務位置 (SRV) 資源記錄來發佈 GlobalNames 區域的位置時，GlobalNames 區域還可以在包含多個樹系的整個組織中支援單一標籤名稱解析。
不同於 WINS，GlobalNames 區域旨在為有限的主機名稱集提供單一標籤名稱解析，這些主機名稱通常是由 IT 部門管理的中央及關鍵組織伺服器。GlobalNames 區域不適合用來儲存桌上型電腦名稱或 IPv4 位址可能變更的其他伺服器名稱，而且也絕不支援 DNS 動態更新。它最常用來保存別名 (CNAME) 資源記錄，以便對應單一標籤名稱與完整網域名稱 (FQDN)。針對目前使用 WINS 的網路，GlobalNames 區域通常包含受 IT 管理的名稱的資源記錄，而這些名稱已經在 WINS 中靜態設定了。
只有當所有授權 DNS 伺服器都執行 Windows Server 2008 時，GlobalNames 區域才會提供單一標籤名稱解析。不過，無任何區域授權的其他 DNS 伺服器可以執行舊版的 Windows 或其他作業系統。GlobalNames 區域必須是樹系中唯一的。
為了提供最大效能及延展性，GlobalNames 區域應該與 Active Directory 整合，而且您應該設定每部授權 DNS 伺服器並保留其本機複本。您必須這麼做才能支援在多個樹系上部署 GlobalNames 區域。
如需關於 Windows 的 DNS 支援以及部署 GlobalNames 區域的詳細資訊，請參閱下列 Microsoft DNS 網頁：microsoft.com/dns。

Joseph Davies 是 Microsoft 的技術文件作家，從 1992 年開始教導和編寫 Windows 網路方面的主題。他出過五本 Microsoft Press 的書，同時也是每個月線上 TechNet Cable Guy 專欄的作家。


 Windows PowerShell: 阻隔惡意程式碼
Windows PowerShell
阻隔惡意程式碼
Don Jones

回想 Windows Vista 還在 Beta 測試階段時，有關當時剛剛推出的一個新命令列命令介面程式碼的傳聞甚囂塵上，這個命令介面叫做 Monad (沒錯，它就是後來的 Windows PowerShell)。當時有許多主流媒體都在報導「第一個 Windows Vista 病毒」。事實上，
這個「病毒」只是一個沖著 Monad 而來的概念驗證 (proof-of-concept ) 惡意指令碼。為了執行這個指令碼，Monad 本身還經過特別的設定 (因為這個指令碼無法在預設值下運作)。而且，在媒體報導之前，Microsoft 早已宣布 Monad 不會隨 Windows Vista® 一起發行。總之，整個事件根本就是一場大烏籠 (至少不是普通的烏籠)。
只是，隨著 Windows PowerShellTM 人氣水漲船高 (下載率已超過百萬次)，它被有心人士用來建立惡意程式碼的機率也越來越大。能夠在 Windows PowerShell 當中撰寫有潛在破壞力的指令碼，已經是不爭的事實；任何一個管理工具 — 包括 Windows PowerShell、cmd.exe 和 VBScript 在內 — 都有可能被用於歧途。因此您不能再假設 PS1 檔永遠人畜無害。
幸好，Windows PowerShell 在預設的情況下不會執行任何指令碼，如果真的要執行惡意指令碼，也得靠您幫忙才行。那麼這個月就讓我做做預測，看看這件事會不會發生囉。我這麼做不是要讓 Windows PowerShell 難看 — 我認為 Microsoft 所設計的指令碼命令介面，已經足以防範許多風險。但是為了幫助您做好更萬全的準備，全力阻絕潛在攻擊，這個問題仍有探討的必要。

預設的安全環境
值得注意的是，Windows PowerShell 是 Microsoft 繼有名的「高可信度電腦運算」(Trustworthy Computing) 計劃以來首度設計的語言。安全性大師 Michael Howard (《Writing Secure Code》一書的作者) 可說是 Windows PowerShell 小組的安全性夥伴。他的任務是協助大家儘可能撰寫出最安全的程式碼，最重要的是，儘可能設定出最安全且現買現用的命令介面。
首先，讓我們快速檢閱 Windows PowerShell 的初始安全性設定。在預設的情況下，即使您按兩下有 PS1 副檔名的檔案，命令介面也不會執行它。這個副檔名與「記事本」有關。事實上，命令介面在預設的情況下根本不會執行任何指令碼，這全拜一種名叫「執行原則」的內建功能所賜，這項功能負責指定執行指令碼的條件。它在開箱使用時的設定是「限制」，也就是說，所有的指令碼一律禁止執行，命令介面只能用於互動式用途。不過，您可以使用 Set-ExecutionPolicy 指令程式碼，或者透過 Microsoft 所提供的一種群組原則系統管理範本 (ADM 檔) 來更改執行原則 (這個 ADM 檔可以在 go.microsoft.com/fwlink/?LinkId=102940 取得)。[圖 1] 所示的就是您可以設定的執行原則。
[圖 1] 選擇安全的執行原則
[圖 1] 選擇安全的執行原則
執行原則只有幾種例外。明確的說，即使設為「限制」，它還是容許命令介面匯入少數由 Microsoft 所提供的 XML 設定檔，讓它們與命令介面一起安裝。這些檔案的用途是提供特定的功能，像是 Microsoft® .NET Framework 型別的延伸模組，以及適用於大部分 .NET 物件類型的預設格式化配置。換句話說，它們絕對是您希望命令介面在啟動時載入的檔案。
這些檔案都可以包含而且也的確包含了執行程式碼，因此它們都有 Microsoft 的數位簽章。這些簽章在遭到篡改之後就會失去作用，即使真的有用，命令介面也不會在啟動時匯入這些檔案。這種設計可以抵禦企圖插入惡意程式碼的惡意程式，保護檔案的安全。
當然啦，即使不更改執行原則的限制設定，它也會阻止您自己的 Windows PowerShell 設定檔指令碼在啟動時執行。Windows PowerShell 在預設情況下並不會建立設定檔指令碼，但它會在四個特定的位置搜尋特定的檔名，只要找到這些檔案，就會在命令介面啟動時跟著執行它們 (隨同 Windows PowerShell 一起安裝的文件，會詳細列出設定檔指令碼所用的資料夾和檔案名稱)。這個設定檔就是我接下來要討論的探索主題關鍵。

修改執行原則
本月指令程式碼
Set-AuthenticodeSignature 的搭檔是 Get-AuthenticodeSignature。這個指令程式碼是為了檢查有數位簽章的指令碼而設計，它詳細提供了簽章的相關資料。您只要指向有疑問的檔案，不e光會看到檔案有沒有被簽署，也會知道簽章有沒有被更動，或是檔案是以哪一種憑證被簽署等相關資訊。這個指令程式碼除了使用 Windows PowerShell 指令碼之外，也會使用經過簽署的執行檔，例如：
PS C:\Program Files\Microsoft Office\Office12>
Get-AuthenticodeSignature excel.exe | Format-List *
我可以藉由執行這個命令，得知執行檔已由 Microsoft Corp. 使用 Microsoft 程式碼簽署憑證授權單位 (Microsoft Code Signing CA) 所發出的憑證加以簽署。
命令結果

我要強調的一點是，在預設的情況下，就算不是不可能，也很難讓 Windows PowerShell 執行任何程式碼，更別提惡意程式碼了。除非您修改執行原則，否則惡意指令碼想要作怪根本門兒都沒有。所以這個專欄並不是要警告您 Windows PowerShell 有安全漏洞之虞，只是要跟您分享保護系統的最佳作法。
執行原則的設定下限是「沒有限制」，這個設定可以容許所有的指令碼在毫無限制或問題的情況下執行 — 基本上它所提供的，與 VBScript 和批次檔多年來所提供的不良案例沒什麼兩樣。將命令介面設為「沒有限制」，就等於敞開大門邀請惡意指令碼進屋搞破壞。如果因為您選擇了「沒有限制」設定，而被指令碼進門痛宰一頓的話，那麼在您抱怨解說病毒如何肆虐環境的同時，不妨問問自己為什麼要主動引狼入室。
說真的，即使您設了「沒有限制」，Windows PowerShell 還是會努力偵測您從網際網路下載的指令碼，並且在執行之前提出警告。但重點是，把執行原則設為「沒有限制」，絕對不是明智之舉。

簽署指令碼
如果要容許指令碼執行的話，最安全的執行原則應該是 AllSigned 了。這個設定正如其名，它只執行含有未遭篡改之數位簽章的指令碼，而且這個數位簽章並非一般傳統簽章，而是以受信任憑證所建立的簽章。而要簽署指令碼，必須先取得 Class III 數位憑證 — 說得更明確一點，就是 Microsoft Authenticode 程式碼簽署憑證。這類憑證可以從貴公司的內部公開金鑰基礎架構 (PKI) 取得 (如果有的話)，或者向商業憑證授權單位 (CA) (如 CyberTrust、Thawte 和 VeriSign) 購買。
如果您想知道您的電腦上是否有安裝任何可以用來簽署指令碼的憑證，可以使用下面這個指令程式碼：
Get-ChildItem CERT: -recurse –codeSigningCert
當您將憑證安裝在 Windows® 電腦之後，便可以使用 Set-AuthenticodeSignature 指令程式碼來建立和套用數位簽章，這時候指令碼尾端會出現一系列看起來像亂碼的註解行。有的指令碼編輯器會讓您選擇將簽章套用到指令碼檔，有機會在儲存指令碼時自動簽署它，將很方便。
AllSigned 是在實際執行環境中使用的最佳執行原則。雖然它無法徹底阻擋惡意指令碼，但它可以確保惡意指令碼經過簽署，萬一發生什麼事情，您也能夠追蹤到指令碼的作者 (假設您將 Windows 電腦設定為只信任值得信任的憑證授權單位，不過這就稍微超出本專欄的討論範圍了)。有趣的是，Windows Script Host (WSH) 5.6 及更新版也可以用類似的 TrustPolicy 設定加以設定，同樣也需要數位簽章，我就見過幾位系統管理員使用這個設定。
好了，我再把本文重點簡單扼要的帶過一遍。如果您把執行原則設為「限制」，就可以把惡意指令碼擋在門外，不過善意指令碼也同樣無法執行。如果您把執行原則設為 AllSigned，命令介面就會接受經過簽署的指令碼。其實這樣也並無不妥，因為很少有惡意指令碼作者願意在他們的工作上使用經過驗證、可以追蹤的身分。但是「沒有限制」的設定就相當危險了，如果您一定要用它的話，肯定會落到被某個惡意指令碼痛宰的下場 (請注意，我並未把「沒有限制」設定歸類為一種弱點，畢竟它已經明白告訴您它是一隻真正的狼，而不是披著羊皮的狼，所以您在使用這項設定時，原則上就應該明白後果是什麼了)。

從後門潛入
其實您還有另一種執行原則設定可以選擇：RemoteSigned。我相信最近系統管理員最常用的就屬它了，因為一般認為它比「沒有限制」安全，但又沒有 AllSigned 這麼麻煩。RemoteSigned 並不需要本機指令碼的簽章。只要是您本機磁碟機上的 PS1 檔，都可以在不簽署的情況下執行。但是遠端指令碼 — 尤其是使用 Internet Explorer® 或 Outlook® 從網際網路下載的指令碼 (這兩個應用程式會把下載的檔案標上特殊旗標) — 就非得經過簽署才能執行。
不過，RemoteSigned 設定可能會給您一種錯誤的安全感。首先，不套用特殊旗標而下載遠端指令碼是很容易的事。舉個例說，非 Microsoft 的瀏覽器通常都不設定這類旗標，大部分非 Microsoft 的電子郵件用戶端也是。注意了，只要未設定這個旗標，Windows PowerShell 就會把下載的指令碼視同本機指令碼 — 也就是說不需要簽章。還是那句老話，我不認為這是什麼大不了的弱點。因為您必須實際下載指令碼，開啟 Windows PowerShell，然後以手動方式執行指令碼，這樣才能執行它。這些步驟光是要哄騙一般人都不太容易了，更何況是系統管理員，他們應該更清楚狀況才對，而且通常系統管理員還是網路上唯一有安裝 Windows PowerShell 的使用者。
但是，RemoteSigned 有一道很明顯的「後門」，足以讓惡意程式碼乘虛而入。您還記得那些 Windows PowerShell 設定檔指令碼吧？如果它們存在的話，無論是由您還是由惡意程式碼所建立，只要 Windows PowerShell 一執行，它們就跟著執行。而且只要採用 RemoteSigned 執行原則，設定檔指令碼 (它們是本機指令碼) 就不需要簽署。
下面就是一個案例：
  1. 有的惡意程式會進入您的系統，建立一個命令介面設定檔指令碼，或者把惡意程式碼插入現有的設定檔指令碼中。惡意程式碼通常會利用您的登入使用者帳戶執行，而這個帳戶通常都具有修改設定檔指令碼的權限。
  2. 您在開啟 Windows PowerShell 時，並不知道您的設定檔指令碼已被建立或修改成含有惡意程式碼的指令碼。所以當程式碼一執行，就大事不妙了。如果您又有使用系統管理員憑證開啟 Windows PowerShell 的嗜好，那傷害就更大了 — 其實這也是很常見的作法，因為您在使用命令介面時，必須具備系統管理員權限，才能執行需要命令介面的工作。
因此設定檔就等於開了一道後門，讓自定程式碼和惡意程式碼在神不知鬼不覺的情況下潛入，而 RemoteSigned 執行原則就容許這種情況發生。

保護設定檔
要保護設定檔的好方法只有一個：使用 AllSigned 執行原則。只要一採用 AllSigned，即使是您的設定檔指令碼都必須經過數位簽署；否則 Windows PowerShell 不會在啟動時執行它們。設定檔指令碼經過簽署之後，只要有人惡意修改它們，就會中止數位簽章而無法執行 — 其實 Windows PowerShell 也會在啟動時警告您這個問題。對於需要容許指令碼執行的實際執行環境來說，AllSigned 確實是唯一安全的執行原則設定。
其實還有另一種方法，不過它比較複雜，而且比較不可靠。您可以為 Windows PowerShell 所尋找的上述每一種檔案，建立空白的設定檔指令碼檔案。不過，請使用新的使用者帳戶 (我稱它「設定檔編輯器」) 來建立這些檔案，並且設定檔案的 NTFS 權限，這麼一來，只有設定檔編輯器帳戶才能修改它們，其他帳戶只有唯讀權限。
以後除非要編輯您的設定檔，否則千萬不要以設定檔編輯器帳戶登入您的電腦，這麼一來，您的一般使用者帳戶就無法修改您的設定檔指令碼了。不止如此，任何在您以一般帳戶登入時執行的惡意程式碼，都無法修改這些指令碼。但是萬一惡意程式碼正好在您以設定檔編輯器登入時執行，那可怎麼辦呢？這個嘛，反正您也知道您要以設定檔編輯器的身分登入編輯設定檔指令碼，多少應該提高一點警覺吧。
您也可以佈下自己的安全網，也就是依照我剛剛的描述，建立一個以嚴格檔案權限控制的全部使用者設定檔指令碼。然後在這個指令碼中撰寫程式碼，以 Get-AuthenticodeSignature 指令程式碼檢查命令介面所尋找的其他設定檔上的數位簽章。這時候，您自然而然就會要求設定檔指令碼具備簽章，而放過其他指令碼。
但是 AllSigned 執行原則遠比其他方法更能徹底保護您的設定檔。我的建議是，只要是連接到您網路的電腦，都必須將執行原則設為「限制」，而且最好由群組原則套用。這樣可以覆寫任何本機設定，並且確保新網域電腦自動設定為禁止指令碼。而在必須容許指令碼執行的電腦上，則採用另一種設定 AllSigned 執行原則的群組原則。雖然所有的指令碼都必須一一簽署，不過接下來就歌舞昇平了，因為您很清楚能夠在您環境中執行的指令碼，絕對不是由身分不明的作者所撰寫。

Don Jones 是 SAPIEN Technologies 的指令碼語言大師，也是《Windows PowerShell:TFM》(SAPIEN Press，2007 年) 一書的作者。如果您想與他聯絡，可以前往 www.ScriptingAnswers.com。


 嗨，Scripting Guy！: 規則運算式不出錯
嗨，Scripting Guy！
規則運算式不出錯
The Microsoft Scripting Guys
下載本文程式碼: HeyScriptingGuy2008_01.exe (150KB)

人非聖賢， 孰能無過。(不然您以為 Scripting Guys 小組是深思熟慮後成立的嗎？)不過，如果硬要找出犯錯的正面意義，就是 — 什麼？您以為我們會說犯錯的正面意義在於能夠從中學到教訓嗎？天啊，當然不是：您可以從犯錯中學到得唯一教訓就是：千金難買早知道。
註：抱歉；這次不開 Microsoft Bob 的玩笑了。我們曾經取笑過 Microsoft Bob 一次，我們錯了，而且也得到教訓了。只要事關 Microsoft Bob，我們絕對閉口不談。
坦白說，關於犯錯，Scripting Guy 實在想不到有什麼好話可說；因此我們終其一生都在避免犯錯 (一點也沒錯，我們避免犯錯的唯一方法，就是把實際要做的工作量減到最少。不過這已經離題，暫且不談)。
既然我們已經盡量減少犯錯，應該就天下太平；但是，萬一我們的同事繼續出錯，事情就不妙了。(別這樣，我們已經告訴您：不再開 Microsoft Bob 的玩笑了！)假如您有撰寫過資料庫程式或 Active Directory® 的前端 (相信大部分的讀者都寫過)，那麼您一定懂我們的意思：您的前端資料輸入程式只適合讓使用者輸入資料。
假設您希望輸入的名字格式如下：Ken，也就是第一個字母大寫，其後的字母都小寫。萬一使用者輸入以下的名字，KEN 呢？。假設輸入的日期格式應該如下：01/23/2007。 萬一使用者輸入下面的日期，January 23, 2007 呢？假設 — 嗯，您能夠意會就好。我們說過，您的前端資料輸入程式只適合讓使用者輸入資料。但無論如何，即使是輸入資料，還是有人會弄錯。當然，除非您採取行動來確保別人不會犯錯。

確認資料有效
讓比賽落幕
您可曾想過 Scripting Guy 整年來最期待什麼事？如果過去兩年來，您曾在 2 月造訪指令碼中心，您可能會猜是「冬季指令碼比賽」。可惜，您錯了。Scripting Guy 最期待的是指令碼結束的時候，經過兩週不停的狂歡作樂之後，Scripting Guy 沐浴在又一次成功的「指令碼比賽」的光輝中，然後睡上一個月。
因此，為了迎接我們的年度盛事 — 「指令碼比賽」落幕時 — 該是時候展開「2008 冬季指令碼比賽」了。歡迎在 2008 年 2 月 15 日至 3 月 3 日造訪指令碼中心加入我們，同享兩週以上的指令碼歡樂時光，並體驗酷得不得了的指令碼大賽。
您可以在「指令碼比賽」好好測試和磨練指令碼技巧。而且今年 Scripting Guy 打算在比賽結束後多睡幾天，因此今年的比賽會比去年更盛大熱鬧！同樣地，我們將參賽者分成兩組：初學者與進階者。因此無論您是指令碼菜鳥，還是經驗老道 (或是年輕有為) 的專家，或是中等程度，都千萬別錯過這個比賽。
那麼今年有什麼新玩意兒？我們加入了另一種指令碼語言。您可以使用 VBScript、Windows PowerShell 或是 — 新傢伙登場 — Perl 來比賽 (我們知道 Perl 不是新的語言，但卻是這個比賽的新元素)。應該還有更多好玩的東西，不過既然我們得要在好幾個月之前就準備好這個資訊看板，所以還不曉得到底會有什麼。您必須到指令碼中心來親身體會我們為您設計的內容。
偷偷告訴您，沒錯，比賽會有獎品！至於獎品是什麼？嘿，我們才不要當掃興鬼 — 來指令碼中心瞧瞧您就知道了！microsoft.com/technet/scriptcenter/funzone/games/default.mspx。

您們可能大多已經執行初步的資料輸入驗證了。而且在很多情況下，這樣簡單的資料輸入驗證便已綽綽有餘。需要確定字串值 strName 中是否包含 20 個以下的字元嗎？這一小段程式碼就可以做到：
If Len(strName) > 20 Then
    Wscript.Echo "Invalid name; a " & _
    "name must have 20 or fewer characters."
End If
但假如 strName 是一個新的零件編號，而零件編號必須符合特定模式：四個數字再加上兩個大寫字母 (例如 1234AB)。您可以使用基本的 VBScript 來驗證零件編號的 strName 是否遵守必要模式嗎？可以的。但相信我們，您不會想要這麼做。相反的，您該改用規則運算式。

確保值中只包含數字
規則運算式可追溯至 1950 年代，當時第一次將規則運算式描述為一種數學表示法形式。在 1960 年代，這個數學模型合併到 QED 文字編輯器中，成為在文字檔案中搜尋字元模式的方法。其後 — 您說什麼？喔，顯然不是每個人都跟我們一樣沈醉在規則運算式的歷史故事中。沒問題，那我們就廢話不多說，直接示範給您看囉。
想要確保變數 (在本例中，即 strSearchString 變數) 只包含數字嗎？[圖 1] 顯示方法之一。
Figure 1 Numbers only, please (Close Figure 1)
Set objRegEx = _
  CreateObject("VBScript.RegExp")

objRegEx.Global = True
objRegEx.Pattern = "\D"

strSearchString = "353627"

Set colMatches = _
  objRegEx.Execute(strSearchString)

If colMatches.Count > 0 Then
    Wscript.Echo "Invalid: a " & _
      "non-numeric character was found."
Else
    Wscript.Echo "This is a valid entry."
End If
如您所見，指令碼一開始先建立 VBScript.RegExp 物件的執行個體，這個物件會 — 對，您說的沒錯，此物件可讓我們在指令碼中使用規則運算式 (唉呀，我們本來想自己解釋的)。接著，我們為規則運算式物件的以下兩個主要屬性指派值：Global 和 Pattern。
Global 屬性決定指令碼應否比對所有符合模式的項目，或者只要找到第一個項目就停止。一般而言，最好將這個值設為 True，表示您要搜尋所有符合模式的項目 (預設為 False)。通常您都會希望尋找所有符合模式的項目。即使您不想，只找第一個符合模式的項目的唯一好處就是如果指令碼未搜尋至字串的結尾就中途停止，可以加快執行的速度。理論上這樣還不錯。但實際上，搜尋作業往往很快就完成了，您甚至不會注意到其中的差別。
精彩的部份來了：Pattern 是我們指定所需字元 (和字元藍圖) 的地方。在範例指令碼中，我們要尋找不屬於 0 到 9 的數字的字元。如果找到這樣的字元 (可能是字母、標點符號等等)，就表示指派給 strSearchString 的值無效。在規則運算式中，語法 \D 是用來比對任何非數字的字元，因此我們為 Pattern 屬性指派值 \D。
註：我們怎麼知道 \D 會比對非數字字元？這是有緣故的，說來話長。好多年前 — 喔，算了。原因是我們在 MSDN® (msdn2.microsoft.com/1400241x) 的 VBScript 語言參考中查到這個用法。
指派 Global 與 Pattern 屬性的值之後，下一步就是指派 strSearchString 變數的值：
strSearchString = "353627"
那麼，我們怎麼知道這個字串中是否有任何非數字字元？很簡單。我們只要呼叫 Execute 方法，在我們的變數中搜尋非數字字元就成了：
Set colMatches = _
objRegEx.Execute(strSearchString)
當您呼叫 Execute 方法時，所找到的任何符合項目 — 也就是 Pattern 的任何執行個體 — 會自動儲存在 Matches 集合中 (在我們的範例指令碼中，將此集合命名為 colMatches)。如果想知道我們的變數是否包含非數字字元 (我們的確想知道)，現在只需要檢查集合的 Count 屬性值，這個值便會透露集合中有多少項目。
If colMatches.Count > 0 Then
    Wscript.Echo "Invalid: a " & _
      "non-numeric character was found."
Else
    Wscript.Echo "This is a valid entry."
End If
如果 Count 大於 0，就只代表一件事：變數值中找到非數字字元 (如果變數值中的所有字元都是數字，那麼集合應該是空的，而 Count 則為 0)。在範例指令碼中，我們接著回應發現非數值字元。在實際的指令碼或資料庫前端中，您可能會回應類似的訊息，並重返迴圈讓使用者再試一次。但這點就勞您自個兒費心了；因為我們 Scripting Guy 還有很多其他事要操煩。
例如什麼事呢？例如一想到《TechNet Magazine》的同仁哪天可能真的讀起我們每月交送給他們的文章。我們倒寧願他們不會從錯誤中學習教訓。
問得好：我們為何不直接使用 IsNumeric 函式來確定 strSearchString 是否包含數字？只要 strSearchString 可以接受任何數字的話，當然沒問題。但萬一 strSearchString 必須是正整數呢？這樣可能會出問題；因為 IsNumeric 會將以下兩者都視為有效數字：
-45
672.69
為什麼它們都被視為有效數字？因為它們的確是有效數字；只不過並非正整數罷了。不過我們的規則運算式會將這些數字標記為無效輸入，因為規則運算式可捕捉到非數字字元減號 (–) 與句號 (.)。如果您正一邊閱讀這篇專欄，一面自問「我何必看這篇專欄？」您看，上述內容不正好解答您的疑惑。
您說什麼？這個理由不夠充分？哇！本月的讀者還真難纏。好吧，我們再來看一下，使用規則運算式還可以完成其他哪些類型的資料輸入驗證。

確保值中沒有數字
我們剛才示範如何確保值中只包含數字。如果您想要反過來，變成要確保值中沒有數字，該怎麼做？我們可以使用下面這個搜尋模式：
objRegEx.Pattern = "[0-9]"
這是怎麼一回事？在規則運算式這個千奇百怪的世界中，方括弧字元 ([ 與 ]) 可讓您指定一組字元，或像上面一樣指定一個字元範圍。Pattern [0-9] 表示什麼意思？這表示我們要搜尋從 0 到 9 這個範圍以內的字元 — 換句話說，就是任何數字值。如果只需要偶數 (也就是說，如果我們要確保值中不包含 1、3、5、7 或 9)，可以使用以下這個模式：
objRegEx.Pattern = "[13579]"
要注意的是，我們並未使用連字號，因此並非尋找字元範圍。事實上，我們要找的是明確的個別數字 1、3、5、7 及 9。
當然，模式 [0-9] 只尋找數字；它不會尋找既非字母也非數字的標點符號或其他字元。您認為我們可以建立一個模式來尋找非字母的字元嗎？當然沒問題。使用規則運算式幾乎可以實現您的任何想法：
objRegEx.Pattern = "[^A-Z][^a-z]"
在此，我們其實是在模式中結合兩個準則：我們要搜尋 [^A-Z] 與 [^a-z]。您可能已經猜到，A-Z 指的是從大寫 A 到大寫 Z 的字元範圍。但 ^ 字元代表什麼意思？當包含在一對方括弧內時，^ 就表示：「尋找不包含在此字元集中的任何字元」。因此，[^A-Z] 表示要「尋找任何不屬於大寫字母的字元」。在此同時，[^a-z] 則表示：「尋找任何不屬於小寫字母的字元」。結果：這個模式表示我們要尋找並非大寫字母或小寫字母的項目。其中包括數字、標點符號，以及其他可以在鍵盤上找到的奇怪字元。
或者，我們可以將 IgnoreCase 屬性設為 True：
objRegEx.IgnoreCase = True
藉由這麼做，我們的搜尋便會忽略字母大小寫。如此一來，我們接著可以使用以下模式 (並與 IgnoreCase 屬性結合) 來尋找大寫字母或小寫字母以外的字元：
objRegEx.Pattern = "[^A-Z]"

確保零件編號有效
現在我們來耍點花招 (別懷疑，使用規則運算式可以變出很多把戲；您可以從網站 regexlib.com 中找到一些例子)。在前文中我們曾提到：假設 strName 是一個新的零件編號，而零件編號必須符合特定模式：四個數字再加上兩個大寫字母 (例如，1234AB)。您要如何驗證變數是否符合這個模式？不用說，當然是這麼做囉：
objRegEx.Pattern = "^\d{4}[A-Z]{2}"
這個模式代表什麼意思？說來真巧：我們剛好要解釋這個模式的意思。在這個範例中，我們有三個要搜尋的準則：
^\d{4}
\d 表示我們要尋找數字 (範圍從 0 到 9 的字元)。{4} 代表什麼意思？這代表我們要比對恰好四個字元 (或者說，恰好四個數字)。因此我們要找的是四個連續數字。
那 ^ 字元又作何解釋呢？出現在一對方括弧外面時，^ 是指值必須以隨後的模式開始，也就是說，AA1234AB 將不會被標記為符合項目 (原因何在？因為這個值實際上是以 AA 開始，而非四個連續數字)。如有必要，我們也可以使用 $ 字元來指定符合項目必須出現在字串結尾。但是我們覺得沒有必要 (至少這個範例還用不著)。
[A-Z]{2}
您已經知道 [A-Z] 元件的意義；代表任何大寫字母。那麼 {2} 呢？沒錯：四個數字之後必須加上恰好兩個大寫字元。
怎樣，很簡單吧！順道一提，在這個範例中，如果 Count 為 0，表示值無效。為什麼呢？ 這次我們不是要搜尋讓字串失效的單一字元；而是要搜尋準確的模式比對。如果找不到相符項目，就表示我們的值無效。而且也表示集合的 Count 屬性將是 0。
請注意：另外兩個有用的語法結構分別為：{3,} 和 {3,7}。{3,} 表示至少必須有 3 個連續字元 (或運算式)；不過，雖然下限為 3，卻沒有任何上限。此 \d{3,} 與 123、1234 以及 123456789 都相符。{3,7} 表示至少必須有 3 個連續字元 (或運算式)，但不能超過 7 個。因此 123456 是相符項目，但 123456789 (有超過 7 個連續數字) 就非相符項目。
另外還有一個好用的模式。假設您的零件編號開頭是 4 個數字，緊接著是字母 US，之後再加上最後兩個字元 (可以是字母、數字或任何字元)。進行比對的其中一個方法如下：
objRegEx.Pattern = "^\d{4}US.."
如您所見，這個模式開頭是四個數字 (\d)，後面必須連接字元 US (而且只能是字元 US；否則就不相符)。在字元 US 之後，我們還需要兩個某種類型的字元。我們如何在規則運算式中表示任意字元？等一下；我們知道的 ... 有了，想到了：任意的單一字元是以句號 (.) 表示。因此我們可以合理推斷，兩個字元可以用兩個句號來指示：
..
好吧，這個例子很簡單。我們來挑戰難一點的。假設裡面的這兩個字元指出零件的製造國家。如果您在美國、英國和西班牙製造這些零件，就表示下列兩個字元為一組的代碼均有效：US、UK、ES。我們到底該如何在規則運算式中允許多重選擇？
您覺得這麼做如何：
objRegEx.Pattern = "^\d{4}(US|UK|ES).."
此處的關鍵就在於這個小小的語法結構：(US|UK|ES)。我們將這三組可接受的值 (US、UK 和 ES) 放入括弧內，並以分隔線 (|) 字元分隔這些值。就是這個方法可讓您在規則運算式中使用多重選擇。
不過先別急：我們剛才不是說，您可以在方括弧內放入多個選項？整個 [13579] 的用意不就在此嗎？是的。然而，那只適用於單一字元；[13579] 一定會被解譯為 1、3、5、7 和 9。若要使用 135 和 79 來當做選項，就必須使用上述語法：(135|79)。 您也可以使用括弧來界定要搜尋的單一字詞：
objRegEx.Pattern = "(scripting)"
或者，直接丟掉括弧：
objRegEx.Pattern = "scripting"
請注意：沒錯，這一點很重要，但萬一括弧是搜尋字詞的一部份而必須包含在內，比方說，如果我要搜尋 (scripting)，該怎麼辦？由於左右括弧都是規則運算式中的保留字元，因此您必須在每個字元前面加上 \。也就是：
objRegEx.Pattern = "\(scripting\)"

自由自在的運算式
本月專欄也接近尾聲了。如果您想進一步了解規則運算式，不妨參考網路廣播《系統管理員的字串理論：規則運算式簡介》(microsoft.com/technet/scriptcenter/webcasts/archive.mspx)。當您開始學習及使用規則運算式時，請謹記蘇菲亞羅蘭的名言：「過錯是充實的人生所需償還的債」。
哇！原來 Scripting Guy 的人生比我們所想的還要充實！

Dr. Scripto 的指令碼謎題 (Scripting Perplexer)
這個每月一次的挑戰不僅測試您的解謎功力，更要測試您的指令碼技巧。

2008 年 1 月：捲曲的名詞
本月，Dr. Scripto 決定要採用 Windows PowerShell。當然，少了指令程式碼就無法使用 Windows PowerShell — 如果您不是正確使用它的話 (Dr. Scripto 總是正確使用所有東西)。在這個猜謎中，Dr. Scripto 在格子中纏繞了一些指令程式碼，需要您去找出來。
沒錯，我們承認若要使用整個指令程式碼會使得此猜謎太複雜。基於指令程式碼的動詞與名詞建構，很多指令程式碼都以 Get-、Set- 等開頭。因此我們省略了指令程式碼的動詞部分 (還有連字號)，只留下名詞 (不過告訴您，所有動詞都是「Get-」)。
您本月的任務就是解開這些指令程式碼名詞。我們已經提供您一份清單，列出隱藏在猜謎中的名詞。(我們有夠大方吧！)每個字都可能以縱橫或前後的方式捲繞，但不會是斜角的方式。我們提供您第一個字 (Location) 當做範例。祝您好運。

字詞清單
Alias
ChildItem
Credential
Date
EventLog
ExecutionPolicy
Location
Member
PSSnapin
TraceSource
Unique
Variable
WMIObject

Dr. Scripto 的指令碼謎題 (Scripting Perplexer)
答案是：捲曲的名詞，2008 年 1 月

The Microsoft Scripting GuysScripting Guy 為 Microsoft 做事，也就是受雇於 Microsoft。他們在不玩、不教或不看棒球 (以及其他各種活動) 的時候，就負責管理 TechNet 指令碼中心。請造訪他們的網站：www.scriptingguys.com。


 安全性監控: 跳島攻擊：廠商贈品袋的入侵誘惑
安全性監控
跳島攻擊：廠商贈品袋的入侵誘惑
Jesper M. Johansson

跳島攻擊 — 透過脆弱的連結滲透網路，然後在該網路內的各個系統間移動 — 這種伎倆由來已久，但花招仍是不斷推陳出新。在當今首重安全性的 IT 環境中，人往往是最薄弱的環節，而心懷不軌的使用者
更是想盡辦法從中獲得好處 (想想網路釣魚和其他形式的社交工程)。當有心人士遇到人性弱點，肯定會對您的網路產生致命的殺傷力。
最讓我拍案叫絕的一個手段就是 Secure Network Technologies 的 Steve Stasiukonis 為客戶進行的滲透實驗。他巧妙地運用人性弱點，在客戶的停車場放幾個 USB 隨身碟，個個藏有特洛伊木馬程式。早上員工抵達停車場時，看到地上有免錢的小工具，個個是喜出望外。他們迫不及待地檢起隨身碟，插入第一台電腦：他們自己的工作站。
有些員工可能有警覺性，知道防人之心不可無，所以並不是每個隨身碟都被撿起來，不過其實只要一名使用者和一個隨身碟，就足以感染系統，提供入侵網路的管道。Stasiukonis 這麼做當然是出於實驗，不過，現實生活中早有罪犯利用這種手法滲透大型公司的網路。
如今 USB 隨身碟到處可見，幾乎每場研討會都有廠商拿它們當作贈品。這些磁碟容量雖小，但只要少少的存放空間就足以接掌整個網路。在此二部曲系列連載中，我將審查這一類的攻擊，並說明有助於緩和風險的方法。在本期的月刊中，我將探討 USB 快閃磁碟到底有什麼作用，以及您要怎麼做來控制它們。在下一期的《TechNet Magazine》裡，我將向您說明如何將攻擊範圍縮小至網路上單一或一小組系統上。
這種攻擊在技術方面的細節其實相當簡單。全都緣起自一個受到感染的 USB 快閃磁碟插入一部電腦中。接下來會發生什麼事，要看該磁碟上的裝載，當然還有使用者有多麼容易受騙而定囉。

開端
講台上有一台無人理睬的膝上型電腦，演講人正忙著在發表簡報之前試著討好聽眾。膝上型電腦本身已經鎖定，但這其實一點也不重要。攻擊者上前到講台徘徊觀望，假裝是在等演講人回來。這些講台的設計都是要將一些像電腦這類不美觀的東西隱藏起來，因此 USB 連接埠跟攻擊者的手都很難看到。一旦 USB 快閃磁碟插入電腦，不消幾秒鐘的時間就展開攻擊。
這種作法當然也有一些明顯的延伸。譬如，以前我每個禮拜到世界各地旅行發表簡報時，幾乎每次演講結束時，都會有幾個人向我要投影片的副本。我的答案向來都是給他們一張名片，要求他們傳電子郵件給我。為什麼當他們個個興高采烈地遞給我 USB 快閃磁碟，我還是決定這麼做呢？因為我知道有 USB Hacksaw 和 Switchblade 這類工具的存在 (如果您不清楚這些工具，不妨到 wiki.hak5.org 查詢一番)。
基本上，這些工具讓幾乎任何人都可以入侵 USB 連接埠沒有設防的人。例如，Switchblade 可以傾印下列內容：
  • 系統資訊
  • 所有的網路服務
  • 接聽的連接埠清單
  • 電腦上各種 Microsoft 產品的所有產品金鑰
  • 本機密碼資料庫
  • 電腦所使用之任何無線網路的密碼
  • 目前登入的使用者存放在電腦上的所有網路密碼
  • Internet Explorer®、Messenger、Firefox 和電子郵件密碼
  • 本機安全性授權 (LSA) 密碼，其中包括純文字形式的所有服務帳戶密碼
  • 已安裝的修補程式清單
  • 最近的瀏覽歷程記錄
所有這些資訊都會被送到快閃磁碟上的一個記錄檔中，而且只需要花大約 45 秒的時間。
Hacksaw 則是稍微改良過的版本，它會在電腦上安裝一個特洛伊木馬程式，來監視所有的 USB 快閃磁碟插入事件。它接著會將後續插入到電腦中的所有快閃磁碟的所有文件以電子郵件傳送給攻擊者。
我目前討論到的工具都是使用 U3 (u3.com)，這是一種專門讓使用者將程式隨身攜帶在快閃磁碟上而設計的技術。簡單的說，具 U3 功能的快閃磁碟會虛造自已的身分。它會告訴 OS 它實際上是一個插有快閃磁碟和 CD 的 USB 集線器。Windows Vista 之前的 Windows ® 版本預設會自動執行 CD 上在 autorun.inf 檔案中指定的程式，但不會執行 USB 磁碟上面的程式。具 U3 功能的 USB 快閃磁碟藉由將自己的身分作假，愚弄 OS 自動執行所謂的 U3 常用程式啟動程式。U3 常用程式啟動程式轉而可以啟動程式，提供您功能表，或是進行各種您自己使用電腦時可以做的事。
所有入侵工具的目的，都是要將常用程式啟動程式取代成入侵程式碼。只要快閃磁碟一插入 Windows XP 系統中，入侵工具便會自動執行。在 Windows Vista 上，自動播放的決策流程運作的方式不太一樣。卸除式裝置上其實也會啟用自動執行功能，就跟在 CD 上一樣。這表示當裝置插入時，會發生一連串的動作。在預設的情況下，會出現 [自動播放] 對話方塊，如 [圖 1] 所示。
[圖 1] 當使用者插入含有圖片的卸除式磁碟時，會出現預設的 [自動播放] 對話方塊
[圖 1] 當使用者插入含有圖片的卸除式磁碟時，會出現預設的 [自動播放] 對話方塊
請注意 [圖 1] 中的對話方塊有個 [一律為圖片執行這個動作 (Always do this for pictures)] 的選項。這會設定一個自動播放選項，可以在控制台中設定，如 [圖 2] 所示。
[圖 2] Windows Vista 上的自動播放設定
[圖 2] Windows Vista 上的自動播放設定
就「軟體及遊戲」而言，自動播放設定特別有趣。根據定義，它是指卸除式磁碟有個 autorun.inf 檔案指定執行一些程式。[圖 2] 中與「軟體及遊戲」相關的設定是存放在下列登錄機碼中：
Hive:    HKEY_CURRENT_USER
Key:    \Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\
UserChosenExecuteHandlers\AutorunINFLegacyArrival
Value: (Default)
Data:
MSAutoRun – automatically executes the program specified in the autorun.inf file

MSPromptEachTime – prompts the user, using strings specified in the autorun.inf file, if available
因為您不需要是系統管理員就能修改這些設定，所以使用者要怎麼設定它們都可以，包括自動執行在停車場裡面撿到的磁碟上面的各種惡意程式碼。事實上，他們只要在 [自動播放] 對話方塊內勾選適當的方塊就可以這麼做。

管理網路內的自動播放功能
身為系統管理員，管理網路當中的自動播放功能的方法有好幾種。首先，您可以防止使用者啟用卸除式媒體和 CD 上的自動播放功能，方法是修改 NoDriveTypeAutoRun 設定，這個設定控制了啟用自動播放的磁碟類型。Windows XP 的 NoDriveTypeAutoRun 設定是 0x95，也就是會停用不明磁碟類型、網路磁碟和卸除式裝置上的自動播放功能。自 Windows XP SP2 開始，NoDriveTypeAutoRun 設定則預設成 0x91，這會啟用卸除式存放裝置的自動播放功能。使用群組原則的話，[使用者設定]\[系統管理範本]\[Windows 元件]\[自動播放原則] 下有個設定可讓您管理 NoDriveTypeAutoRun 設定。啟用 [關閉自動播放設定並選取 CD-ROM 和卸除式磁碟 (Turn off AutoPlay setting and selecting CD-ROM and Removable Drives)] 將停用這兩種磁碟上的自動播放功能。
不過這將導致使用者看不到 [圖 1] 中的 [自動播放] 對話方塊。事實上，當使用者插入磁碟時，什麼事都不會發生。這種解決方案可能不盡理想，因為它可能會讓不確定如何存取磁碟上必要資訊的使用者不知所措。
您可能會想要控制哪種類型的內容可以自動播放。您在 Windows Vista 上可以這麼做的範圍有限，因為這個 OS 實際上在自動執行軟體方面有兩種控制層級。[圖 3] 中顯示的是群組原則中的另一個控制項，它可讓您使用 autorun.inf 檔案停用軟體的自動播放功能，其餘的 Windows Vista 自動播放行為則保持不變。
[圖 3] 使用群組原則停用 autorun.inf 檔案
[圖 3] 使用群組原則停用 autorun.inf 檔案
說到自動播放，它的決策流程就比較複雜一點，用流程表來說明可能比較容易。[圖 4] 描述了在決定是否自動執行卸除式媒體上的檔案時所採用的決策流程。
[圖 4] 自動播放決策流程
[圖 4] 自動播放決策流程

其他開端
不用說，這些只是利用 USB 快閃磁碟來侵害電腦的其中一些工具罷了。這種案例可能採用的工具包羅萬象，例如有種工具可以傾印出目前使用者的 Windows NT® 密碼雜湊 (請參閱 microsoft.com/technet/community/columns/secmgmt/sm1005.mspx)。
許多 USB 控制站實際上是直接記憶體存取 (DMA) 裝置，也就是說它們可以略過作業系統，直接讀寫電腦上的記憶體。略過 OS 就等於是略過它所提供的安全性控制 — 表示您現在可以肆無忌憚地存取硬體。換句話說，OS 所實作的裝置控制將完全失效。我還沒看過有任何駭客工具目前是運用這種方法，不過我肯定有人已經用過這種方法。
另一種利用使用者/卸除式裝置組合的入侵方法是直接丟出誘餌。比方說，有多少使用者會按下 [圖 5] 中的對話方塊呢？不一定每個人都會，但可能有很多人會。重點是，要捏造出讓使用者難以抵擋的誘人對話方塊，是件輕而易舉的事。
[圖 5] 有多少使用者會受這所騙？
[圖 5] 有多少使用者會受這所騙？

裝置封鎖
群組原則現在有一組原則可以用來控制裝置安裝，這是 Windows Vista 中的全新功能 (見 [圖 6])。如圖所示，如果驅動程式指出新的卸除式裝置是卸除式的，系統管理員便可封鎖它們的安裝。不過，如果驅動程式指明它們不是的話，原則便不會生效。因此，利用自訂驅動程式很容易就可以規避這項原則。
[圖 6] Windows Vista 裝置安裝原則
[圖 6] Windows Vista 裝置安裝原則
如需比較細微的控制，系統管理員可以運用原則針對特定的裝置安裝類別採取行動。然而，要這麼做，您可能必須知道要封鎖 (或允許) 的特定裝置類別的 GUID，因此這種方法很難管理。

最低權限真的很重要
暫時把 DMA 的案例擱一邊，我討論到的成功攻擊，以及成功的因應措施，都將視使用電腦的使用者所具的權限而定。如果使用者是標準使用者，那麼入侵所造成的損失其實有限。它仍然會偷取該名使用者的資料，以及該名使用者能夠存取的內容。不過，攻擊的範圍比較不可能大規模影響到網路。
但要是受到入侵的使用者是系統管理員，後果可能不堪設想。在最壞的情況下，若使用者是網域系統管理員，那麼要攻下整個網路簡直是易如反掌。比方說，攻擊者可以從記憶體擷取使用者的密碼雜湊。系統是在登入時將雜湊快取到 LSA 處理序空間內，因此可被用來代表使用者，毫無障礙地存取網路資源。具備系統管理權限的攻擊者可擷取這個雜湊，然後利用它存取任何網路資源。換句話說，如果使用者是網域系統管理員，整個網路就淪陷了。
這把我帶到依存性的話題，目前為止，我所描述的攻擊都是發生在工作站上。我還沒有討論到網路規模的攻擊可能產生的衝擊。在下期專欄中，我將探索依存性的概念，向您說明它們對整個環境有何意義，以及更重要的是，您可以如何強化這些依存性。

Jesper M. Johansson 是負責軟體安全性問題的安全性工程師，也是《TechNet Magazine》的特約編輯之一。他擁有 MIS 博士學位，在安全性領域有 20 年以上的經驗。


 桌面檔案: 透過 Windows SteadyState 管理公用電腦
桌面檔案
透過 Windows SteadyState 管理公用電腦
Wes Miller

如果您在過去 10 年來曾到過電腦室，我知道您對這個問題一定不陌生。我是在大學的時候第一次親眼目睹。當時的電腦室是全天候開放 (用學生證出入)，而且到了圖書館室之後，就無人看管。那個時代的學生電腦玩家，
都會到這兒來修改重要的 Windows® 和 MS-DOS® 檔案，好執行他們的遊戲。結果變成電腦可能執行他們的遊戲沒問題，卻無法順利執行 Windows (如果沒當掉的話)。我們都曾碰過這種情形 — 公用電腦被蹂躪至極，使用它簡直是浪費自己的時間。
我最近在德州這邊的南帕德烈島渡假，我下榻的旅館在房客電腦室裡面擺了三台執行 Windows XP 的電腦。在這些 Windows 系統上執行的使用者個個是系統管理員，而且什麼原則都沒有設定 — 表示這些可憐的電腦曾被安裝惡意軟體、移除或修改核心應用程式，慘不忍睹 — 怎麼說也不是旅館想要提供的住房經驗。事實上，不管是在電腦室還是旅館，公開環境中的公用電腦命運多舛，不是一些家用電腦可以想像的。

解決問題的辦法
取得及使用 SteadyState
Windows SteadyState 可免費自 go.microsoft.com/fwlink/?LinkId=104721 下載。有關 SteadyState 的詳細資訊，可從 microsoft.com/windows/products/winfamily/sharedaccess 取得。
Windows SteadyState 可以在任何能夠執行 Windows XP 的系統上執行。SteadyState 優於 SCT 最明顯的改進是，它並不像 SCT 一樣需要有第二個磁碟分割用於 Windows 磁碟保護才能運作。
下表提供了 SteadyState 的系統需求概觀。請注意，SteadyState 雖然支援任一種 Windows XP 版本，但是需要 NTFS 格式化的檔案系統。SteadyState 目前並不適用於 Windows Vista®。

元件 | 需求
處理器 | 300 MHz 或更快的速度 (至少 233 MHz)。
記憶體 | 128MB 或以上的 RAM (至少 64MB；可能會限制效能和一些功能)。
硬碟 | 若沒有 Windows 磁碟保護，至少須有 1.5GB 的可用硬碟空間，或者在有 Windows 磁碟保護時至少須有 4.0GB 的可用硬碟空間。
作業系統 | Windows XP Home Edition、Windows XP Professional 或 Windows XP Tablet PC Edition。必須安裝 Windows XP SP2。
支援的當地語系化語言 | 英文、荷蘭文、法文、義大利文、日文、巴西葡萄牙文、簡體中文以及西班牙文。
檔案系統 | NTFS 格式化的檔案系統。
存取 | 系統管理員層級存取。

如果您去年讀過我的專欄，或者您對於 Windows 的一般部署工作還蠻熟悉的，您可能會想：「有什麼了不起，大不了重新製作系統的映像就得了」。但是只要過過那種生活的人都知道，情況不一定都這麼簡單。每天或每週按下那個重新製作映像的紅色大按鈕不是解決之道。
幾年前，我和一名朋友考慮開家網咖。這在 1995 年當時還算是個蠻新潮的構想。我最大的顧慮其實在於如何確保系統穩定性和可用性。不幸的是，當時的選擇大多是重新製作映像或是稍微比較強固的解決方案，並沒有所謂的隨插即用可以解決問題。
仔細分析下來，在保護公用電腦的安全時，您應該要能夠做三件事：
  • 確保使用者只以非系統管理員身分執行。這在公用電腦上應該徹底厲行。
  • 設定原則，讓系統盡可能安全。如此一來，使用者就比較不可能獲權操控他們不應該存取的系統區域。
  • 能夠復原使用者所作的任何隨機變更。即使使用者是以非系統管理員的身分執行，他們還是能夠對功能表、我的最愛等等進行惡意的變更。
所幸，Microsoft 投入許多年的功夫，設計出一套專門解決這種案例的工具組。

SteadyState 的歷史
Microsoft 在一年多前發行了 Windows Shared Computing Toolkit (SCT)，供免費下載用於 Windows Genuine Advantage 認證的系統，該工具組是特別針對圖書館、網咖、電腦室和其他公用電腦環境而設計的。您可能在 2006 年 7 月號的《TechNet Magazine》看過關於 SCT 的文章 (technetmagazine.com/issues/2006/07/UtilitySpotlight)。
新版本現在改名為 Windows SteadyStateTM (microsoft.com/windows/products/winfamily/sharedaccess)，它是在 2007 年 6 月推出。新版本改名的原因有部分是因為工具組在版本間經過了大幅的變更。它還是會執行相同的工作，這我稍後就會深入討論，但是開發小組把重點放在新版本整體的方便使用性上。也就是說 SteadyState 已緊密整合至新的主控台，而且更容易安裝和管理。它的功能更強大也更具彈性，而且支援它其中一個主要元件與 Active Directory® 整合 — 表示在幾種全新的企業案例中更具有彈性。SteadyState 現在也支援 Windows Update 整合，所以具備相關的智慧知道何時要關閉 Windows 磁碟保護來自行套用更新。如此一來，便降低了為 SteadState 管理的系統投入的管理負荷。

SteadyState 的功能
Windows SteadyState 包含四大元件：「電腦限制」會鎖定每部電腦的安全性和設定選項；「Windows 磁碟保護」會快取 (和還原) 對 Windows 系統磁碟分割的變更；「使用者帳戶管理員」會建立、編輯、匯入或匯出使用者；還有最後的「使用者限制和設定」會鎖定每名使用者的安全性和設定選項。
您會注意到，跟 Shared Computing Toolkit 比起來，這個版本最直接的改進是使用者說明，提供了入門指南輔助執行 SteadyState，而 SteadyState 也提供四項可深入探索的重要工作 (跟我上面提到的主要功能互相呼應)：
  • 設定電腦限制 (電腦限制)。
  • 排定軟體更新 (讓您指定 SteadyState 是否自動套用 Windows Updates。這是建議的選項，因為它會幫您操作 Windows 磁碟保護的處理事宜，也會更新幾個常見防毒程式的簽名)。
  • 保護硬碟 (Windows 磁碟保護)。
  • 新增使用者 (使用者帳戶管理員)。
您可以在 [新增使用者] 找到 [使用者限制和設定]，它會提供您每名使用者的設定選項。

電腦與使用者限制和設定
如果您已經熟悉 Windows 群組原則，想必對 SteadyState 的「設定電腦限制」和「使用者限制和設定」並不陌生。SteadyState 會顯示在公用電腦案例中常見的幾項重要的安全性和設定選項，而不會強迫 SteadyState 系統管理員必須使用群組原則物件編輯器 (GPEdit.msc)，雖然 Windows XP Home Edition 上有支援 SteadyState，但不提供此功能。
[圖 1] 顯示了設定電腦限制的設定畫面。請注意，這些全都是通用設定，會套用到整部電腦。選取這些設定主要是為了將系統的安全性風險降至最低 — 以及在進行 USB 磁碟存取的情況下，可以從系統移除項目 (當您查看每名使用者的設定時，也會看到可以封鎖部分或所有磁碟的讀取存取的方法)。
[圖 1] SteadyState 中的電腦限制
[圖 1] SteadyState 中的電腦限制
值得注意的一點是，USB 設定只在實際有設定 SteadyState 的 Windows 安裝下執行才有效。為了防禦離線攻擊，您應該適當設定 BIOS 來封鎖從 USB 或 CD 裝置開機，並且以密碼保護 BIOS 本身。
不用說，這並非萬無一失的做法。請記住《安全性十大定律》(microsoft.com/technet/archive/community/columns/security/essays/10imlaws.mspx) 裡面的第三定律：「倘若不肖份子能夠毫無阻礙地存取您的實體電腦，您的電腦就淪陷了。」只要有足夠時間和適當工具，有心人往往可以繞過 BIOS 密碼。

Windows 磁碟保護
如果您曾從 CD 使用過 Windows XP Embedded，或使用過 Windows PE 2.0，接下來的說明您一定不生疏，因為它們同出一源。Windows 磁碟保護的運作方式是透過把對系統磁碟分割所作的全部變更都儲存到相同磁碟分割上的快取中，藉此提供 Windows 系統磁碟分割完整的「復原」。SteadyState 的這個層面非常重要，因為容許您復原系統使用者隨著時間所作的變更的，正是這個元件。
如果您想要確保您可以隨著時間迅速復原 (不管是在未預期的重新開機之後，或是排定的間隔內)，回到系統最初的部署狀態，Windows 磁碟保護就很實用。在 [圖 2] 顯示的對話方塊中，有四個節點可供您設定：
[圖 2] 設定 Windows 磁碟保護
[圖 2] 設定 Windows 磁碟保護
關閉 完全停用 Windows 磁碟保護，而且所有變更會正常寫入磁碟。
開啟 — 重新開機時捨棄變更 啟用 Windows 磁碟保護，而且每次重新啟動電腦時，將捨棄所有變更。這基本上是指系統會還原成當您勾選和儲存這個選項時的狀態。
開啟 — 在指定時間捨棄變更 與前一個選項幾乎一模一樣，差別在於變更是在指定時間，而不是在下一次重新開機時捨棄。如果您希望捨棄每天或每週的變更，這將是合理的選項。
開啟 — 永久保留變更 這在概念上容易與「關閉」相混淆，但此處的差別是，這是暫時模式。例如，您可以在想要套用應用程式更新、安裝新應用程式，或設定系統時使用此模式。這個模式不適合執行過長的時間。
請注意 Windows 磁碟保護在當中這些模式之間變換時需要重新開機。

排定軟體更新
[排定軟體更新] 設定好用的地方在於 SteadyState 現在可以自動為您關閉或開啟 Windows 磁碟保護。如果您容許 SteadyState 處理更新，它會設定 Windows 磁碟保護在更新期間保留變更，之後再將 Windows 磁碟保護還原到之前設定的狀態。我非常建議使用這個設定，因為這樣一來管理工作清單上就少了一項差事。
透過軟體更新的更新功能，支援下列安全性軟體：Computer Associates eTrust 7.0、McAfee VirusScan、Windows Defender，以及 TrendMicro 7.0。

使用者帳戶管理員
[新增使用者] 選項可讓您設定系統的新使用者。[圖 3] 顯示了新使用者可用的選項：名稱、密碼、呈現給使用者的影像，以及使用者設定檔的位置。建立好使用者之後，您就可以為這些本機帳戶一一設定「使用者限制和設定」。優點是您在系統上新增和設定好帳戶後，就可以匯出它，然後在必要時把它匯入到其他系統 (或將它保存起來)。
[圖 3] 新增使用者帳戶
[圖 3] 新增使用者帳戶
使用者帳戶管理員便利的一點是，您可以透過 [圖 3] 所示的 [使用者位置] 功能表在次要磁碟分割上建立使用者設定檔。除非您在安裝期間透過 unattend.txt 檔案手動指定不同的 Documents and Settings 位置，否則設定檔必須建立在 Windows 磁碟分割上。這種方法在 SteadyState 特別受用，因為它會在啟用 Windows 磁碟保護時捨棄對 Windows 系統磁碟分割所作的變更。如果您希望使用者的設定檔在 Windows 磁碟保護快取清除後繼續保持一致，只要在透過使用者帳戶管理員建立使用者時，指定將使用者的設定檔存放到不同的本機磁碟分割就行了。
這個程序的運作方式是透過重新開機清除 Windows 磁碟保護快取，套用更新後再次重新開機，以重新啟動 Windows 磁碟保護。除了 Windows Update 之外，SteadyState 也會更新它所支援的幾個常見防毒應用程式的簽名檔 (請參閱「取得和使用 SteadyState」資訊看板)。如果您的應用程式沒有受到支援，或是您需要執行其他更新程式，可以手動處理更新 — 只要確定您在進行這個動作時已經停用 Windows 磁碟保護就行了，否則簽名更新將會遺失。

使用者限制和設定
一旦選好使用者之後，SteadyState 就會將使用者限制分成四大類。這些是衍生自群組原則的設定，而且您可能似曾相識。
[一般] 設定控制著使用者設定檔，以及強制登出設定。這包括設定鎖定設定檔，以及設定在過了一段設定的使用時間或閒置時間後，登出的逾時間隔。
[圖 4] 所示的 [Windows 限制] 設定，則控制著 Windows 特定的設定項目。範例包括移除對 Windows 使用者介面項目的存取，例如開始功能表的元件和 Windows 檔案總管的功能等。另外還可以依磁碟機代號封鎖對特定磁碟機的存取，以及停用 CD 燒錄功能。
[圖 4] Windows 特定的使用者限制
[圖 4] Windows 特定的使用者限制
[圖 5] 所示的 [功能限制] 索引標籤控制著對大部分 Internet Explorer® 功能的細微存取，容許您設定 Internet Explorer 首頁，以及以某種程度控制 Microsoft® Office 功能 — 主要是指控制執行 Visual Basic® for Applications (VBA) 指令碼的能力。
[圖 5] 功能限制
[圖 5] 功能限制
[封鎖程式] 設定 (見 [圖 6]) 控制著執行特定應用程式的能力 — 基本上是建立一份黑名單，裡頭已經列出幾個常見的應用程式，您可以另外添加。要注意的是，這些應用程式的封鎖是以其的路徑定義為準。如果使用者獲准將應用程式挪到系統的其他地方，那麼路徑規則就不再適用。不過，只要正確套用檔案和目錄 ACL、並採用其他方式限制系統存取，就能夠避免使用者輕易挪動應用程式。
[圖 6] 封鎖程式免於執行
[圖 6] 封鎖程式免於執行
SteadyState 另外一項重要的新功能是藉由預先定義的範本，指定與 Windows 限制及功能限制這兩者有關的限制層級。使用範本的好處是令基準設定按您所需的功能鎖定層級運作，不過您當然可以建置自訂範本。

SteadyState 的限制
SteadyState 在協助組織保持其公用電腦系統穩定方面表現傑出。這就商用工具來說，還算不賴。而對免費工具而言，可說是相當了不起。但是別忘了，它不是萬能的。
公用電腦系統很容易成為攻擊的標靶，甚至也很容易遭到無意的濫用。您應該確實將這些系統與它們不需要存取的資訊相隔離。雖然 SteadyState 也能夠封鎖對應用程式的存取，但是這些強制作業是透過軟體限制原則來處理。就像 Mark Russinovich 幾年前曾說過，精通門道的使用者可以利用各種管道，製作出看似無害的應用程式，結果就連限制權限的使用者也可能敞開大門讓他們通過這些原則 (blogs.technet.com/markrussinovich/archive/2005/12/12/circumventing-group-policy-as-a-limited-user.aspx)。若不封鎖所有裝置存取和網際網路存取，您就需要切記這項弱點。永遠將第 3 定律謹記在心 ...
SteadyState 很顯然只是設定完善的公用電腦系統當中的一個小環節。重要的是定期透過 Windows Update 套用更新，並適當設定 Windows 防火牆 (或其他防火牆)。另外，也要確實安裝和設定防毒軟體、防間諜軟體和其他安全性因應措施，這些都是分析電腦潛在風險不可少的工具。同樣地，也要控制對電腦的存取 — 如果您控制不了這一點，就控制電腦可以查看的內容。而且別把機密資料存在本機上。
最後，當您的平台進行測試取得合格認證前，確定測試當中包括了使用 SteadyState (啟用 Windows 磁碟保護，除非您不打算使用它)，以及所有您打算在系統上執行的其他軟體。您應當確保軟體和 SteadyState 搭配運作無間。

SteadyState 的支援
我看到使用者對 SteadyState 所持的意見都相當地正面。我到目前為止只有聽到幾個小問題，有些是關於新增使用者必須遵守的順序。當中許多小問題 (以及其他使用秘訣和訣竅) 在活躍的 Windows SteadyState 社群 (SteadyState 應用程式和說明文件中提供好幾個方便的連結) 中都有討論到，網址是 forums.microsoft.com/windowstoolsandutilities。
我也建議在開始前先檢閱 SteadyState 手冊，您可從 go.microsoft.com/fwlink/?LinkId=104722 取得此手冊。其中提供了好幾個成功使用 SteadyState 的秘訣和訣竅。

總結
SteadyState 為您需要控制存取的 Windows XP 系統提供了絕佳的功能組合 — 而且它是免費的！經過大幅改進的 Windows 磁碟保護功能和使用者介面的增強，都意謂著它更容易部署，而且公用存取系統整體管理起來也更簡單。
無論您是為了滿足電腦室系統、訪客或員工公用存取資訊站、教育訓練室，或任何其他公用電腦的需要，SteadyState 都可以幫助您更輕鬆地讓系統順利運作。有了它之後，您每個禮拜就不用再為了助推啟動系統而需要重新製作映像傷腦筋。這在我的標準下可是一大改進。

Wes Miller在位於德州奧斯丁的 Initiate Systems (InitiateSystems.com) 擔任技術產品經理。他之前任職於 Winternals Software，並且曾在 Microsoft 擔任專案經理一職。您可以透過電子郵件與 Wes 聯絡：technet@getwired.com。


 現場筆記: 一天最重要的工作
現場筆記
一天最重要的工作
Eric N. Bush

比爾蓋茲 每年都會離開辦公室兩次，度他所謂的「思考週」。他會拋開人群、電話、電子郵件，專心閱讀，仔細思考 Microsoft 及全球的科技形勢。努力瞭解自己與別人的公司在做什麼，如何以更具戰略性的方式往前邁進。比爾蓋茲瞭解思考與規劃的價值。
其實只要我們每天保留一點思考與規劃的時間，構思點子、解決問題、設定目標、排定工作的優先順序，甚至是做做白日夢，同樣也可以從中得到收獲。儘量在每天固定的時段進行這個例行公事，而且務必在這個時段內避開其他所有的互動。您最重要的工作，就是規劃當天所要做的事情，並且將這些事情排出優先順序。如果您是管理階層，也許大部分的時間都是花在規劃別人的工作，以及排定這些工作的優先順序。
無論您負責管理公司網路、管理重要的資料庫，還是設計與管理企業資訊系統，每天都會有許多問題讓您分心，阻礙您在真正重要的工作上的進展。等到一天接近尾聲，還搞不清楚到底是在往前進還是向後退。
您的目標應該是讓自己更有組織力、更能主動取得先機，以及更有辦法應對 IT 緊急狀況。您可以藉由規劃，讓自己化被動為主動。但是要實現這個轉變，您必須思考、規劃與排定優先順序。這些步驟可以幫助您列出一份工作清單，檢閱這份清單作為每天的開始。這份清單分為三大類：「進行中」、「儘速完成」以及「願望」清單。您可以根據這三份清單來安排時間，擬定解決方案，以防範危機的發生。
「進行中」清單的項目，是指必須明白釐清、而且每天都必須有所進展的工作。您必須先實踐貴公司和群組的主要目標。無法直接影響優先順序的工作，可以把它挪到較低的優先順序。如果您是管理階層，就應該讓程序進入軌道，協助所有員工趕上最高優先順序。
「儘速完成」和「願望」清單的內容通常是節省公司時間和金錢，讓公司更具競爭實力的策略性計劃。請找出這些工作，緩慢且有條不紊的追尋它們，隨著優先順序往前移的同時，將它們逐漸移到「進行中」清單。
不過別忘了：規劃好優先順序清單，不見得就表示每一件事都能夠確實做到。下面是一些幫助您進行工作的小密訣：
  • 先完成既快速又簡單的工作。
  • 接著做動機不強的工作。
  • 最後再做最刺激好玩的工作。
  • 避免不斷切換工作，儘量保持工作連續。
  • 但是，如果您在某件事情遇到瓶頸，就跳到下一個工作，直到可以回來繼續進行為止。
  • 委派或拒絕對您無意義的工作，或者提出其他建議。
  • 瞭解什麼時候是您狀態最好、產能最高的工作時段，把這個時段保留給最重要的工作。
瞭解如何聰明的規劃時間，是把工作做到最好的秘訣。沒有計劃，隨波逐流的人，無法從所達成的階段獲得滿足，因為他們永遠不知道他們首先要到達哪一個階段。

Eric N. Bush 是 Microsoft 卓越工程 (Engineering Excellence) 小組的軟體開發組長。他身兼內部顧問與課堂講師，負責推動人際關係、程序與技術領域的工程與組織改善。您可以透過電子郵件與他連絡：ericbush@microsoft.com。


 Windows 機密文件: 提醒我別再重蹈覆轍
Windows 機密文件
提醒我別再重蹈覆轍
Raymond Chen

有一個舊工具 是用於 Windows® 95 系列的作業系統，稱為「自動略過驅動程式」(Automatic Skip Driver)。您對這個工具的第一個反應可能是來自它可笑的名稱，甚至還可能懷疑 ASD 這幾個字一開始是代表別的意思。您猜的一點也沒錯。
由於當時市面上的系統大多是在隨插即用規格推出之前就存在了，因此 Windows 95 必須處理很多非隨插即用裝置。在缺乏可靠的隨插即用裝置的情況下，進行硬體偵測非常吃力不討好。
舉例來說，若要進行數據機偵測，就必須發出許多數據機登錄的值查詢。雖然已經建置了堪稱完備的基本數據機命令集，但是在命令語言的灰色地帶仍然存在重大的實作差異。不用多說，這種不一致的情況會造成通訊程式的困擾，因為必須考量到各種數據機模型的特殊個案，以便應付其個別差異；然而，這種不一致性反而為 Windows 帶來出乎意外的好處：由於每種數據機的行為都稍有不同，Windows 可以研究這些灰色地帶，並根據已知數據機與其回應的表格來對照數據機的行為。
Windows 95 小組裡面有個人專門負責安裝世人所知的所有數據機，執行一個小程式來按部就班準備好數據機，探索灰色地帶，然後收集每一次的結果以便建立最詳盡的數據機資料庫。若您仍有機會使用執行 Windows 95 的電腦，不妨到 Windows\Inf 目錄查看一下所有檔名以 MDM 開頭的檔案。裡面數據機特定的裝置資訊檔案就超過了 1 MB。這代表著將數年的人生光陰濃縮成 1 MB 無法人為辨讀的十六進位數字。
偵測數據機蠻單純的，因為幾乎所有數據機的整體行為都高度雷同；驚喜全都藏在細節中。相較之下，使用 I/O 連接埠的裝置可怕得多。譬如說，若要偵測是否已安裝特定視訊卡，Windows 95 設定管理員的視訊卡偵測模組需要將精挑細選的值傳送到特定 I/O 連接埠，然後接聽來自裝置的任何回應。如果裝置的回應方式正確，系統便會假設已找到所需的項目。否則，系統會接著執行下一個視訊卡模組。
不用說，如果安裝在該 I/O 連接埠上的裝置並非設定管理員所要測試的視訊卡，那麼這個裝置可能會因為一直收到毫無關係的值而心煩意亂。根據裝置的任性程度而定，裝置可能會停止回應或重新啟動電腦。這對設定管理員來說不是什麼好兆頭。ASD 這個模組於是應運而生。
執行這些可能釀成災難的硬體探測之前，設定管理員會先建立一個檔案，基本上它代表：「糟了！我馬上就要做出危險的 X 舉動！」就像動作片的英雄與壞蛋決一死戰之前，總會留給女友一封「萬一我死了再拆」的信，只不過變成電腦版本。
事實上，萬一危險的 X 真的造成電腦停止回應、當機或重新啟動，那麼下一次系統啟動時，它會看到這個神奇的檔案，「打開信封」並恍然大悟原來是危險的 X 造成電腦當機。接著，系統會歸納出嘗試偵測裝置 X 會造成災難的結論，並明白再也不要重蹈覆轍。
執行這項工作的模組名為 ASD。而 ASD 這 3 個字母代表「以身試險 (Attempting Something Dangerous)」。

Raymond Chen的網站 The Old New Thing 以及同名著作 (Addison-Wesley，2007 年) 均探討 Windows 的歷史和 Win32 程式設計。他在處理這些敏感主題時特別小心。