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 esempio di contatore nel file. L'PerformanceCounterSampleSet oggetti creati sono identici agli oggetti restituiti Get-Counter quando raccoglie i dati del contatore delle prestazioni.
È possibile importare dati da file di log delle prestazioni separati da virgole (.csv), valori separati da tabulazioni (.tsv) e log delle prestazioni binarie (.blg). Se si usano .blg file, è possibile importare fino a 32 file in ogni comando. È possibile usare i parametri di Import-Counter per filtrare i dati importati.
Oltre ai cmdlet Get-Counter e Export-Counter, questa funzionalità consente di raccogliere, esportare, importare, combinare, filtrare, modificare ed esportare nuovamente i dati dei contatori delle prestazioni in 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
$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 di ProcessorData.blg nella variabile $i.
Esempio 3: Selezionare i dati da un contatore delle prestazioni e quindi esportarli in un file
In questo esempio viene illustrato come selezionare i dati da un file di log del contatore delle prestazioni (.blg) e quindi esportare i dati selezionati in un file di .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.
$data = Import-Counter .\ProcessorData.blg
$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
$intCtrs = $Data[0].Countersamples | Where-Object {$_.Path -like "*Interrupts/sec"} | ForEach-Object {$_.Path}
$intCtrs
\\SERVER01\Processor(_Total)\Interrupts/sec
\\SERVER01\Processor(1)\Interrupts/sec
\\SERVER01\Processor(0)\Interrupts/sec
$i = Import-Counter -Path .\ProcessorData.blg -Counter $intCtrs
$i | Export-Counter -Path .\Interrupts.csv -Format CSV
Il primo comando usa Import-Counter per importare tutti i dati del contatore delle prestazioni dai file di ProcessorData.blg. Il comando salva i dati nella variabile $data.
Il secondo comando visualizza i percorsi dei contatori nella variabile $data. Per ottenere la visualizzazione visualizzata nell'output del comando, nell'esempio viene usato il cmdlet Format-Table per formattare come tabella i percorsi del contatore del primo contatore nella variabile $data.
Il terzo comando ottiene i percorsi dei contatori che terminano in Interrupts/sec e salva i percorsi nella variabile $intCtrs. Usa il cmdlet Where-Object per filtrare i percorsi dei contatori e il cmdlet ForEach-Object per ottenere solo il valore della proprietà Path di ogni oggetto percorso selezionato.
Il quarto comando visualizza i percorsi dei contatori selezionati nella variabile $intCtrs.
Il quinto comando usa il cmdlet Import-Counter per importare i dati. Usa la variabile $intCtrs come valore del parametro Counter per importare solo i dati per i percorsi dei contatori in $intCtrs.
Il sesto comando usa il cmdlet Export-Counter per esportare i dati nel file Interrupts.csv.
Esempio 4: Visualizzare tutti i percorsi dei contatori in un gruppo di set di contatori importati
In questo esempio viene illustrato come visualizzare tutti i percorsi dei contatori in un gruppo di set di contatori importati.
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...}
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
Il primo comando usa il parametro ListSet del cmdlet Import-Counter per ottenere tutti i set di contatori rappresentati in un file di dati del contatore.
Il secondo comando ottiene tutti i percorsi dei contatori dal set di elenchi.
Esempio 5: Importare i dati dei contatori da un intervallo di timestamp
In questo esempio vengono importati solo i dati del contatore con un timestamp compreso tra l'inizio di un intervallo finale specificato nel comando .
Import-Counter -Path ".\disk.blg" | Format-Table -Property Timestamp
$start = [datetime]"7/9/2008 3:47:00 PM"; $end = [datetime]"7/9/2008 3:47:59 PM"
Import-Counter -Path Disk.blg -StartTime $start -EndTime $end
Il primo comando elenca in una tabella i timestamp di tutti i dati nel file ProcessorData.blg.
Il secondo comando salva determinati timestamp nelle variabili $start e $end. Le stringhe vengono cast per oggetti DateTime.
Il terzo comando usa il cmdlet Import-Counter per ottenere solo i dati del contatore con un timestamp compreso tra l'ora di inizio e l'ora di fine (inclusi). Il comando usa i parametri StartTime StartTime e EndTime di Import-Counter per specificare l'intervallo.
Esempio 6: Importare un numero specificato di campioni meno recenti da un file di log del contatore delle prestazioni
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.
Import-Counter -Path "Disk.blg" -MaxSamples 5
(Import-Counter -Path Disk.blg)[-1 .. -5]
Il primo comando usa il cmdlet Import-Counter per importare i primi cinque esempi (meno recenti) dal file Disk.blg. Il comando usa il parametro MaxSamples per limitare l'importazione a cinque campioni di contatori.
Il secondo comando usa la notazione della matrice e l'operatore di intervallo di Windows PowerShell (..) per ottenere gli ultimi cinque campioni di contatori dal file. Questi sono i cinque esempi più recenti.
Esempio 7: Ottenere un riepilogo dei dati dei contatori da un file
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 usa il parametro riepilogo 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
In questo esempio viene aggiornato un file di log del contatore delle prestazioni.
$counters = Import-Counter OldData.blg -ListSet * | ForEach-Object {$_.PathsWithInstances}
Get-Counter -Counter $Counters -MaxSamples 20 | Export-Counter C:\Logs\NewData.blg
Il primo comando usa il parametro ListSet di Import-Counter per ottenere i contatori in OldData.blg, un file di log dei contatori esistente. Il comando usa un operatore pipeline (|) per inviare i dati a un comando ForEach-Object che ottiene solo i valori della proprietà PathsWithInstances di ogni oggetto
Il secondo comando ottiene i dati aggiornati per i contatori nella variabile $counters. Usa il cmdlet Get-Counter per ottenere un esempio corrente e quindi esportare i risultati nel file NewData.blg.
Esempio 9: Importare i dati del log delle prestazioni da più file e quindi salvarli
$counters = "D:\test\pdata.blg", "D:\samples\netlog.blg" | Import-Counter
Questo comando importa i dati del log delle prestazioni da due log 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 quello creato dal cmdlet Get-Date. Per impostazione predefinita, Import-Counter importa tutti i dati del contatore 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 caratteri jolly. 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, .tsvo .blg esportato usando il cmdlet Export-Counter. È possibile specificare un solo file .csv o .tsv, ma è possibile specificare più file di .blg (fino a 32) in ogni comando. È anche possibile inviare tramite pipe le stringhe di 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: | 1 |
| 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 quello creato dal cmdlet Get-Date. Per impostazione predefinita, Import-Counter importa tutti i dati del contatore 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 usare il cmdlet
Invoke-Commandper eseguire un comandoImport-Counterin un computer remoto.