2008-09-26 12 views
22

मेरे पास एक कस्टम प्रदर्शन काउंटर श्रेणी है। विजुअल स्टूडियो सर्वर एक्सप्लोरर इसे हटाने से इंकार कर देता है, दावा करता है कि यह 'पंजीकृत नहीं है या सिस्टम श्रेणी' है। इसे प्रोग्रामेटिक रूप से करने का छोटा, मैं श्रेणी को कैसे हटा सकता हूं? क्या कोई रजिस्ट्री कुंजी है जिसे मैं हटा सकता हूं?विंडोज प्रदर्शन काउंटर श्रेणियों को हटाना

उत्तर

39

जहाँ तक मुझे पता है, वहाँ कोई रास्ता नहीं सुरक्षित रूप से (वे बना सकते हैं और स्थापना के दौरान दूर करने के लिए क्षुधा के लिए इरादा कर रहे हैं) प्रोग्राम के सिवाय उन्हें नष्ट करने के लिए है, लेकिन यह एक PowerShell कमांड लाइन कंसोल से ऐसा करने के लिए तुच्छ है।

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

हालांकि: बस इस आदेश चला (संपादित)

आप कि बनने वाले रजिस्ट्री कुंजी को हटा सकते हैं, और उस श्रेणी गायब कर देगा।

एक वर्ग कहा जाता है के लिए "इन्वेंटरी" आप HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Inventory में पूरे कुंजी को हटा सकते हैं ... और यद्यपि मुझे यकीन है कि सब कुछ को साफ तैयार नहीं हो सकता है, यह श्रेणी गायब कर देगा। (यदि आप हटाएं() विधि चलाते समय Process Monitor चलाते हैं, तो आप देख सकते हैं कि कई अन्य गतिविधियां हो रही हैं, और ऐसा कोई अन्य परिवर्तन नहीं हुआ है)।

यह ध्यान रखना महत्वपूर्ण है कि जैसा कि मैंने मूल रूप से कहा था: जब आपको विजुअल स्टूडियो से यह त्रुटि मिलती है, तो हो सकता है कि यह पहले ही हटा दिया गया हो और आपको वीएस में दृश्य को रीफ्रेश करने की आवश्यकता हो। मेरे परीक्षण में, मुझे वास्तव में उपलब्ध श्रेणियों की एक साफ सूची प्राप्त करने के लिए एप्लिकेशन को पुनरारंभ करना पड़ा।

आप अगर यह सूचीबद्ध है देखने के लिए PowerShell से श्रेणियों की पूरी सूची की जाँच कर सकते हैं:

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

लेकिन अगर आप उन्हें चेक करें, फिर रजिस्ट्री कुंजी को नष्ट ... वे अभी भी, दिखाई देंगे जब तक आप PowerShell को पुनरारंभ करें (यदि आप एक और उदाहरण शुरू करते हैं, तो आप वहां एक ही क्वेरी चला सकते हैं, और यह हटाए गए आइटम को नहीं दिखाएगा, लेकिन पहले में GetCategories को फिर से चलाना जारी रहेगा।

वैसे, आप यदि आप पैटर्न के लिए उपयोग करना चाहते हैं, या पूर्ण नियमित अभिव्यक्तियों के लिए मिलान करना चाहते हैं तो उस सूची को फ़िल्टर कर सकते हैं:

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

आप माइक्रोसॉफ्ट संसाधन किट उपकरण का उपयोग कर उसे निष्क्रिय कर सकता है - यह

http://download.microsoft.com/download/win2000platform/exctrlst/1.00.0.1/nt5/en-us/exctrlst_setup.exe

से स्थापित या मैन्युअल रूप से रजिस्ट्री से भी अक्षम (प्रयास नहीं किया है) यहाँ वर्णित

http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/regentry/94214.mspx?mfr=true

+0

मैं इसके लिए सभी काउंटरों को निष्क्रिय लगता है एक विशिष्ट सेवा ... और "श्रेणी" – Jaykul

10

आप लिंककैड का भी उपयोग कर सकते हैं, क्योंकि इसमें किसी भी प्रकार का इंस्टॉल शामिल नहीं है - http://www.linqpad.net/

एक "सी # वक्तव्य (रों)" के रूप में निम्न कोड चलाएँ:

System.Diagnostics.PerformanceCounterCategory.Delete("Name of category to delete");

मैं इसे दो बार वास्तविक हटाते हैं, तो दूसरे के लिए एक त्रुटि संदेश प्राप्त करने के लिए समय ऐसा करने के लिए पहली बार चलाने चाहते हैं, पुष्टि करें कि हटाना सफल रहा था।

+0

विस्मयकारी से छुटकारा पाने में मदद नहीं करती है। त्वरित, और आसानी से हटाने योग्य – mwjackson

+0

उपयोगी जब "sysadmins" के साथ आप काम करते हैं तो PowerShell को अपने सर्वर पर स्थापित करने के लिए परेशान नहीं किया जा सकता है ... –

+0

मुझे पता चला कि मुझे LINQPad को काम करने के लिए व्यवस्थापक के रूप में चलाने के लिए अन्यथा मुझे "नहीं मिला" अधिकृत "अपवाद। –

2

मैं पुराने अगर इस सवाल का पता, लेकिन मैं इस गैर प्रोग्रामैटिक रूप से ऐसा करने के लिए एक रास्ता मिल गया: कमांड प्रॉम्प्ट से unlodctr http://msdn.microsoft.com/en-us/library/windows/desktop/aa372130%28v=vs.85%29.aspx

उपयोग, आप भी/q lodctr उपयोग करने के लिए अपने वर्ग क्वेरी करने के लिए आवश्यकता हो सकती है।

या रजिस्ट्री कुंजी (इसे हटा नहीं है) को संशोधित करके यह मुश्किल तरीके से कार्य करें: 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

संबंधित मुद्दे