http://www.dotblogs.com.tw/daniel07793/archive/2012/05/05/71991.aspx
使用Hyper-V BPA(Best Practices Analyzer-最佳化分析工具)
這篇介紹的是Windows 2008 R2的Hyper-V Best Practices Analyzer
這個工具可以快速的檢查出目前Hyper-V非最佳化的設定,並給予建議跟修正的方向
首先需要先將KB977238安裝在Hyper-V Server上
KB977238:Windows Server 2008 R2 x64 Edition 之 HYPER-V 的 Best Practices Analyzer 更新
安裝完並不需要重新開機,請放心使用
安裝完後,就可以到【伺服器管理員】→【Hyper-V】→【Best Practices Analyzer】去掃描是否有未最佳化的設定
接著就可以看他的原因、跟解決方法
以上是安裝有GUI版本的Hyper-V,如果是使用Server Core版本的話,則是使用Powershell
需要先Import ServerManager的Module(因為BPA是ServerManager的組件)
語法:
Import-Module ServerManager
Import-Module BestPractices
接著就是執行BPA
Invoke-Bpamodel Microsoft/Windows/Hyper-V
然後,去取得BPA的Report
Get-BpaResult Microsoft/Windows/Hyper-V
或者是匯出成csv格式
Get-BpaResult Microsoft/Windows/Hyper-V | Export-Csv C:\Hyper-V_BPA.csv
您也可以使用微軟原廠所提供的PowerShell Script去將資訊匯出成csv格式(預設存放csv的路徑是User的Desktop)
路徑的部份,您可以修改$OutputPath的參數例如:$OutputPath = “C:\Hyper-V_BPA”
01 | # the following command will run Hyper-V Best Practices Analyzer (KB977238) and exports the result in CSV format c:\temp\Hyperv_BPA_Report.csv |
02 | # Powershell Help: Get-Help about_BestPractices |
03 | # Hyper-V BPA ID: Microsoft/Windows/Hyper-V |
04 | # This Sample script was last updated by mghazai on 06/08/2010 |
07 | # This sample script is not supported under any Microsoft standard support program or service. The software is provided AS IS without warranty of any kind. |
08 | # Microsoft further disclaims all implied warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The |
09 | # entire risk arising out of the use or performance of the software and documentation remains with you. In no event shall Microsoft, its authors, or anyone else involved |
10 | # in the creation, production, or delivery of the software be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, |
11 | # business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the software or documentation, even if |
12 | # Microsoft has been advised of the possibility of such damages.? |
14 | # Please make sure PowerShell Execution policy is configured properly as this script isn't signed. Get-ExecutionPolicy |
17 | $OutputPath = $env:USERPROFILE + "\Desktop\Hyperv_BPA_Report.csv" |
18 | import-module ServerManager |
19 | import-module BestPractices |
21 | if ((Get-windowsfeature hyper-v).BestPracticesModelId -eq $null) |
24 | write-host -ForegroundColor red "Hyper-V Best Practices Analyzer is not installed on the server." |
25 | write-host -ForegroundColor red "Please see Microsoft KB977238" |
32 | $BPAResults = Invoke-BpaModel Microsoft/Windows/Hyper-V |
34 | Get-BPAResult Microsoft/Windows/Hyper-v | select ResultNumber,@{Name= "Server Name" ; Expression={hostname}},ModelId,RuleId,ResultId,Severity,NeutralSeverity,Category,Title,Problem,Impact,Resolution,Compliance,Help,Excluded | Export-Csv $OutputPath |
36 | If ($BPAResults[0].Success -eq $True) { |
39 | Write-Host -ForegroundColor green "The BPA Output has been saved in $OutputPath" |
45 | Write-Host -ForegroundColor red "Error!!!!" |
46 | Write-Host -ForegroundColor red $BPAResults[0].Detail |