您可以從伺服器管理員中使用 BPA GUI 或使用 Windows PowerShell 中的 Cmdlet 來執行 Best Practices Analyzer (BPA) 掃描。Windows PowerShell 中的 BPA Cmdlet 可讓您同時掃描一或多個角色,而 BPA GUI 則允許一次掃描單一角色。您也可以指示 BPA 排除或略過不需要檢視的掃描結果。

在本主題中

對角色執行 Best Practices Analyzer 掃描

使用伺服器管理員中的 BPA GUI 或使用 Windows PowerShell Cmdlet,可以對角色執行 BPA 掃描。

使用 BPA GUI 掃描角色

遵循下列步驟以在 BPA GUI 中掃描單一角色。

使用 BPA GUI 掃描角色
  1. 開啟 [伺服器管理員]。 若要開啟 [伺服器管理員],請按一下 [開始],指向 [系統管理工具],再按一下 [伺服器管理員]

  2. 在樹狀目錄窗格中,開啟 [角色],然後選取想要開啟 BPA 的角色。

  3. 在詳細資料窗格中,開啟 [摘要] 區段,然後開啟 [Best Practices Analyzer] 區域。

  4. 按一下 [掃描這個角色] 開始掃描。

使用 Windows PowerShell Cmdlet 掃描角色

遵循下列程序,使用 Windows PowerShell Cmdlet 掃描一或多個角色。若要完成此程序,您必須以 Administrators 群組成員的身分登入電腦。

附註

本節中的程序不會顯示所有 BPA Cmdlet 與參數。如需 Windows PowerShell 中 BPA 操作的相關資訊,在 Windows PowerShell 工作階段中,輸入 Get-Help BPACmdlet -full,其中 BPACmdlet 可以是下列任何一個值。

  • Get-BPAModel

  • Get-BPAResult

  • Invoke-BPAModel

  • Set-BPAResult

使用 Windows PowerShell Cmdlet 掃描單一角色
  1. 以提升的使用者權限開啟 Windows PowerShell 工作階段。若要這樣做,依序按一下 [開始][所有程式][附屬應用程式][Windows PowerShell],在 [Windows PowerShell] 捷徑上按一下滑鼠右鍵,然後按一下 [以系統管理員身分執行]

  2. 將伺服器管理員模組匯入 Windows PowerShell 工作階段。若要匯入伺服器管理員模組,輸入下列命令,然後按 ENTER

    Import-Module ServerManager

  3. 匯入 BPA 模組。輸入下列命令,然後按 Enter

    Import-Module BestPractices

  4. 如下例所示,輸入限定詞 BestPracticesModelId 不等於 "null" 的 Get-WindowsFeature Cmdlet,尋找可以執行 BPA 掃描之所有角色的模型識別碼。

    Get-WindowsFeature | Where {$_.BestPracticesModelId -ne $null}

  5. 在步驟 4 的結果中,找到要執行 BPA 掃描之角色的模型識別碼。

  6. 輸入下列命令,開始為該角色執行 BPA 掃描。

    Invoke-BPAModel -BestPracticesModelId ModelID_from_Step4

    如果可以對特定角色執行 BPA 掃描,將 Get-WindowsFeature Cmdlet 的結果以管線方式傳遞給 Invoke-BPAModel Cmdlet 也可以啟動掃描程序,如下例所示。

    Get-WindowsFeature Model_Name | Invoke-BPAModel

使用 Windows PowerShell Cmdlet 掃描所有角色
  1. 以提升的使用者權限開啟 Windows PowerShell 工作階段。若要這樣做,依序按一下 [開始][所有程式][附屬應用程式][Windows PowerShell],在 [Windows PowerShell] 捷徑上按一下滑鼠右鍵,然後按一下 [以系統管理員身分執行]

  2. 將伺服器管理員模組匯入 Windows PowerShell 工作階段。若要匯入伺服器管理員模組,輸入下列命令,然後按 ENTER

    Import-Module ServerManager

  3. 匯入 BPA 模組。輸入下列命令,然後按 Enter

    Import-Module BestPractices

  4. 將可執行 BPA 掃描的所有角色以管線方式傳遞給 Invoke-BPAModel Cmdlet 以啟動掃描程序。

    Get-WindowsFeature | Where {$_.BestPracticesModelId -ne $null} | Invoke-BPAModel

掃描遠端電腦上執行的角色

本節中的程序描述如何對執行 Windows Server(R) 2008 R2 之遠端電腦上安裝的角色執行 BPA 掃描。

重要

您必須是要執行 BPA 掃描之任何遠端電腦上的 Administrators 群組成員。

使用伺服器管理員 GUI 掃描遠端角色
  1. 您必須先遵循使用伺服器管理員進行遠端管理中的下列程序來準備遠端電腦,才能使用伺服器管理員管理遠端電腦。

  2. 開啟 [伺服器管理員]。 若要開啟 [伺服器管理員],請按一下 [開始],指向 [系統管理工具],再按一下 [伺服器管理員]

  3. 在伺服器管理員 樹狀目錄窗格中的 [伺服器管理員] 節點上按一下滑鼠右鍵,然後按一下 [連線到另一台電腦]

  4. [連線到另一台電腦] 對話方塊中,選取 [另一台電腦],然後瀏覽或輸入另一台執行 Windows Server 2008 R2 之電腦的名稱或 IP 位址。按一下 [確定]

  5. 在遠端電腦的伺服器管理員樹狀目錄窗格中,開啟 [角色]

  6. 選取要執行 BPA 掃描之角色的角色首頁。

  7. 在詳細資料窗格中,開啟 [摘要] 區段,然後展開 [Best Practices Analyzer] 區域。

  8. [Best Practices Analyzer] 區域中,按一下 [掃描這個角色]

  9. 掃描完成時,按兩下 [不符合標準][符合標準][全部] 索引標籤上的結果項目,以檢視掃描結果。

使用 Windows PowerShell Cmdlet 掃描遠端角色
  1. 您必須先遵循使用伺服器管理員進行遠端管理中的下列程序來準備遠端電腦,才能使用伺服器管理員管理遠端電腦。

  2. 以提升的使用者權限開啟 Windows PowerShell 工作階段。若要這樣做,依序按一下 [開始][所有程式][附屬應用程式][Windows PowerShell],在 [Windows PowerShell] 捷徑上按一下滑鼠右鍵,然後按一下 [以系統管理員身分執行]

  3. 輸入下列命令,其中,ComputerName 是執行 Windows Server 2008 R2 之遠端電腦的名稱,UserName 是遠端電腦上 Administrators 群組成員的使用者名稱,然後按 Enter

    Enter-PSSession <ComputerName> -credential <UserName>

  4. 此時會提示您在安全對話方塊中輸入您的密碼。輸入您的密碼,然後按 Enter

  5. 將伺服器管理員模組匯入 Windows PowerShell 工作階段。若要匯入伺服器管理員模組,輸入下列命令,然後按 ENTER

    Import-Module ServerManager

  6. 匯入 BPA 模組。輸入下列命令,然後按 Enter

    Import-Module BestPractices

  7. 將角色的模型以管線方式傳遞到 Invoke-BPAModel Cmdlet 以啟動 BPA 掃描程序。輸入下列命令,然後按 Enter

    Get-WindowsFeature [Role Name] | Invoke-BpaModel

  8. 輸入下列命令,然後按 Enter

    configure-wsman.ps1

  9. 輸入下列命令,然後按 Enter

    New-RunSpace

  10. 輸入下列命令,然後按 Enter

    Start-PSSession

  11. 將角色的模型以管線方式傳遞到啟動 BPA 掃描程序的 Invoke-BpaModel Cmdlet,以對遠端電腦上執行的角色啟動 BPA 掃描程序。輸入下列命令,然後按 Enter

    Get-WindowsFeature [Role Name] | Invoke-BpaModel

  12. 取得 BPA 掃描的結果。輸入下列其中一個命令,然後按 Enter

    • Get-BpaResult [BestPracticeModelID]

    • Get-WindowsFeature [Role Name] | Get-BpaResult

排除掃描結果

由於您可能不需要檢視某些掃描結果,特別是您經常執行掃描時,因此您可以排除不想查看或與掃描無關的掃描結果。排除的掃描結果會移到 BPA GUI 的 [已排除] 索引標籤中。這些排除結果隨時可以重新包含在內。

使用 BPA GUI 排除掃描結果

遵循下列步驟,以使用 BPA GUI 排除掃描結果。

附註

在使用此程序前,您必須對角色至少執行一次 BPA 掃描。

使用 BPA GUI 排除掃描結果
  1. 開啟 [伺服器管理員]。 若要開啟 [伺服器管理員],請按一下 [開始],指向 [系統管理工具],再按一下 [伺服器管理員]

  2. 在樹狀目錄窗格中,開啟 [角色],然後選取想要開啟 BPA 的角色。

  3. 在詳細資料窗格中,開啟 [摘要] 區段,然後開啟 [Best Practices Analyzer] 區域。

  4. [不符合標準][符合標準][全部] 索引標籤上選取結果,然後按一下 [排除]

  5. 若要一次排除多個結果,選取結果時請按住 Ctrl 鍵。

使用 Windows PowerShell Cmdlet 排除掃描結果

Set-BPAResult Cmdlet 中使用 -Exclude 參數,可以排除掃描結果。如同在 BPA GUI 中,您可以排除個別的結果物件,也可以排除一組其欄位 (例如,類別、標題、嚴重性) 等於或包含指定值的結果。例如,您可以從角色的一組掃描結果中排除所有 [效能] 結果。

附註

在使用此程序前,您必須對角色至少執行一次 BPA 掃描。

使用 Windows PowerShell Cmdlet 排除掃描結果
  1. 以提升的使用者權限開啟 Windows PowerShell 工作階段。若要這樣做,請依序按一下 [開始][所有程式][附屬應用程式][Windows PowerShell],並在 Windows PowerShell 捷徑上按一下滑鼠右鍵,再按 [以系統管理員身分執行]

  2. 將伺服器管理員模組匯入 Windows PowerShell 工作階段。若要匯入伺服器管理員模組,輸入下列命令,然後按 ENTER

    Import-Module ServerManager

  3. 匯入 BPA 模組。輸入下列命令,然後按 Enter

    Import-Module BestPractices

  4. 輸入下列 Cmdlet,從角色掃描排除特定結果。

    Get-BPAResult -BestPracticesModelId Specified Model Id | Where { $_ Field_Name -eq "Value" } | Set-BPAResult -Id Specified Model Id -Exclude $true

    前述的 Cmdlet 會擷取 Specified Model Id 所代表之模型識別碼的 BPA 掃描結果項目。命令的第二部分會篩選 Get-BPAResult Cmdlet 的結果,僅擷取結果欄位的值符合雙引號內文字的掃描結果。Cmdlet 的最後部分 (在第二個直立線符號之後) 會排除 Cmdlet 前面部分篩選的結果。

包含掃描結果

當您想要檢視被排除的掃描結果時,可以包含這些掃描結果。

使用 BPA GUI 包含掃描結果

在 BPA GUI 中,於 [已排除] 索引標籤上選取一或多個結果,然後按一下 [包含],即可包含任何已排除的掃描結果。

使用 BPA GUI 包含掃描結果
  1. 開啟 [伺服器管理員]。 若要開啟 [伺服器管理員],請按一下 [開始],指向 [系統管理工具],再按一下 [伺服器管理員]

  2. 在樹狀目錄窗格中,開啟 [角色],然後選取想要開啟 BPA 的角色。

  3. 在詳細資料窗格中,開啟 [摘要] 區段,然後開啟 [Best Practices Analyzer] 區域。

  4. [已排除] 索引標籤選取結果,然後按一下 [包含]

  5. 若要一次包含多個結果,選取結果時請按住 Ctrl 鍵。

使用 Windows PowerShell Cmdlet 包含掃描結果

Set-BPAResult Cmdlet 中使用 -Exclude 參數,可以包含掃描結果。如同在 BPA GUI 中,您可以包含個別的結果物件,也可以包含一組其欄位 (例如,類別、標題、嚴重性) 等於或包含指定值的結果。例如,您可以從角色的一組掃描結果中包含所有之前排除的 [效能] 結果。

使用 Windows PowerShell Cmdlet 包含掃描結果
  1. 以提升的使用者權限開啟 Windows PowerShell 工作階段。若要這樣做,請依序按一下 [開始][所有程式][附屬應用程式][Windows PowerShell],並在 Windows PowerShell 捷徑上按一下滑鼠右鍵,再按 [以系統管理員身分執行]

  2. 將伺服器管理員模組匯入 Windows PowerShell 工作階段。若要匯入伺服器管理員模組,輸入下列命令,然後按 Enter

    Import-Module ServerManager

  3. 匯入 BPA 模組。輸入下列命令,然後按 Enter

    Import-Module BestPractices

  4. 輸入下列 Cmdlet 然後按 Enter,從角色掃描包含特定結果。

    Get-BPAResult -BestPracticesModelId Specified Model Id | Where { $_Field_Name-eq "Value" } | Set-BPAResult -Id Specified Model Id -Exclude $false

    前述的 Cmdlet 會擷取 Specified Model Id 所代表之模型的 BPA 掃描結果項目。Cmdlet 的第二部分 (在第一個直立線符號字元 (|) 之後) 會篩選 Get-BPAResult Cmdlet 的結果,僅擷取結果欄位的值符合雙引號內文字的掃描結果。Cmdlet 的最後部分 (在第二個直立線符號字元之後) 會將 –Exclude 參數的值設定為 false,以包含 Cmdlet 的第二部分篩選的結果。

封存掃描結果

您可以將 BPA 掃描的結果封存到 HTML 報告中。

  1. 以提升的使用者權限開啟 Windows PowerShell 工作階段。若要這樣做,請依序按一下 [開始][所有程式][附屬應用程式][Windows PowerShell],並在 Windows PowerShell 捷徑上按一下滑鼠右鍵,再按 [以系統管理員身分執行]

  2. 將伺服器管理員模組匯入 Windows PowerShell 工作階段。若要匯入伺服器管理員模組,輸入下列命令,然後按 Enter

    Import-Module ServerManager

  3. 匯入 BPA 模組。輸入下列命令,然後按 Enter

    Import-Module BestPractices

  4. 輸入下列命令然後按 Enter,封存掃描結果。

    Get-BPAResult –BestPracticesModelId Specified Model Id | ConvertTo-Html –As List –CssUri $env:windir\system32\WindowsPowerShell\v1.0\Modules\BestPractices\BestPracticesReportFormat.css > <path to HTML report file>

    前述的 Cmdlet 會擷取指定模型最近的 BPA 掃描結果,並以 HTML 格式儲存,套用路徑 windir\system32\WindowsPowerShell\v1.0\Modules\BestPractices\BestPracticesReportFormat.css 中儲存的標準階層式樣式表。如果您要替換階層式樣式表,請提供到不同階層式樣式表的路徑。

  5. 若要檢視封存的 HTML 掃描結果,開啟網際網路瀏覽器,接著開啟您在上一步驟中封存的掃描結果。

請參閱