Export-Counter
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-Counter 和 Import-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-Counter 或 Import-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