Export-Counter
將性能計數器數據匯出至記錄檔。
語法
Export-Counter
[-Path] <String>
[-FileFormat <String>]
[-MaxSize <UInt32>]
-InputObject <PerformanceCounterSampleSet[]>
[-Force]
[-Circular]
[<CommonParameters>]
Description
Export-Counter
Cmdlet 會將性能計數器數據(PerformanceCounterSampleSet 物件)導出至二進位效能記錄檔(.blg
)、逗號分隔值(.csv
),或製表符分隔值(.tsv
) 格式。 您可以使用此 Cmdlet 來記錄性能計數器數據。
Export-Counter
Cmdlet 的設計目的是導出 Get-Counter
和 Import-Counter
Cmdlet 所傳回的數據。
此 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 格式。
Import-Counter
Cmdlet 會從 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,以將它儲存在 Server01 計算機的 Perf
共用 Workingset.blg
檔案中。
$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
產生的所有記錄。 例如,性能監視器要求所有物件都有相同的路徑,而且所有物件都以相同的時間間隔分隔。
Import-Counter
Cmdlet 沒有 ComputerName 參數。 不過,如果計算機設定為遠端 Windows PowerShell Windows PowerShell,您可以使用 Invoke-Command
Cmdlet 在遠端電腦上執行 Import-Counter
命令。