共用方式為


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-CounterThreads.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

第二個命令會使用管線運算符 (|) 將數據傳送 $CExport-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-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。 例如,效能監視器 要求所有物件都有相同的路徑,而且所有對象都會以相同的時間間隔分隔。

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