Import-Counter
Importa i file di log dei contatori delle prestazioni e crea gli oggetti che rappresentano ogni campione di contatore nel log.
Sintassi
GetCounterSet (Impostazione predefinita)
Import-Counter
[-Path] <String[]>
[-StartTime <DateTime>]
[-EndTime <DateTime>]
[-Counter <String[]>]
[-MaxSamples <Int64>]
[<CommonParameters>]
ListSetSet
Import-Counter
[-Path] <String[]>
-ListSet <String[]>
[<CommonParameters>]
SummarySet
Import-Counter
[-Path] <String[]>
[-Summary]
[<CommonParameters>]
Descrizione
Il cmdlet Import-Counter importa i dati dei contatori delle prestazioni dai file di log dei contatori delle prestazioni e crea oggetti per ogni campione di contatore nel file. Gli oggetti PerformanceCounterSampleSet creati sono identici agli oggetti restituiti da Get-Counter quando raccoglie i dati dei contatori delle prestazioni.
È possibile importare dati da file di registro delle prestazioni con valori separati da virgole (.csv), valori separati da tabulazioni ( .tsv) e file di registro delle prestazioni binarie (.blg). Se si utilizzano file con estensione blg, è possibile importare fino a 32 file in ogni comando. È possibile utilizzare i parametri di Import-Counter per filtrare i dati importati.
Insieme ai cmdlet Get-Counter e Export-Counter, questa funzionalità consente di raccogliere, esportare, importare, combinare, filtrare, modificare e riesportare i dati dei contatori delle prestazioni all'interno di Windows PowerShell.
Esempio
Esempio 1: Importare tutti i dati dei contatori da un file
$Data = Import-Counter -Path ProcessorData.csv
Questo comando importa tutti i dati del contatore dal file di ProcessorData.csv nella variabile $Data.
Esempio 2: Importare dati contatori specifici da un file
PS C:\> $I = Import-Counter -Path "ProcessorData.blg" -Counter "\\SERVER01\Processor(_Total)\Interrupts/sec"
Questo comando importa solo i dati del contatore "Processor(_total)\Interrupts/sec" dal file ProcessorData.blg nella variabile $I.
Esempio 3: Selezionare i dati da un contatore delle prestazioni e quindi esportarli in un file
The first command uses **Import-Counter** to import all of the performance counter data from the ProcessorData.blg files. The command saves the data in the $Data variable.
PS C:\> $Data = Import-Counter .\ProcessorData.blg
The second command displays the counter paths in the $Data variable. To get the display shown in the command output, the example uses the Format-Table cmdlet to format as a table the counter paths of the first counter in the $Data variable.
PS C:\> $Data[0].CounterSamples | Format-Table -Property Path
Path
----
\\SERVER01\Processor(_Total)\DPC Rate
\\SERVER01\Processor(1)\DPC Rate
\\SERVER01\Processor(0)\DPC Rate
\\SERVER01\Processor(_Total)\% Idle Time
\\SERVER01\Processor(1)\% Idle Time
\\SERVER01\Processor(0)\% Idle Time
\\SERVER01\Processor(_Total)\% C3 Time
\\SERVER01\Processor(1)\% C3 Time
The third command gets the counter paths that end in "Interrupts/sec" and saves the paths in the $IntCtrs variable. It uses the Where-Object cmdlet to filter the counter paths and the ForEach-Object cmdlet to get only the value of the **Path** property of each selected path object.
PS C:\> $IntCtrs = $Data[0].Countersamples | Where-Object {$_.Path -like "*Interrupts/sec"} | ForEach-Object {$_.Path}
The fourth command displays the selected counter paths in the $IntCtrs variable.
PS C:\> $IntCtrs
\\SERVER01\Processor(_Total)\Interrupts/sec
\\SERVER01\Processor(1)\Interrupts/sec
\\SERVER01\Processor(0)\Interrupts/sec
The fifth command uses the **Import-Counter** cmdlet to import the data. It uses the $IntCtrs variable as the value of the *Counter* parameter to import only data for the counter paths in $IntCtrs.
PS C:\> $I = Import-Counter -Path .\ProcessorData.blg -Counter $intCtrs
The sixth command uses the Export-Counter cmdlet to export the data to the Interrupts.csv file.
PS C:\> $I | Export-Counter -Path .\Interrupts.csv -Format CSV
In questo esempio viene illustrato come selezionare i dati da un file di registro dei contatori delle prestazioni (con estensione blg) e quindi esportare i dati selezionati in un file .csv. I primi quattro comandi ottengono i percorsi dei contatori dal file e li salvano nella variabile denominata $Data. Gli ultimi due comandi importano i dati selezionati e quindi esportano solo i dati selezionati.
Esempio 4: Visualizzare tutti i percorsi dei contatori in un gruppo di set di contatori importati
The first command uses the *ListSet* parameter of the **Import-Counter** cmdlet to get all of the counter sets that are represented in a counter data file.
PS C:\> Import-Counter -Path ProcessorData.csv -ListSet *
CounterSetName : Processor
MachineName : \\SERVER01
CounterSetType : MultiInstance
Description :
Paths : {\\SERVER01\Processor(*)\DPC Rate, \\SERVER01\Processor(*)\% Idle Time, \\SERVER01
\Processor(*)\% C3 Time, \\SERVER01\Processor(*)\% Interrupt Time...}
PathsWithInstances : {\\SERVER01\Processor(_Total)\DPC Rate, \\SERVER01\Processor(1)\DPC Rate, \\SERVER01
\Processor(0)\DPC Rate, \\SERVER01\Processor(_Total)\% Idle Time...}
Counter : {\\SERVER01\Processor(*)\DPC Rate, \\SERVER01\Processor(*)\% Idle Time, \\SERVER01
\Processor(*)\% C3 Time, \\SERVER01\Processor(*)\% Interrupt Time...}
The second command gets all of the counter paths from the list set.
PS C:\> Import-Counter -Path ProcessorData.csv -ListSet * | ForEach-Object {$_.Paths}
\\SERVER01\Processor(*)\DPC Rate
\\SERVER01\Processor(*)\% Idle Time
\\SERVER01\Processor(*)\% C3 Time
\\SERVER01\Processor(*)\% Interrupt Time
\\SERVER01\Processor(*)\% C2 Time
\\SERVER01\Processor(*)\% User Time
\\SERVER01\Processor(*)\% C1 Time
\\SERVER01\Processor(*)\% Processor Time
\\SERVER01\Processor(*)\C1 Transitions/sec
\\SERVER01\Processor(*)\% DPC Time
\\SERVER01\Processor(*)\C2 Transitions/sec
\\SERVER01\Processor(*)\% Privileged Time
\\SERVER01\Processor(*)\C3 Transitions/sec
\\SERVER01\Processor(*)\DPCs Queued/sec
\\SERVER01\Processor(*)\Interrupts/sec
In questo esempio viene illustrato come visualizzare tutti i percorsi dei contatori in un gruppo di set di contatori importati.
Esempio 5: Importare i dati dei contatori da un intervallo di timestamp
The first command lists in a table the time stamps of all of the data in the ProcessorData.blg file.
PS C:\> Import-Counter -Path ".\disk.blg" | Format-Table -Property Timestamp
The second command saves particular time stamps in the $Start and $End variables. The strings are cast to **DateTime** objects.
PS C:\> $Start = [datetime]"7/9/2008 3:47:00 PM"; $End = [datetime]"7/9/2008 3:47:59 PM"
The third command uses the **Import-Counter** cmdlet to get only counter data that has a time stamp between the start and end times (inclusive). The command uses the *StartTime* and *EndTime* parameters of **Import-Counter** to specify the range.
PS C:\> Import-Counter -Path Disk.blg -StartTime $start -EndTime $end
In questo esempio vengono importati solo i dati del contatore con un timestamp compreso tra l'intervallo iniziale e quello finale specificati nel comando.
Esempio 6: Importare un numero specificato di campioni meno recenti da un file di log del contatore delle prestazioni
The first command uses the **Import-Counter** cmdlet to import the first (oldest) five samples from the Disk.blg file. The command uses the *MaxSamples* parameter to limit the import to five counter samples.
PS C:\> Import-Counter -Path "Disk.blg" -MaxSamples 5
The second command uses array notation and the Windows PowerShell range operator (..) to get the last five counter samples from the file. These are the five newest samples.
PS C:\> (Import-Counter -Path Disk.blg)[-1 .. -5]
In questo esempio viene illustrato come importare i cinque esempi meno recenti e cinque più recenti da un file di log del contatore delle prestazioni.
Esempio 7: Ottenere un riepilogo dei dati dei contatori da un file
PS C:\> Import-Counter "D:\Samples\Memory.blg" -Summary
OldestRecord NewestRecord SampleCount
------------ ------------ -----------
7/10/2008 2:59:18 PM 7/10/2008 3:00:27 PM 1000
Questo comando utilizza il parametro Summary del cmdlet Import-Counter per ottenere un riepilogo dei dati del contatore nel file Memory.blg.
Esempio 8: Aggiornare un file di log del contatore delle prestazioni
The first command uses the *ListSet* parameter of **Import-Counter** to get the counters in OldData.blg, an existing counter log file. The command uses a pipeline operator (|) to send the data to a ForEach-Object command that gets only the values of the **PathsWithInstances** property of each object
PS C:\> $Counters = Import-Counter OldData.blg -ListSet * | ForEach-Object {$_.PathsWithInstances}
The second command gets updated data for the counters in the $Counters variable. It uses the Get-Counter cmdlet to get a current sample, and then export the results to the NewData.blg file.
PS C:\> Get-Counter -Counter $Counters -MaxSamples 20 | Export-Counter C:\Logs\NewData.blg
In questo esempio viene aggiornato un file di log del contatore delle prestazioni.
Esempio 9: Importare i dati del log delle prestazioni da più file e quindi salvarli
PS C:\> $Counters = "D:\test\pdata.blg", "D:\samples\netlog.blg" | Import-Counter
Questo comando importa i dati del registro delle prestazioni da due registri e salva i dati nella variabile $Counters. Il comando usa un operatore pipeline per inviare i percorsi del log delle prestazioni a Import-Counter, che importa i dati dai percorsi specificati.
Si noti che ogni percorso è racchiuso tra virgolette e che i percorsi sono separati tra loro da una virgola.
Parametri
-Counter
Specifica, come matrice di stringhe, i contatori delle prestazioni. Per impostazione predefinita, Import-Counter importa tutti i dati da tutti i contatori nei file di input. Immettere uno o più percorsi dei contatori. I caratteri jolly sono consentiti nella parte Istanza del percorso.
Ogni percorso del contatore ha il formato seguente. Il valore ComputerName è obbligatorio nel percorso. Per esempio:
\\<ComputerName>\<CounterSet>(<Instance>)\<CounterName>
Per esempio:
\\Server01\Processor(2)\% User Time\\Server01\Processor(*)\% Processor Time
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | All counter |
| Supporta i caratteri jolly: | True |
| DontShow: | False |
Set di parametri
GetCounterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-EndTime
Specifica una data e un'ora di fine che questo cmdlet importa i dati del contatore tra il StartTime e i timestamp di questo parametro. Immettere un oggetto DateTime , ad esempio uno creato dal cmdlet Get-Date. Per impostazione predefinita, Import-Counter importa tutti i dati dei contatori nei file specificati dal parametro Path .
Proprietà dei parametri
| Tipo: | DateTime |
| Valore predefinito: | No end time |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
GetCounterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-ListSet
Specifica i set di contatori delle prestazioni rappresentati nei file esportati. I comandi con questo parametro non importano dati.
Immettere uno o più nomi di set di contatori.
Sono consentiti i metacaratteri.
Per ottenere tutti i set di contatori nel file, digitare Import-Counter -ListSet *.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | True |
| DontShow: | False |
Set di parametri
ListSetSet
| Posizione: | Named |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-MaxSamples
Specifica il numero massimo di campioni di ogni contatore da importare. Per impostazione predefinita, Get-Counter importa tutti i dati nei file specificati dal parametro Path .
Proprietà dei parametri
| Tipo: | Int64 |
| Valore predefinito: | No maximum |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
GetCounterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Path
Specifica i percorsi dei file da importare. Questo parametro è obbligatorio.
Immettere il percorso e il nome file di un file .csv,, .tsv o blg esportato utilizzando il cmdlet Export-Counter . È possibile specificare un solo file .csv o tsv, ma è possibile specificare più file con estensione blg (fino a 32) in ogni comando. È inoltre possibile reindirizzare le stringhe del percorso del file (tra virgolette) a Import-Counter.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | True |
| DontShow: | False |
| Alias: | PSPath |
Set di parametri
(All)
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | True |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-StartTime
Specifica la data e l'ora di inizio in cui questo cmdlet ottiene i dati del contatore. Immettere un oggetto DateTime , ad esempio uno creato dal cmdlet Get-Date . Per impostazione predefinita, Import-Counter importa tutti i dati dei contatori nei file specificati dal parametro Path .
Proprietà dei parametri
| Tipo: | DateTime |
| Valore predefinito: | No start time |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
GetCounterSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Summary
Indica che questo cmdlet ottiene un riepilogo dei dati importati, anziché ottenere singoli esempi di dati del contatore.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
SummarySet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Input
String
È possibile inviare tramite pipe i percorsi del log dei contatori delle prestazioni a questo cmdlet.
Output
Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet, Microsoft.PowerShell.Commands.GetCounter.CounterSet, Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo
Questo cmdlet restituisce un Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet. Se si usa il parametro ListSet, questo cmdlet restituisce un oggetto Microsoft.PowerShell.Commands.GetCounter.CounterSet. Se si usa il parametro Riepilogo, questo cmdlet restituisce un oggetto Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo.
Note
- Questo cmdlet non dispone di un parametro ComputerName. Tuttavia, se il computer è configurato per la comunicazione remota di Windows PowerShell, è possibile utilizzare il cmdlet Invoke-Command per eseguire un comando Import-Counter in un computer remoto.