Import-Counter
Aggiornamento: aprile 2010
Si applica a: Windows PowerShell 2.0
Importa file di registro dei contatori delle prestazioni (con estensioni blg, csv e tsv) e crea gli oggetti che rappresentano ciascun esempio di contatore nel registro.
Sintassi
Import-Counter [-Path] <string[]> [-Counter <string[]>] [-EndTime <DateTime>] [-MaxSamples <Int64>] [-StartTime <DateTime>] [<CommonParameters>]
Import-Counter [-Path] <string[]> -ListSet <string[]> [<CommonParameters>]
Import-Counter [-Path] <string[]> -Riepilogo <switch> [<CommonParameters>]
Descrizione
Il cmdlet Import-Counter importa dati del contatore delle prestazioni dai file del registro del contatore delle prestazioni e crea oggetti per ciascun esempio di contatore nel file. Gli oggetti PerformanceCounterSampleSet creati sono identici agli oggetti restituiti da Get-Counter quando vengono raccolti dati del contatore delle prestazioni.
È possibile importare dati da file del registro delle prestazioni in formato csv (valori delimitati da virgole), tsv (valori delimitati da tabulazioni) e blg (file del registro delle prestazioni binario). Se si utilizzano file con estensione blg, è possibile importare più file (fino a 32 file diversi) in ogni comando. È inoltre possibile utilizzare i parametri di Import-Counter per filtrare i dati importati.
Insieme a Get-Counter e Export-Counter, questa funzionalità consente di raccogliere, esportazione, importare, combinare, filtrare, modificare e riesportare dati del contatore delle prestazioni all'interno di Windows PowerShell.
Parametri
-Counter <string[]>
Importa dati solo per i contatori delle prestazioni specificati. Per impostazione predefinita, Import-Counter importa tutti i dati da tutti i contatori nei file di input. Immettere uno o più percorsi di contatori. I caratteri jolly sono consentiti nella parte Instance del percorso.
Il percorso di ciascun contatore dispone del formato seguente. Si noti che nel percorso è richiesto il valore ComputerName, anche nel computer locale.
"\\<ComputerName>\<CounterSet>(<Instance>)\<CounterName>"
Ad esempio:
"\\Server01\Processore(2)\% Tempo utente"
"\Processore(*)\% Tempo processore
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
true |
-EndTime <DateTime>
Importa solo i dati del contatore con un timestamp minore o uguale alla data e all'ora specificate. Immettere un oggetto DateTime, ad esempio uno creato dal cmdlet Get-Date. Per impostazione predefinita, Import-Counter importa tutti i dati del contatore nei file specificati dal parametro Path.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-ListSet <string[]>
Ottiene 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. È consentito l'utilizzo di caratteri jolly. Per ottenere tutti i set di contatori nel file, digitare "import-counter -listset *".
Obbligatorio? |
true |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
true |
-MaxSamples <Int64>
Specifica il numero massimo di esempi di ciascun contatore da importare. Per impostazione predefinita, Get-Counter importa tutti i dati dei file specificati dal parametro Path.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Path <string[]>
Specifica i percorsi dei file da importare. Questo parametro è obbligatorio.
Immettere il percorso e il nome file di un file con estensione csv, tsv o blg esportato tramite il cmdlet Export-Counter. È possibile specificare un solo file con estensione csv o tsv, ma è possibile specificare più file con estensione blg (fino a 32) in ciascun comando. È inoltre possibile reindirizzare stringhe dei percorsi dei file (tra virgolette) a Import-Counter.
Obbligatorio? |
true |
Posizione? |
2 |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByValue) |
Accettare caratteri jolly? |
true |
-StartTime <DateTime>
Importa solo i dati del contatore con un timestamp maggiore o uguale alla data e all'ora specificate. Immettere un oggetto DateTime, ad esempio uno creato dal cmdlet Get-Date. Per impostazione predefinita, Import-Counter importa tutti i dati del contatore nei file specificati dal parametro Path.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Riepilogo <switch>
Ottiene un riepilogo dei dati importati, anziché ottenere singoli esempi di dati del contatore.
Obbligatorio? |
true |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
<CommonParameters>
Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.
Input e output
Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.
Input |
System.String È possibile reindirizzare percorsi di registri di contatori delle prestazioni a Import-Counter. |
Output |
Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet, Microsoft.PowerShell.Commands.GetCounter.CounterSet, Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo Per impostazione predefinita, Import-Counter restituisce Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet. Se si utilizza il parametro ListSet, Import-Command restituisce un oggetto Microsoft.PowerShell.Commands.GetCounter.CounterSet. Se si utilizza il parametro Summary, Import-Command restituisce un oggetto Microsoft.PowerShell.Commands.GetCounter.CounterFileInfo. |
Note
Il cmdlet Import-Counter 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.
Esempio 1
C:\PS># Import-Counter
Descrizione
-----------
Questo comando importa tutti i dati del contatore dal file ProcessorData.csv nella variabile $data.
C:\PS> $data = import-counter -path ProcessorData.csv
Esempio 2
C:\PS># Import-Counter
Descrizione
-----------
Questo comando importa solo i dati del contatore Processore(_Total)\Interrupt/sec dal file ProcessorData.blg nella variabile $i.
C:\PS> $i = import-counter -path ProcessorData.blg -counter "\\SERVER01\Processore(_Total)\Interrupt/sec"
Esempio 3
C:\PS># Import-Counter
Descrizione
-----------
In questo esempio viene illustrato come selezionare dati da un file del registro dei contatori delle prestazioni (con estensione blg) ed esportare quindi i dati selezionati in un file con estensione csv.
I primi quattro comandi ottengono i percorsi dei contatori dal file e li salvano in una variabile. Gli ultimi due comandi importano i dati selezionati, quindi esportano solo i dati selezionati.
Il primo comando utilizza Import-Counter per importare tutti i dati dei contatori delle prestazioni dai file ProcessorData.blg. Il comando salva i dati nella variabile $data.
C:\PS> $data = import-counter .\processordata.blg
Nel secondo comando vengono visualizzati i percorsi dei contatori nella variabile $data. La visualizzazione viene mostrata nell'output dei comandi.
C:\PS> $data[0].countersamples | format-table path
Path
----
\\SERVER01\Processore(_Total)\Velocità DPC
\\SERVER01\Processore(1)\Velocità DPC
\\SERVER01\Processore(0)\Velocità DPC
\\SERVER01\Processore(_Total)\% Tempo inattività
\\SERVER01\Processore(1)\% Tempo inattività
\\SERVER01\Processore(0)\% Tempo inattività
\\SERVER01\Processore(_Total)\% Tempo C3
\\SERVER01\Processore(1)\% Tempo C3
...
Il terzo comando ottiene i percorsi dei contatori che terminano in "Interrupt/sec" e salva i percorsi nella variabile $IntCtrs.
C:\PS> $IntCtrs = $data[0].countersamples | where {$_.path -like "*interrupt/sec"} | foreach {$_.path}
Il quarto comando visualizza i percorsi dei contatori selezionati.
C:\PS> $IntCtrs
\\SERVER01\Processore(_Total)\Interrupt/sec
\\SERVER01\Processore(1)\Interrupt/sec
\\SERVER01\Processore(0)\Interrupt/sec
Il quinto comando utilizza il cmdlet Import-Counter per importare i dati. Viene utilizzato il parametro Counter con la variabile $IntCtrs per importare solo i dati per i percorsi dei contatori in $IntCtrs.
C:\PS> $i = import-counter -path .\processordata.blg -counter $intCtrs
Il sesto comando utilizza il cmdlet Export-Counter per esportare i dati.
C:\PS> $i | export-counter -path .\interrupts.csv -format CSV
Esempio 4
C:\PS># Import-Counter
Descrizione
-----------
In questo esempio viene illustrato come visualizzare tutti i percorsi dei contatori in un gruppo di set di contatori importati.
Il primo comando utilizza il parametro ListSet per ottenere tutti i set di contatori rappresentati in un file di dati contatore.
C:\PS> import-counter -path processordata.csv -listset *
CounterSetName : Processor
MachineName : \\SERVER01
CounterSetType : MultiInstance
Description :
Paths : {\\SERVER01\Processore(*)\Velocità DPC, \\SERVER01\Processore(*)\% Tempo inattività, \\SERVER01
\Processore(*)\% Tempo C3, \\SERVER01\Processore(*)\% Tempo di interrupt...}
PathsWithInstances : {\\SERVER01\Processore(_Total)\Velocità DPC, \\SERVER01\Processore(1)\Velocità DPC, \\SERVER01
\Processore(0)\Velocità DPC, \\SERVER01\Processore(_Total)\% Tempo inattività...}
Counter : {\\SERVER01\Processore(*)\Velocità DPC, \\SERVER01\Processore(*)\% Tempo inattività, \\SERVER01
\Processore(*)\% Tempo C3, \\SERVER01\Processore(*)\% Tempo di interrupt...}
Il secondo comando ottiene tutti i percorsi dei contatori dal set di elenchi.
C:\PS> import-counter -path processordata.csv -listset * | foreach {$_.paths}
\\SERVER01\Processore(*)\Velocità DPC
\\SERVER01\Processore(*)\% Tempo inattività
\\SERVER01\Processore(*)\% Tempo C3
\\SERVER01\Processore(*)\% Tempo di interrupt
\\SERVER01\Processore(*)\% Tempo C2
\\SERVER01\Processore(*)\% Tempo utente
\\SERVER01\Processore(*)\% Tempo C1
\\SERVER01\Processore(*)\% Tempo processore
\\SERVER01\Processore(*)\Transizioni C1/sec
\\SERVER01\Processore(*)\% Tempo DPC
\\SERVER01\Processore(*)\Transizioni C2/sec
\\SERVER01\Processore(*)\% Tempo privilegiato
\\SERVER01\Processore(*)\Transizioni C3/sec
\\SERVER01\Processore(*)\DPC messi in coda/sec
\\SERVER01\Processore(*)\Interrupt/sec
Esempio 5
C:\PS># Import-Counter
Descrizione
-----------
In questo esempio vengono importati solo i dati dei contatori che dispongono di un timestamp tra gli intervalli di inizio e di fine specificati nel comando.
Il primo comando elenca i timestamp di tutti i dati nel file ProcessorData.blg.
C:\PS> import-counter -path .\disk.blg | format-table timestamp
Il secondo e il terzo comando salvano determinati timestamp nelle variabili $start e $end. Il cast delle stringhe viene eseguito agli oggetti DateTime.
C:\PS> $start = [datetime]"7/9/2008 3:47:00 PM"
C:\PS> $end = [datetime]"7/9/2008 3:47:59 PM"
Il quarto comando finale utilizza Import-Counter per ottenere solo i dati del contatore che dispongono di un timestamp compreso tra l'ora di inizio e di fine (incluse). Il comando utilizza i parametri StartTime e EndTime per specificare l'intervallo.
C:\PS> $t-data = import-counter -path disk.blg -starttime $start -endtime $end
Esempio 6
C:\PS># Import-Counter
Descrizione
-----------
In questo esempio viene illustrato come importare i cinque esempi meno recenti e più recenti da un file del registro dei contatori delle prestazioni.
Il primo comando utilizza il cmdlet Import-Counter per importare dati dal file Disk.blg. Il comando utilizza il parametro MaxSamples per limitare l'importazione a cinque esempi di contatori. Vengono ottenuti i primi cinque esempi (meno recenti) del file.
C:\PS> import-counter -path disk.blg -maxSamples 5
Il secondo comando utilizza la notazione di matrice e l'operatore di intervallo (..) di Windows PowerShell per ottenere gli ultimi cinque esempi di contatore dal file. Questi sono i cinque esempi più recenti.
C:\PS> (import-counter -path disk.blg)[-1 .. -5]
Esempio 7
C:\PS># Import-Counter
Descrizione
-----------
Questo comando utilizza il parametro Summary per ottenere un riepilogo dei dati del contatore dal file Memory.blg.
C:\PS> 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
Esempio 8
C:\PS># Import-Counter
Descrizione
-----------
In questo esempio viene aggiornato un file del registro dei contatori delle prestazioni.
Il primo comando utilizza il parametro ListSet di Import-Counter per ottenere i contatori in OldData.blg, un file del registro dei contatori esistente. Il comando utilizza un operatore pipeline (|) per inviare i dati a un comando Foreach-Object che ottiene solo i valori della proprietà PathsWithInstances di ciascun oggetto.
C:\PS> $counters = import-counter olddata.blg -ListSet * | foreach {$_.PathsWithInstances}
Il secondo comando utilizza gli stessi contatori in un nuovo comando Get-Counter per ottenere un esempio corrente e lo esporta nel file NewData.blg.
C:\PS> get-counter -counter $counters -maxSamples 20 | export-counter c:\Logs\newdata.blg
Esempio 9
C:\PS># Import-Counter
Descrizione
-----------
Questo comando importa dati dei registri delle prestazioni da due registri e salva i dati nella variabile $counters. Il comando utilizza un operatore pipeline (|) per inviare i percorsi dei registri delle prestazioni a Import-Counter.
C:\PS> $counters = "d:\test\pdata.blg", "d:\samples\netlog.blg" | import-counter
Si noti che ciascun percorso è racchiuso tra virgolette e che i percorsi sono separati l'uno dall'altro da una virgola.