Export-Counter cmdlet 會取得 PerformanceCounterSampleSet 物件,並將其匯出為計數器記錄檔。

語法

Export-Counter [-Path] <string> -InputObject <PerformanceCounterSampleSet[]> [-Circular <switch>] [-FileFormat <string>] [-Force <switch>] [-MaxSize <int>] [<CommonParameters>]

描述

Export-Counter Cmdlet 會將效能計數器資料 (PerformanceCounterSampleSet 物件) 以二進位效能記錄檔 (.blg)、逗號區隔值 (.csv) 或定位鍵區隔值 (.tsv) 的格式匯出到記錄檔。您可以使用這個 cmdlet 記錄或重新記錄效能計數器資料。

Export-Counter 設計的用意是要匯出由 Get-CounterImport-Counter cmdlet 所傳回的資料。

注意:Export-Counter 只能在 Windows 7、Windows Server 2008 R2 和較新版本的 Windows 上執行。

參數

-Circular <switch>

指出輸出檔應該為先進先出 (FIFO) 格式的循環記錄檔。當您包含這個參數時,就需要 MaxSize 參數。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-FileFormat <string>

指定輸出記錄檔的輸出格式。有效的值包括 CSV、TSV 和 BLG。預設值為 BLG。

必要?

false

位置?

named

預設值

BLG

接受管線輸入?

false

接受萬用字元?

false

-Force <switch>

如果 Path 參數所指定的位置中已經有檔案存在,則會覆寫和取代現有檔案。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-InputObject <PerformanceCounterSampleSet[]>

指定要匯出的計數器資料。輸入包含資料的變數或用於取得資料的命令,例如 Get-CounterImport-Counter 命令。

必要?

true

位置?

named

預設值

接受管線輸入?

true (ByValue)

接受萬用字元?

false

-MaxSize <int>

指定輸出檔的大小上限。

如果有指定 Circular 參數,則當記錄檔達到指定的大小上限時,會在新增新項目的同時刪除最舊的項目。如果沒有指定 Circular 參數,則當記錄檔達到指定的大小上限時,就不會新增新資料,且 cmdlet 會產生非終止錯誤。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Path <string>

指定輸出檔的路徑和檔名。輸入本機電腦上的相對或絕對路徑、遠端電腦的 Uniform Naming Convention (UNC) 路徑,例如 \\Computer\Share\file.blg。此參數為必要項。

注意:檔案格式是由 FileFormat 參數值所決定,而非路徑中的檔案副檔名所決定。

必要?

true

位置?

2

預設值

接受管線輸入?

false

接受萬用字元?

false

<CommonParameters>

這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.

輸入和輸出

輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。

輸入

Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet

您可以透過管線的方式將來自 Get-Counter 或 Import-Counter 的效能計數器資料傳送至 Export-Counter。

輸出

附註

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

第一個輸入物件的計數器類型和路徑,會決定記錄檔中所記錄的屬性。如果其他輸入物件沒有所記錄屬性的值,則該屬性欄位為空白。當其他物件所具有的屬性值並沒有被記錄時,就會忽略額外的屬性值。

效能監視器有可能無法讀取由 Export-Counter 產生的所有記錄檔。例如,效能監視器需要所有物件都具有相同的路徑,並且所有物件是以相同的時間間隔而分隔開來的。

Import-Counter cmdlet 沒有 ComputerName 參數。然而,如果電腦有設定成 Windows PowerShell 遠端,您可以在遠端電腦上使用 Invoke-Command cmdlet 執行 Import-Counter 命令。

範例 1

C:\PS># Export-Counter

描述
-----------
這個命令會將計數器資料匯出到 .blg 檔案。

該命令使用 Get-Counter Cmdlet 收集處理器時間資料。並使用管線運算子 (|) 將資料傳送給 Export-Counter Cmdlet。Export-Counter 命令會使用 Path 變數指定輸出檔。

C:\PS> get-counter "\Processor(*)\% Processor Time" -max 50 | export-counter -path $home\counters.blg

因為資料集可能相當大,所以這個命令會透過管線方式將資料傳送給 Export-Counter。如果資料已經儲存於變數中,則命令可能會使用並未平均分配的記憶體容量。






範例 2

C:\PS># Export-Counter

描述
-----------
這些命令會將 CSV 檔案轉換成計數器資料的 BLG 格式。

第一個命令使用內建的 Windows PowerShell 轉換功能,以位元組為單位,將 1 GB (Gigabyte) 的值,儲存在 $1GBinBytes 變數中。當您的輸入值後方跟隨著 K (Kilobyte)、MB (Megabyte) 或 GB 時,Windows PowerShell 會以位元組為單位傳回該值。

C:\PS> $1GBinBytes = 1GB


第二個命令使用 Import-Counter Cmdlet,從 Threads.csv 檔案匯入效能計數器資料。範例中假設先前是使用 Export-Counter cmdlet 匯出這個檔案的。

管線運算子 (|) 會將匯入的資料傳送給 Export-Counter cmdlet。命令中使用 Path 參數指定輸出檔的位置。其中使用 Circular 和 MaxSize 參數,指示 Export-Counter 建立會於檔案達到 1 GB 時折返的循環記錄檔。

C:\PS> import-counter threads.csv | export-counter -path threadtest.blg -circular -maxsize $1GBinBytes






範例 3

C:\PS># Export-Counter

描述
-----------
這個範例示範如何從遠端電腦取得效能計數器資料,然後再將資料儲存到遠端電腦的檔案中。


第一個命令使用 Get-Counter cmdlet,從遠端電腦 Server01 收集工作集計數器資料。該命令會將資料儲存在 $c 變數中。

C:\PS> $c = get-counter -computername Server01 -counter "\Process(*)\Working Set - Private" -maxSamples 20



第二個命令使用管線運算子 (|),將 $c 中的資料傳送給 Export-Counter cmdlet,後者會將資料儲存在 Server01 電腦上的 Perf 共用資料夾的 Workingset.blg 檔案中。

C:\PS> $c | export-counter -path \\Server01\Perf\WorkingSet.blg






範例 4

C:\PS># Export-Counter

描述
-----------
這個範例示範如何使用 Import-Counter 和 Export-Counter cmdlet,重新記錄現有資料。

第一個命令使用 Import-Counter cmdlet,從 DiskSpace.blg 記錄檔匯入效能計數器資料。其會將資料儲存在 $all 變數中。這個檔案包含企業中超過 200 台遠端電腦上的 "LogicalDisk\% Free Space" 計數器樣本。

C:\PS> $all = import-counter DiskSpace.blg


第二個命令使用 $all 中樣本集物件的 CounterSamples 屬性以及 Where-Object cmdlet (別名 = "where"),選取 CookedValues 小於 15 (百分比) 的物件。該命令會將結果儲存在 $lowSpace 變數中。

C:\PS> $lowSpace = $all.countersamples | where {$_.cookedvalues -lt 15}


第三個命令使用管線運算子 (|),將 $lowSpace 變數中的資料傳送給 Export-Counter cmdlet。命令中使用 path 變數,指出選取的資料應該記錄在 LowDiskSpace.blg 檔案中。

C:\PS> $lowSpace | export-counter -path LowDiskSpace.blg






請參閱




目錄