Tengo una categoría de contador de rendimiento personalizado. Visual Studio Server Explorer se niega a eliminarlo, alegando que 'no está registrado o una categoría del sistema'. En lugar de hacerlo programáticamente, ¿cómo puedo eliminar la categoría? ¿Hay una clave de registro que pueda eliminar?Eliminación de categorías de contador de rendimiento de Windows
Respuesta
Por lo que yo sé, no hay manera eliminar con seguridad ellos, excepto mediante programación (que están destinados a aplicaciones para crear y eliminar durante la instalación), pero es trivial para hacerlo desde una consola PowerShell de línea de comandos. Sólo tiene que ejecutar este comando:
[Diagnostics.PerformanceCounterCategory]::Delete("Your Category Name")
Sin embargo: (EDIT)
Usted puede eliminar la clave de registro que se crea, y que va a hacer desaparecer la categoría.
Para una categoría denominada "Inventario" puede eliminar toda la clave en HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Inventory
... y aunque yo no estaría dispuesto a apostar que limpia todo, que se hacer desaparecer la categoría. (Si ejecuta Process Monitor mientras ejecuta el método Delete(), puede ver que puede haber muchas otras actividades sucediendo, y no parece haber ningún otro cambio realizado).
Es importante tener en cuenta que como dije originalmente: cuando obtiene ese error de Visual Studio, es posible que ya se haya eliminado y deba actualizar la vista en VS. En mis pruebas, tuve que reiniciar las aplicaciones para que realmente obtuvieran una lista clara de las categorías disponibles.
Puede consultar la lista completa de categorías de PowerShell para ver si aparece en la lista:
[Diagnostics.PerformanceCounterCategory]::GetCategories() | Format-Table -auto
Pero si comprueba que, a continuación, elimine la clave de registro ... que todavía va a aparecer, hasta que se reinicie PowerShell (si inicia otra instancia, puede ejecutar la misma consulta allí, y NO mostrará el elemento eliminado, pero volver a ejecutar GetCategories en el primero seguirá mostrándolo.
Por cierto, usted puede filtrar esa lista si desea usar -like para patrones, o -match para expresiones regulares completas:
[Diagnostics.PerformanceCounterCategory]::GetCategories() | Where {$_.CategoryName -like "*network*" } | Format-Table -auto
[Diagnostics.PerformanceCounterCategory]::GetCategories() | Where {$_.CategoryName -match "^SQL.*Stat.*" } | Format-Table -auto
Se puede desactivar mediante la herramienta Kit de recursos de Microsoft - instalarlo desde
o desactivarlo desde el registro de forma manual (no lo he probado) descrito aquí
http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/regentry/94214.mspx?mfr=true
También podría usar LinqPad, ya que eso no implica una instalación de ningún tipo - http://www.linqpad.net/.
Ejecutar el siguiente código como "C# Declaración (s)":
System.Diagnostics.PerformanceCounterCategory.Delete("Name of category to delete");
había corrido dos veces, la primera vez para hacer el eliminar, por segunda vez real para obtener un mensaje de error confirmar que la eliminación fue exitosa.
Impresionante. Rápido y fácilmente extraíble – mwjackson
Útil cuando los "administradores de sistemas" con los que trabaja no pueden molestarse en instalar PowerShell en sus propios servidores ... –
Encontré que tenía que ejecutar LINQPad como administrador para que esto funcione, de lo contrario obtuve un "no" excepción autorizada. –
Sé que esta pregunta si el viejo, pero me pareció una manera de hacer esto no programáticamente: http://msdn.microsoft.com/en-us/library/windows/desktop/aa372130%28v=vs.85%29.aspx
Uso unlodctr del símbolo del sistema, es posible que también tenga que utilizar lodctr/q para consultar su categoría.
o hacerlo de la manera difícil mediante la modificación de la clave de registro (no lo borre): HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Perflib \ 009 http://msdn.microsoft.com/en-us/library/windows/desktop/aa373172%28v=vs.85%29.aspx
- 1. Nombres de categorías de contador de rendimiento? (C#)
- 2. Cómo restablecer contador de rendimiento personalizada
- 3. Contador de rendimiento frente a ETW
- 4. Cómo se elimina un contador de rendimiento
- 5. contador de rendimiento personalizado en C#/perfmon
- 6. El Contador de rendimiento solicitado no es un contador personalizado, tiene que inicializarse como ReadOnly
- 7. .net contador de rendimiento - Proceso (w3wp) \% de tiempo de procesador
- 8. Contador de rendimiento: ¿tasa por tipo de minuto?
- 9. Contador de rendimiento creado pero no funciona hasta que se reinicia Windows
- 10. eliminación de Java PriorityQueue de elementos arbitrarios de rendimiento
- 11. Contador de rendimiento de lectura de C#: La instancia no existe en la categoría especificada
- 12. Contador de JPA NamedQuery
- 13. Rendimiento de Mongodb en Windows
- 14. Eliminación del campo "Categorías" de una lista de seguimiento de problemas en SharePoint
- 15. Recuperar el valor del contador de rendimiento de forma independiente del idioma
- 16. Contador de rendimiento El uso de la CPU para el proceso actual es más de 100
- 17. ¿Por qué no puede Perfmon ver instancias de mi contador de rendimiento personalizado?
- 18. Por qué son las solicitudes ASP.NET Contador de rendimiento actual siempre más alto Solicitudes de aplicaciones ASP.NET/contador
- 19. ¿Contador de programa?
- 20. Contador de incremento Talend
- 21. Contador de tipo RateOfCountsPerSecond32 siempre muestra 0
- 22. Explicación sobre el contador de rendimiento de alta resolución y su existencia relacionada con .NET Stopwatch?
- 23. Uso de contadores de rendimiento para rastrear servicios de Windows
- 24. Contador de líneas de código .NET
- 25. Árbol de categorías Magento Admin
- 26. Clasificación de texto en categorías
- 27. MySQL: Obtener publicaciones de categorías
- 28. Obteniendo categorías de Infobox DBPedia
- 29. ¿Cómo puedo corregir la "consistencia de la columna de registro del contador de rendimiento" al instalar SQL Server R2 Express?
- 30. Cálculo de promedios con contadores de rendimiento
Creo que esto desactiva todos los contadores de un servicio específico ... y no ayuda a deshacerse de una "categoría" – Jaykul