NOM
Get-Counter
RÉSUMÉ
Obtient des données de compteur de performance à partir des ordinateurs locaux et distants.
SYNTAXE
Get-Counter [-Counter] <string[]> [-ComputerName <string[]>] [-Continuous] [-MaxSamples <Int64>] [-SampleInterval <int>] [<CommonParameters>]
Get-Counter -ListSet <string[]> [-ComputerName <string[]>] [<CommonParameters>]
DESCRIPTION
L'applet de commande Get-Counter obtient des données de compteur de performance en temps réel directement à partir de l'instrumentation d'analyse des performances dans Windows. Vous pouvez l'utiliser pour obtenir des données de performances à partir des ordinateurs locaux ou distants selon l'intervalle d'échantillonnage que vous spécifiez.
Sans paramètre, une commande « Get-Counter » obtient les données de compteur pour un ensemble de compteurs système.
Vous pouvez utiliser les paramètres de Get-Counter pour spécifier un ou plusieurs ordinateurs, pour répertorier les ensembles de compteurs de performance et les compteurs qu'ils contiennent, mais aussi pour définir la taille d'échantillon et l'intervalle d'échantillonnage.
PARAMÈTRES
-ComputerName <string[]>
Obtient des données à partir des ordinateurs spécifiés. Tapez le nom NetBIOS, une adresse IP ou le nom de domaine complet des ordinateurs. La valeur par défaut est l'ordinateur local.
Remarque : Get-Counter ne repose pas sur la communication à distance Windows PowerShell. Vous pouvez utiliser le paramètre ComputerName de Get-Counter même si votre ordinateur n'est pas configuré pour la communication à distance dans Windows PowerShell.
Obligatoire ? false
Position ? named
Valeur par défaut
Accepter l'entrée de pipeline ? false
Accepter les caractères génériques ? false
-Continuous [<SwitchParameter>]
Obtient des échantillons en continu jusqu'à ce que vous appuyiez sur CTRL+C. Par défaut, Get-Counter obtient un seul échantillon de compteur. Vous pouvez utiliser le paramètre SampleInterval pour définir l'intervalle pour l'échantillonnage continu.
Obligatoire ? false
Position ? named
Valeur par défaut
Accepter l'entrée de pipeline ? false
Accepter les caractères génériques ? false
-Counter <string[]>
Obtient des données à partir des compteurs de performance spécifiés. Entrez un ou plusieurs chemins d'accès de compteurs. Les caractères génériques sont autorisés uniquement dans la valeur Instance. Vous pouvez également diriger des chaînes de chemin d'accès de compteur vers Get-Counter.
Chaque chemin d'accès de compteur a la forme suivante :
"[\\<NomOrdinateur>]\<EnsembleCompteurs>(<Instance>)\<NomCompteur>"
Par exemple :
"\\Server01\Processor(2)\% User Time".
L'élément <NomOrdinateur> est facultatif. Si vous ne l'indiquez pas, Get-Counter utilise la valeur du paramètre ComputerName.
Remarque : pour obtenir des chemins d'accès de compteurs au format correct, utilisez le paramètre ListSet pour obtenir un ensemble de compteurs de performance. Les propriétés Paths et PathsWithInstances de chaque ensemble de compteurs de performance contiennent les chemins d'accès de compteurs individuels exprimés sous la forme d'une chaîne. Vous pouvez enregistrer les chaînes des chemins d'accès des compteurs dans une variable ou diriger directement la chaîne vers une autre commande Get-Counter. Pour bénéficier d'une démonstration, reportez-vous au x exemples.
Obligatoire ? true
Position ? 2
Valeur par défaut
Accepter l'entrée de pipeline ? true (ByValue)
Accepter les caractères génériques ? true
-ListSet <string[]>
Obtient les ensembles de compteurs de performance spécifiés sur les ordinateurs. Entrez les noms des ensembles de compteurs. Les caractères génériques sont autorisés. Vous pouvez également diriger les noms d'ensembles de compteurs vers Get-Counter.
Obligatoire ? true
Position ? named
Valeur par défaut
Accepter l'entrée de pipeline ? true (ByValue, ByPropertyName)
Accepter les caractères génériques ? true
-MaxSamples <Int64>
Spécifie le nombre d'échantillons à obtenir de chaque compteur. La valeur par défaut est de 1 échantillon. Pour obtenir des échantillons en continu (aucune taille d'échantillon maximale), utilisez le paramètre Continuous.
Pour collecter un jeu de données très volumineux, envisagez d'exécuter une commande Get-Counter en tant que tâche en arrière-plan Windows PowerShell. Pour plus d'informations, consultez about_Jobs et Start-Job.
Obligatoire ? false
Position ? named
Valeur par défaut
Accepter l'entrée de pipeline ? false
Accepter les caractères génériques ? false
-SampleInterval <int>
Spécifie le temps en secondes entre deux échantillons. La valeur minimale et la valeur par défaut sont de 1 seconde.
Obligatoire ? false
Position ? named
Valeur par défaut 1
Accepter l'entrée de pipeline ? false
Accepter les caractères génériques ? false
<CommonParameters>
Cette applet de commande prend en charge les paramètres courants : Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer et OutVariable. Pour plus d'informations, tapez « get-help about_commonparameters ».
ENTRÉES
System.String[]
Vous pouvez diriger les chemins d'accès de compteurs et les noms d'ensembles de compteurs (ListSet) vers Get-Counter.
SORTIES
Microsoft.PowerShell.Commands.GetCounter.CounterSet, Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSamleSet, Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSample
Le paramètre ListSet obtient des objets Microsoft.PowerShell.Commands.GetCounter.CounterSet. Le paramètre Count er obtient des objets Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet. Chaque valeur de compteur est un objet Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSample.
NOTES
Les compteurs de performance sont souvent protégés par des listes de contrôle d'accès (ACL). Pour obtenir tous les compteurs de performance disponibles, ouvrez Windows PowerShell avec l'option « Exécuter en tant qu'administrateur ».
Par défaut, Get-Counter obtient un échantillon dans un intervalle d'échantillonnage d'une seconde. Pour modifier ce comportement, utilisez les paramètres MaxSamples et Continuous.
Les valeurs MaxSamples et SampleInterval que vous définissez s'appliquent à tous les compteurs de tous les ordinateurs de la commande. Pour définir des valeurs différentes pour certains compteurs, entrez des commandes Get-Counter distinctes pour chaque compteur.
-------------------------- EXEMPLE 1 --------------------------
C:\PS># Get-Counter
Description
-----------
Cette commande obtient tous les ensembles de compteurs sur l'ordinateur local.
C:\PS> get-counter -ListSet *
Un grand nombre d'ensembles de compteurs étant protégés par des listes de contrôle d'accès (ACL), pour visualiser t
ous les ensembles de compteurs, ouvrez Windows PowerShell avec l'option « Exécuter en tant qu'administrateur » avan
t d'utiliser la commande Get-Counter.
-------------------------- EXEMPLE 2 --------------------------
C:\PS># Get-Counter
Description
-----------
Cette commande obtient les valeurs combinées « % Processor Time » (Pourcentage de temps processeur) actuelles pour tous les processeurs de l'ordinateur local. Elle collecte des données toutes les deux secondes jusqu'à ce qu'elle possède trois valeurs.
C:\PS> get-counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 2 -MaxSamples 3
-------------------------- EXEMPLE 3 --------------------------
C:\PS># Get-Counter
Description
-----------
Cette commande obtient une liste classée par ordre alphabétique des noms de tous les ensembles de compteurs sur l'ordinateur local.
C:\PS> get-counter -listset * | sort-object countersetname | format-table countersetname
-------------------------- EXEMPLE 4 --------------------------
C:\PS># Get-Counter
Description
-----------
Ces commandes utilisent la propriété Path d'un ensemble de compteurs pour rechercher les noms de chemins d'accès correctement mis en forme pour les compteurs de performance. Vous pouvez utiliser une commande comme celle-ci pour obtenir les chemins d'accès corrects de compteurs.
La première commande obtient les noms de chemins d'accès des compteurs de performance dans l'ensemble de compteurs
Mémoire sur l'ordinateur local.
C:\PS> (get-counter -listset memory).paths
\Memory\Page Faults/sec
\Memory\Available Bytes
\Memory\Committed Bytes
\Memory\Commit Limit
\Memory\Write Copies/sec
\Memory\Transition Faults/sec
\Memory\Cache Faults/sec
\Memory\Demand Zero Faults/sec
\Memory\Pages/sec
\Memory\Pages Input/sec
...
La deuxième commande obtient les chemins d'accès qui incluent le mot « cache ».
C:\PS> (get-counter -listset memory).paths | where {$_ -like "*cache*"}
\Memory\Cache Faults/sec
\Memory\Cache Bytes
\Memory\Cache Bytes Peak
\Memory\System Cache Resident Bytes
\Memory\Standby Cache Reserve Bytes
\Memory\Standby Cache Normal Priority Bytes
\Memory\Standby Cache Core Bytes
-------------------------- EXEMPLE 5 --------------------------
C:\PS># Get-Counter
Description
-----------
Ces commandes obtiennent les données du compteur Lectures disque/s à partir des ordinateurs Server01 et Server02.
La première commande enregistre le chemin d'accès du compteur Lectures disque/s dans la variable $diskreads.
C:\PS> $diskreads = "\LogicalDisk(C:)\Disk Reads/sec"
La deuxième commande utilise un opérateur de pipeline (|) pour envoyer le chemin d'accès du compteur de la variable $diskreads à l'applet de commande Get-Counter. La commande utilise le paramètre MaxSamples pour limiter la sortie à 10 échantillons.
C:\PS> $diskreads | get-counter -computer Server01, Server02 -maxsamples 10
-------------------------- EXEMPLE 6 --------------------------
C:\PS># Get-Counter
Description
-----------
Cette commande obtient les chemins d'accès correctement mis en forme des compteurs de performance Disque physique (PhysicalDisk), y compris les noms des instances.
C:\PS> (get-counter -list physicaldisk).pathswithinstances
-------------------------- EXEMPLE 7 --------------------------
C:\PS># Get-Counter
Description
-----------
Ces commandes obtiennent la valeur du compteur de performance « % DPC Time » (Pourcentage du temps DPC) sur 50 ordinateurs sélectionnés de façon aléatoire dans l'entreprise.
La première commande utilise l'applet de commande Get-Content pour obtenir la liste des serveurs de l'entreprise à partir du fichier Servers.txt. Elle utilise l'applet de commande Get-Random pour sélectionner aléatoirement 50 noms de serveurs à partir du contenu du fichier Servers.txt. Les résultats sont enregistrés dans la variable $servers.
C:\PS> $servers = get-random (get-content servers.txt) -count 50
La deuxième commande enregistre le chemin d'accès de l'applet de commande « % DPC Time » (Pourcentage du temps DPC) dans la variable $Counter. Le chemin d'accès du compteur inclut un caractère générique dans le nom de l'instance pour obtenir les données sur tous les processeurs de tous les ordinateurs.
C:\PS> $counter = "\Processor(*)\% DPC Time"
La troisième commande utilise l'applet de commande Get-Counter pour obtenir les valeurs des compteurs. Elle utilise le paramètre Counter pour spécifier les compteurs et le paramètre ComputerName pour spécifier les ordinateurs enregistrés dans la variable $servers.
C:\PS> get-counter -Counter $counter -computername $servers
-------------------------- EXEMPLE 8 --------------------------
C:\PS># Get-Counter
Description
-----------
Ces commandes obtiennent une valeur unique pour tous les compteurs de performance dans l'ensemble de compteurs Mémoire (Memory) sur l'ordinateur local.
La première commande obtient les chemins d'accès des compteurs et les enregistre dans la variable $memCounters.
C:\PS> $memCounters = (get-counter -list memory).paths
La deuxième commande utilise l'applet de commande Get-Counter pour obtenir les données de compteur de chaque compteur. Elle utilise le paramètre Counter pour spécifier les compteurs dans $memCounters.
C:\PS> get-counter -counter $memCounters
-------------------------- EXEMPLE 9 --------------------------
C:\PS># Get-Counter
Description
-----------
Cet exemple montre les valeurs de propriété dans l'objet PerformanceCounterSample qui représente chaque échantillon de données.
La première commande enregistre un chemin d'accès de compteur dans la variable $counter.
C:\PS> $counter = "\\SERVER01\Process(Idle)\% Processor Time"
La deuxième commande utilise l'applet de commande Get-Counter pour obtenir un échantillon des valeurs de compteur.
Elle enregistre les résultats dans la variable $data.
C:\PS> $data = get-counter $counter
La troisième commande utilise l'applet de commande Format-List pour afficher toutes les propriétés CounterSamples de l'objet jeu d'échantillons sous forme de liste.
C:\PS> $data.countersamples | format-list -property *
Path : \\SERVER01\process(idle)\% processor time
InstanceName : idle
CookedValue : 198.467899571389
RawValue : 14329160321003
SecondValue : 128606459528326201
MultipleCount : 1
CounterType : Timer100Ns
Timestamp : 7/15/2008 6:39:12 PM
Timestamp100NSec : 128606207528320000
Status : 0
DefaultScale : 0
TimeBase : 10000000
Vous pouvez utiliser les propriétés de l'objet CounterSamples pour examiner, sélectionner, trier et grouper les données.
-------------------------- EXEMPLE 10 --------------------------
C:\PS># Get-Counter
Description
-----------
La commande exécute une commande Get-Counter en tant que tâche en arrière-plan. Pour plus d'informations, consultez Start-Job.
C:\PS> $counters = "\LogicalDisk(_Total)\% Free Space"
C:\PS> start-job -scriptblock {get-counter -counter $counters -maxsamples 1000)
-------------------------- EXEMPLE 11 --------------------------
C:\PS># Get-Counter
Description
-----------
Cette commande utilise les applets de commande Get-Counter et Get-Random pour rechercher le pourcentage d'espace disque disponible sur 50 ordinateurs sélectionnés de façon aléatoire dans le fichier Servers.txt.
C:\PS> get-counter -computername (get-random servers.txt -count 50) -counter "\LogicalDisk(*)\% Free Space"
-------------------------- EXEMPLE 12 --------------------------
C:\PS># Get-Counter
Description
-----------
Cet exemple montre comment associer des données de compteur à l'ordinateur d'où elles proviennent et comment manipuler les données.
La première commande utilise l'applet de commande Get-Counter pour obtenir la valeur du compteur « LogicalDisk\% Free Space » (Disque logique\Pourcentage d'espace libre) à partir de deux ordinateurs distants, S1 et S2. Elle enregistre le résultat dans la variable $a.
$a = get-counter "\LogicalDisk(_Total)\% Free Space" -comp s1, s2
La deuxième commande affiche les résultats dans la variable $a. Toutes les données sont stockées dans l'objet, mais il n'est pas facile de les consulter sous cette forme.
C:\PS> $a
Counter Paths: \\s1\\logicaldisk(c:)\% free space, \\s1\\logicaldisk(d:)\% free space, \\s1\\logicaldisk(_total)\% free space, \\s2\\logicaldisk(c:)\% free space, \\s2\\logicaldisk(_total)\% free space
Timestamp : 7/15/2008 5:09:08 PM
Cooked Values : "0.327058823529412", "17.8952248493278", "12.9994033060778", "75.0754805595626", "75.0754805595626"
La troisième commande affiche dans un tableau la valeur de la propriété CounterSamples de l'objet PerformanceCounterSampleSet que Get-Counter retourne. (Pour voir toutes les propriétés et les méthodes de l'objet, dirigez ce dernier vers l'applet de commande Get-Member).
C:\PS> $a.countersamples | format-table -auto
Path InstanceName CookedValue
---- ------------ -----------
\\s1\\logicaldisk(c:)\% free space c: 0.327058823529412
\\s1\\logicaldisk(d:)\% free space d: 17.8952248493278
\\s1\\logicaldisk(_total)\% free space _total 12.9994033060778
\\s2\\logicaldisk(c:)\% free space c: 75.0754805595626
\\s2\\logicaldisk(_total)\% free space _total 75.0754805595626
La propriété CounterSamples contient un objet PerformanceCounterSample avec ses propres propriétés et méthodes. La quatrième commande utilise une notation sous forme de tableau pour obtenir le premier échantillon de compteur et un opérateur de pipeline pour envoyer l'objet Échantillon de compteur à l'applet de commande Format-List, qui affiche toutes ses propriétés et méthodes dans une liste. Cet affichage montre la richesse des données dans chaque objet Échantillon de compteur.
La quatrième commande montre comment sélectionner des données à partir des échantillons de compteur. Elle utilise l'applet de commande Where-Object pour obtenir uniquement les échantillons de compteur dont le paramètre CookedValue a une valeur inférieure à 15.
C:\PS> $a.countersamples | where {$_.cookedvalue -lt 15}
Path InstanceName CookedValue
---- ------------ -----------
\\s1\\logicaldisk(c:)\% free space c: 0.327058823529412
\\s1\\logicaldisk(_total)\% free space _total 12.9994033060778
-------------------------- EXEMPLE 13 --------------------------
C:\PS># Get-Counter
Description
-----------
Cet exemple montre comment trier les données de compteur de performance que vous récupérez. L'exemple recherche les processus sur l'ordinateur qui utilisent le plus de temps processeur pendant l'échantillonnage.
La première commande obtient le compteur « Process\% Processor Time » (Processus\Pourcentage de temps processeur) pour tous les processus de l'ordinateur. La commande enregistre les résultats dans la variable $p.
C:\PS> $p = get-counter '\Process(*)\% Processor Time'
La deuxième commande obtient la propriété CounterSamples de l'objet jeu d'échantillons dans $p et elle classe les échantillons dans l'ordre décroissant en fonction de la valeur traitée de l'échantillon. La commande utilise l'applet de commande Format-Table et son paramètre AutoFormat pour positionner les colonnes dans le tableau.
C:\PS> $p.CounterSamples | sort-object -property CookedValue -Descending | format-table -auto
Path InstanceName CookedValue
---- ------------ -----------
\\server01\process(_total)\% processor time _total 200.00641042078
\\server01\process(idle)\% processor time idle 200.00641042078
\\server01\process(explorer#1)\% processor time explorer 0
\\server01\process(dwm#1)\% processor time dwm 0
\\server01\process(taskeng#1)\% processor time taskeng 0
\\server01\process(taskhost#1)\% processor time taskhost 0
\\server01\process(winlogon)\% processor time winlogon 0
\\server01\process(csrss)\% processor time csrss 0
-------------------------- EXEMPLE 14 --------------------------
C:\PS># Get-Counter
Description
-----------
Ces commandes recherchent sur l'ordinateur les processus présentant les plus grandes plages de travail. Elles répertorient les processus dans l'ordre décroissant en fonction de la taille de leur plage de travail.
La première commande obtient un échantillon du compteur « Processus\Plage de travail - Privée » pour chaque processus. La commande enregistre les données de compteur dans la variable de $ws.
C:\PS> $ws = get-counter "\Process(*)\Working Set - Private"
La deuxième commande utilise un opérateur de pipeline (|) pour envoyer les données dans la propriété CounterSamples de la variable $ws vers l'applet de commande Sort-Object, où les données de processus sont classées dans l'ordre décroissant par la valeur de la propriété CookedValue. Un autre pipeline envoie les données triées vers l'applet de commande Format-Table, où les données sont organisées sous forme de tableau avec les colonnes InstanceName et CookedValue.
C:\PS> $ws.countersamples | sort-object -property cookedvalue -descending | format-table -property InstanceName, CookedValue -auto
InstanceName CookedValue
------------ -----------
_total 162983936
svchost 40370176
powershell 15110144
explorer 14135296
svchost 10928128
svchost 9027584
...
-------------------------- EXEMPLE 15 --------------------------
C:\PS># Get-Counter
Description
-----------
Cette commande obtient une série d'échantillons du compteur « Processor\% Processor Time » (Processeur\Pourcentage de temps processeur) à une seconde d'intervalle (valeur par défaut). Pour arrêter la commande, appuyez sur CTRL+C.
C:\PS> get-counter -counter "\processor(_total)\% processor time" -continuous
LIENS CONNEXES
Online version: http://go.microsoft.com/fwlink/?LinkID=138335
Import-Counter
Export-Counter
Aucun commentaire:
Enregistrer un commentaire