2010-08-31 7 views
15

Je tente de déplacer la vérification & création de mes groupes de compteurs de performance, et des compteurs eux-mêmes, hors de mon service Web et dans un script PowerShell exécuté pendant le déploiement .Création et modification de compteurs de performance dans un script PowerShell ou une ligne de commande

Est-ce que cela peut être fait? Ou suis-je coincé en utilisant une application simple pour construire les groupes & compteurs?

Merci beaucoup :)

+0

J'aimerais aussi savoir s'il y a un moyen de mettre à jour les compteurs à partir d'un script Powershell ou ligne de commande? –

+0

Comment utiliser PowerShell pour créer un compteur permanent pour Average64, ceux qui nécessitent AverageBase? – Kode

Répondre

13

compris cela il y a un certain temps, mais jamais affichés.
Voici ma solution:

//save out the type name for sanity's sake 
$ccdTypeName = 'System.Diagnostics.CounterCreationData' 
$CounterCollection = New-Object System.Diagnostics.CounterCreationDataCollection 

//create as many counters as we'd like, and add them to the collection. here's just one: 
$CounterCollection.Add((New-Object $ccdTypeName "Counter Name", "Counter Description", NumberOfItems32)) 

//create the category with the counter collection 
[System.Diagnostics.PerformanceCounterCategory]::Create($perfCounterCategoryName, $perfCounterVersion, [Diagnostics.PerformanceCounterCategoryType]::SingleInstance, $CounterCollection); 
+1

Bel exemple de comment sur TechNet à partir de 2014. http://blogs.technet.com/b/omx/archive/2014/04/23/use-powershell-to-create-and-update-performance- counters.aspx – wonster

+0

Note de l'article de blogs.technet.com, "Les instances disparaîtront lorsque PowerShell sera fermé, ces instances ne sont disponibles que pendant l'exécution de votre script." Si vous convertissez cette réponse SO en C# ou le code du blog en C#, ils sont permanents. – Andy

Questions connexes