Export-Counter
將性能計數器數據匯出至記錄檔。
語法
Export-Counter
[-Path] <String>
[-FileFormat <String>]
[-MaxSize <UInt32>]
-InputObject <PerformanceCounterSampleSet[]>
[-Force]
[-Circular]
[<CommonParameters>]
Description
Cmdlet 會將Export-Counter
性能計數器資料 (PerformanceCounterSampleSet 物件) 匯出至二進位效能記錄檔 ()、逗號分隔值 (.blg
) 或製表符分隔值 (.csv
.tsv
) 格式的記錄檔。 您可以使用此 Cmdlet 來記錄性能計數器數據。
Cmdlet Export-Counter
是設計來導出 和 Import-Counter
Cmdlet 所Get-Counter
傳回的數據。
此 Cmdlet 只會在 Windows 7、Windows Server 2008 R2 和更新版本的 Windows 上執行。
範例
範例 1:將計數器數據匯出至檔案
此範例會將計數器數據匯出至 BLG 檔案。
Get-Counter "\Processor(*)\% Processor Time" | Export-Counter -Path $HOME\Counters.blg
命令會 Get-Counter
使用 Cmdlet 來收集處理器時間數據。 它會使用管線運算符 (|
) 將數據傳送至 Export-Counter
Cmdlet。 Export-Counter
命令會使用Path變數來指定輸出檔案。
因為資料集可能非常大,因此此範例會透過管線將數據傳送至 Export-Counter
。 如果資料儲存在變數中,您可能會使用不成比例的記憶體數量。
範例 2:將檔案匯出至計數器檔格式
此範例會將 CSV 檔案轉換成計數器數據 BLG 格式。
Cmdlet 會 Import-Counter
從 Threads.csv
檔案匯入性能計數器數據。 此範例假設此檔案先前是使用 Export-Counter
Cmdlet 導出的。 管線運算子 (|
) 會將匯入的數據傳送至 Export-Counter
Cmdlet。 此命令會使用 Path 參數來指定輸出檔案的位置。 它會使用 Circular 和 MaxSize 參數來指示 Export-Counter
Cmdlet 建立循環記錄檔,其包裝為 1 GB。 MaxSize 參數是以 MB 表示。
$1GBInMB = 1024 # 1GB = 1024MB
Import-Counter Threads.csv | Export-Counter -Path ThreadTest.blg -Circular -MaxSize $1GBInMB
範例 3:從遠端電腦取得計數器數據,並將數據儲存至檔案
此範例示範如何從遠端電腦取得性能計數器數據,並將數據儲存在遠端電腦上的檔案中。
第一個命令會 Get-Counter
使用 Cmdlet 從遠端電腦 Server01 收集工作集計數器數據。 命令會將資料儲存在變數中 $C
。
第二個命令會使用管線運算符 (|
) 將數據傳送 $C
至 Export-Counter
Cmdlet,以將它儲存在 Workingset.blg
Perf
Server01 計算機的共用檔案中。
$C = Get-Counter -ComputerName Server01 -Counter "\Process(*)\Working Set - Private" -MaxSamples $C | Export-Counter -Path \\Server01\Perf\WorkingSet.blg
20
範例 4:重新記錄現有的數據
此範例示範如何使用 Import-Counter
和 Export-Counter
Cmdlet 重新記錄現有的數據。
第一個命令會 Import-Counter
使用 Cmdlet 從 DiskSpace.blg
記錄匯入性能計數器數據。 它會將數據儲存在變數中 $All
。 此檔案包含企業中 200 多部遠端電腦上的 「LogicalDisk% Free Space」 計數器範例。
第二個命令會Where-Object
使用 Cmdlet 來選取具有 CookedValue 小於 15(百分比)的物件。 命令會將結果儲存在變數中 $LowSpace
。
第三個命令會使用管線運算子 (|
) 將變數中的數據 $LowSpace
傳送至 Export-Counter
Cmdlet。 命令會 使用Path 參數來指出選取的數據應該記錄在檔案中 LowDiskSpace.blg
。
$All = Import-Counter DiskSpace.blg
$LowSpace = $All | Where-Object {$_.CounterSamples.CookedValue -lt 15}
$LowSpace | Export-Counter -Path LowDiskSpace.blg
參數
-Circular
表示輸出檔是循環記錄檔,第一個是先出 (FIFO) 格式。 當您包含此參數時, 需要 MaxSize 參數。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-FileFormat
指定輸出記錄檔的輸出格式。
此參數可接受的值為:
CSV
TSV
BLG
預設值是 BLG
。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Force
如果 Path 參數所指定的位置存在,則覆寫並取代現有的檔案。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-InputObject
指定要匯出的計數器數據,做為陣列。 輸入包含數據的變數,或取得數據的命令,例如 Get-Counter
或 Import-Counter
Cmdlet。
類型: | PerformanceCounterSampleSet[] |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-MaxSize
指定輸出檔案的大小上限,以 MB 為單位。
如果指定 Circular 參數,則當記錄檔達到指定的大小上限時,會刪除最舊的項目,因為會新增較新的專案。 如果未指定 Circular 參數,則當記錄檔達到指定的大小上限時,不會新增任何新數據,而且 Cmdlet 會產生非終止錯誤。
類型: | UInt32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Path
指定輸出檔的路徑和檔案名。 在本機電腦上輸入相對或絕對路徑,或遠端電腦的統一命名慣例 (UNC) 路徑,例如 \\Computer\Share\file.blg
。 此為必要參數。
檔格式取決於 FileFormat 參數的值,而不是路徑中的擴展名。
類型: | String |
別名: | PSPath |
Position: | 1 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
輸入
您可以使用管線將性能計數器數據從 Get-Counter
或 Import-Counter
傳送至此 Cmdlet。
輸出
None
備註
記錄檔產生器預期所有輸入物件具有相同的計數器路徑,而且物件會以遞增的時間順序排列。
第一個輸入物件的計數器類型和路徑會決定記錄檔中記錄的屬性。 如果其他輸入對象沒有記錄屬性的值,則屬性欄位是空的。 如果物件具有未記錄的屬性值,則會忽略額外的屬性值。
效能監視器 可能無法讀取產生的所有記錄Export-Counter
。 例如,效能監視器 要求所有物件都有相同的路徑,而且所有對象都會以相同的時間間隔分隔。
Cmdlet Import-Counter
沒有 ComputerName 參數。 不過,如果計算機設定為遠端 Windows PowerShell Windows PowerShell,您可以使用 Invoke-Command
Cmdlet 在遠端電腦上執行 Import-Counter
命令。