Windowsパフォーマンスカウンターカテゴリの削除
-
02-07-2019 - |
質問
カスタムパフォーマンスカウンターカテゴリがあります。 Visual Studio Server Explorerは、「登録されていない、またはシステムカテゴリではない」と主張して、削除を拒否します。プログラムで実行する以外に、カテゴリを削除するにはどうすればよいですか?削除できるレジストリキーはありますか?
解決
私が知る限り、プログラムを使用して(インストール中にアプリを作成および削除することを目的としています)以外は安全に削除する方法はありませんが、から行うのは簡単ですhref = "http://Microsoft.com/PowerShell" rel = "noreferrer"> PowerShell コマンドラインコンソール。次のコマンドを実行してください:
[Diagnostics.PerformanceCounterCategory]::Delete( "Your Category Name" )
ただし:(編集)
作成されたレジストリキーを 削除すると、カテゴリが消えます。
「在庫」というカテゴリの場合 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Inventory
でキー全体を削除できます。また、すべてをクリーンアップすることに賭けるつもりはありませんが、< strong> strong はカテゴリを非表示にします。 (Delete()メソッドの実行中にプロセスモニターを実行すると、他の多くのアクティビティが発生しており、他の変更は行われていないようです変更)。
元々言ったようにに注意することが重要です:Visual Studioからそのエラーを受け取った場合、既に削除されている可能性があり、VSでビューを更新する必要があります。テストでは、利用可能なカテゴリのクリーンなリストを実際に取得するために、アプリケーションを再起動する必要がありました。
PowerShellからカテゴリの完全なリストをチェックして、リストされているかどうかを確認できます。
[Diagnostics.PerformanceCounterCategory]::GetCategories() | Format-Table -auto
しかし、それらをチェックしてからレジストリキーを削除すると、PowerShellを再起動するまで表示されます(別のインスタンスを起動すると、そこに同じクエリを実行できますが、削除されたアイテムですが、最初のアイテムでGetCategoriesを再実行すると、引き続き表示されます。
ところで、パターンに-likeを使用したい場合、または完全な正規表現に-matchを使用したい場合は、そのリストをフィルタリングできます:
[Diagnostics.PerformanceCounterCategory]::GetCategories() | Where {私が知る限り、プログラムを使用して(インストール中にアプリを作成および削除することを目的としています)以外は安全に削除する方法はありませんが、から行うのは簡単ですhref = "http://Microsoft.com/PowerShell" rel = "noreferrer"> PowerShell コマンドラインコンソール。次のコマンドを実行してください:
[Diagnostics.PerformanceCounterCategory]::Delete( "Your Category Name" )
ただし:(編集)
作成されたレジストリキーを 削除すると、カテゴリが消えます。
「在庫」というカテゴリの場合 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Inventory
でキー全体を削除できます。また、すべてをクリーンアップすることに賭けるつもりはありませんが、< strong> strong はカテゴリを非表示にします。 (Delete()メソッドの実行中にプロセスモニターを実行すると、他の多くのアクティビティが発生しており、他の変更は行われていないようです変更)。
元々言ったようにに注意することが重要です:Visual Studioからそのエラーを受け取った場合、既に削除されている可能性があり、VSでビューを更新する必要があります。テストでは、利用可能なカテゴリのクリーンなリストを実際に取得するために、アプリケーションを再起動する必要がありました。
PowerShellからカテゴリの完全なリストをチェックして、リストされているかどうかを確認できます。
[Diagnostics.PerformanceCounterCategory]::GetCategories() | Format-Table -auto
しかし、それらをチェックしてからレジストリキーを削除すると、PowerShellを再起動するまで表示されます(別のインスタンスを起動すると、そこに同じクエリを実行できますが、削除されたアイテムですが、最初のアイテムでGetCategoriesを再実行すると、引き続き表示されます。
ところで、パターンに-likeを使用したい場合、または完全な正規表現に-matchを使用したい場合は、そのリストをフィルタリングできます:
<*>.CategoryName -like "*network*" } | Format-Table -auto
[Diagnostics.PerformanceCounterCategory]::GetCategories() | Where {私が知る限り、プログラムを使用して(インストール中にアプリを作成および削除することを目的としています)以外は安全に削除する方法はありませんが、から行うのは簡単ですhref = "http://Microsoft.com/PowerShell" rel = "noreferrer"> PowerShell コマンドラインコンソール。次のコマンドを実行してください:
[Diagnostics.PerformanceCounterCategory]::Delete( "Your Category Name" )
ただし:(編集)
作成されたレジストリキーを 削除すると、カテゴリが消えます。
「在庫」というカテゴリの場合 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Inventory
でキー全体を削除できます。また、すべてをクリーンアップすることに賭けるつもりはありませんが、< strong> strong はカテゴリを非表示にします。 (Delete()メソッドの実行中にプロセスモニターを実行すると、他の多くのアクティビティが発生しており、他の変更は行われていないようです変更)。
元々言ったようにに注意することが重要です:Visual Studioからそのエラーを受け取った場合、既に削除されている可能性があり、VSでビューを更新する必要があります。テストでは、利用可能なカテゴリのクリーンなリストを実際に取得するために、アプリケーションを再起動する必要がありました。
PowerShellからカテゴリの完全なリストをチェックして、リストされているかどうかを確認できます。
[Diagnostics.PerformanceCounterCategory]::GetCategories() | Format-Table -auto
しかし、それらをチェックしてからレジストリキーを削除すると、PowerShellを再起動するまで表示されます(別のインスタンスを起動すると、そこに同じクエリを実行できますが、削除されたアイテムですが、最初のアイテムでGetCategoriesを再実行すると、引き続き表示されます。
ところで、パターンに-likeを使用したい場合、または完全な正規表現に-matchを使用したい場合は、そのリストをフィルタリングできます:
<*>.CategoryName -match "^SQL.*Stat.*" } | Format-Table -auto
他のヒント
LinqPadを使用することもできます。これには、いかなる種類のインストールも含まれません- http://www.linqpad .net / 。
次のコードを&quot; C#ステートメント&quot;として実行します:
System.Diagnostics.PerformanceCounterCategory.Delete(&quot;削除するカテゴリの名前&quot;);
2回実行します。1回目は実際の削除を行い、2回目はエラーメッセージを取得して削除が成功したことを確認します。
古い場合はこの質問を知っていますが、これを非プログラム的に行う方法を見つけました: http://msdn.microsoft .com / en-us / library / windows / desktop / aa372130%28v = vs.85%29.aspx
コマンドプロンプトからunlodctrを使用します。lodctr/ qを使用してカテゴリを照会する必要がある場合もあります。
または、レジストリキーを変更して削除するのは難しい方法です(削除しないでください)。 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
Microsoftリソースキットツールを使用して無効にすることができます-
からインストールしますまたはここで説明したように、手動でレジストリから無効にします(試したことはありません)