共用方式為


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-CounterImport-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 參數來指定輸出檔案的位置。 它會使用 CircularMaxSize 參數,指示 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-CounterExport-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-CounterImport-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

輸入

PerformanceCounterSampleSet

您可以使用管線將性能計數器數據從 Get-CounterImport-Counter 傳送至此 Cmdlet。

輸出

None

備註

記錄檔產生器預期所有輸入物件具有相同的計數器路徑,而且物件會以遞增的時間順序排列。

第一個輸入物件的計數器類型和路徑會決定記錄檔中記錄的屬性。 如果其他輸入對象沒有記錄屬性的值,則屬性欄位是空的。 如果物件具有未記錄的屬性值,則會忽略額外的屬性值。

性能監視器可能無法讀取 Export-Counter 產生的所有記錄。 例如,性能監視器要求所有物件都有相同的路徑,而且所有物件都以相同的時間間隔分隔。

Import-Counter Cmdlet 沒有 ComputerName 參數。 不過,如果計算機設定為遠端 Windows PowerShell Windows PowerShell,您可以使用 Invoke-Command Cmdlet 在遠端電腦上執行 Import-Counter 命令。