gpt4 book ai didi

windows - 删除 Windows 性能计数器类别

转载 作者:可可西里 更新时间:2023-11-01 12:12:34 25 4
gpt4 key购买 nike

我有一个自定义性能计数器类别。 Visual Studio Server Explorer 拒绝删除它,声称它“未注册或属于系统类别”。除了以编程方式执行此操作外,我该如何删除该类别?是否有我可以删除的注册表项?

最佳答案

据我所知,没有办法安全地删除它们,除非以编程方式(它们旨在让应用程序在安装过程中创建和删除)但是从 PowerShell 命令执行是微不足道的线控制台。只需运行此命令:

[Diagnostics.PerformanceCounterCategory]::Delete( "Your Category Name" )

但是:(编辑)

可以删除创建的注册表项,这将使该类别消失。

对于名为“Inventory”的类别,您可以删除 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Inventory 中的整个键 ... 尽管 我不愿意打赌清理一切,它使类别消失。 (如果您在运行 Delete() 方法时运行 Process Monitor,您可以看到许多其他事件正在发生,而且似乎没有任何其他更改)。

重要的是要注意正如我最初所说的:当您从 Visual Studio 收到该错误时,可能是它已被删除,您需要在 VS 中刷新 View 。在我的测试中,我必须重新启动应用程序才能让它们真正获得可用类别的干净列表。

您可以从 PowerShell 检查完整的类别列表以查看它是否已列出:

[Diagnostics.PerformanceCounterCategory]::GetCategories() | Format-Table -auto

但是如果您检查它们,然后删除注册表项...它们仍然会显示,直到您重新启动 PowerShell(如果您启动另一个实例,您可以在那里运行相同的查询,它不会显示已删除的项目,但在第一个项目中重新运行 GetCategories 将继续显示它。

顺便说一下,如果你想对模式使用 -like,或者对完整的正则表达式使用 -match,你可以过滤该列表:

[Diagnostics.PerformanceCounterCategory]::GetCategories() | Where {$_.CategoryName -like "*network*" } | Format-Table -auto
[Diagnostics.PerformanceCounterCategory]::GetCategories() | Where {$_.CategoryName -match "^SQL.*Stat.*" } | Format-Table -auto

关于windows - 删除 Windows 性能计数器类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/140149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com