2010-06-21 12 views
8

मैं लाइसेंसिंग उद्देश्यों के लिए विशिष्ट रूप से सिस्टम की पहचान (अधिक या कम) करने की कोशिश कर रहा हूं। मैंने इस कार्य के लिए कंप्यूटर के ऑन-बोर्ड नेटवर्क एडेप्टर के मैक पते को चुना है, क्योंकि मैं यह सुनिश्चित कर सकता हूं कि इस सॉफ़्टवेयर को चलाने वाले प्रत्येक cmputer में वास्तव में एक है, और यह बदलते समय पुनः सक्रियण से बचाता है। हार्डड्राइवविश्वसनीय रूप से कंप्यूटर के ऑन-बोर्ड नेटवर्क एडाप्टर के मैक पते को कैसे प्राप्त करें?

हालांकि, मुझे ऑनबोर्ड नेटवर्क एडेप्टर को विश्वसनीय रूप से पहचानने में समस्याएं आ रही हैं।

"Win32_NetworkAdapter कॉन्फ़िगरेशन" प्रबंधन क्लास का उपयोग करके, मुझे अपने पसंदीदा पते सहित मैक पते का पूरा पता मिल सकता है, लेकिन मुझे विंडोज या वायरस स्कैनर द्वारा स्थापित वर्चुअल एडाप्टर से ऑनबोर्ड को अलग करने का कोई तरीका नहीं मिला है। हालांकि, इस सूची को आदेश दिया जा रहा है। मैक एड्रेस में दिलचस्पी है (मेरी मशीन पर) अन्य (वास्तविक) नेटवर्क एडेप्टर से पहले सूचीबद्ध है। (सूची इंटरफेस सूचकांक द्वारा आदेश दिया गया है।)

NetworkInterface.GetAllNetworkInterfaces() का उपयोग करना, मुझे लगता है कि मैं .NetworkInterfaceType == NetworkInterfaceType.Ethernet पर छान कर वास्तविक नेटवर्क एडेप्टर पहचान कर सकते हैं, लेकिन इस सूची अव्यवस्थित हो रहा है (एक अतिरिक्त नेटवर्क कार्ड onboards एक से पहले दिखाई देता है)।

पहले वास्तविक नेटवर्क कार्ड की सूची प्राप्त करने के लिए दूसरी विधि का उपयोग कर रहा है और फिर पहली सूची में उपस्थिति के क्रम में उन्हें मैक पते की पहचान करने का एक विश्वसनीय तरीका है जिसे मैं ढूंढ रहा हूं? क्या पहली सूची में इंटरफ़ेस इंडेक्स बदल सकता है? मुझे आपके विचार सुनकर खुशी होगी!

धन्यवाद!

पीएस .: मुझे पता है कि मैक पता आसानी से बदला जा सकता है, लेकिन मैं इसके साथ रह सकता हूं। मैं ग्राहक के साथ नहीं रह सकता, जो कि डब्लूएलएएन स्टिक डालने के बाद सॉफ़्टवेयर का उपयोग करने में सक्षम नहीं है =)

+0

इंटरफेसटाइप ईथरनेट के सभी मैक पते कैश क्यों नहीं करें? –

+0

@rdkleine: यदि कोई अन्य नेटवर्क एडेप्टर जोड़ा जाता है तो यह सक्रियण को तोड़ देगा। – Jens

+0

आप सभी कैश किए गए सभी एडाप्टर की तुलना कर सकते हैं। एक जोड़ी पर्याप्त है, है ना? –

उत्तर

10

netstat command को कम करने के लिए एक कम तकनीक वाला समाधान होगा और एडाप्टर के मैक पते को देखें जो वैध है आईपी ​​पता। मैंने नेटस्टैट कमांड को कभी भी मशीन पर असफल नहीं देखा है, जबकि मैंने देखा है कि डब्लूएमआई अप्रत्याशित परिणाम कई बार देता है।

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

फिर आपको केवल प्रमुख लाइसेंस उल्लंघनों के साक्ष्य के लिए अपने सक्रियण डेटाबेस की जांच करने और आवश्यकतानुसार कुंजी को निष्क्रिय करने की आवश्यकता है। एक ऐसे ग्राहक के रूप में जो उत्पाद सक्रियण से नफरत करता है, और एक आईएसवी जो सॉफ़्टवेयर चोरी से नफरत करता है, मैं तर्क के दोनों तरफ देख सकता हूं और इस तरह से ग्राहक को आपको विश्वास दिलाने की असुविधाजनक स्थिति में डालने से बचा जाता है जब वे कुछ (अनिवार्य रूप से) जाते हैं गलत।

मैक पहचान क्यों काम नहीं कर सकती है इसके कुछ कारणों का नाम देने के लिए ... मैं अपने लैपटॉप में दो एनआईसी (वायर्ड और वायरलेस) का उपयोग करता हूं, इस पर निर्भर करता हूं कि मैं काम या घर पर हूं या नहीं। एक या दूसरे को किसी भी समय अक्षम किया जा सकता है। दूसरी बात यह है कि मैं वर्चुअल मशीनों का काफी उपयोग करता हूं और न केवल उन्हें अपना मैक मिलता है बल्कि मैं चाहता हूं कि मैं किसी भी मैक को निर्दिष्ट कर सकूं। फिर निश्चित रूप से एक दिन आपको पता चलेगा कि आपके डेटाबेस में 100 लोगों को सभी शून्यों के मैक के साथ पसंद है। :) यहां कुछ भी गारंटी नहीं है।

+0

धन्यवाद!आपके द्वारा उल्लेख किए जाने वाले कारण के लिए, मैं ऑन-बोर्ड एडाप्टर का उपयोग करना चाहता हूं भले ही किसी अन्य एडाप्टर के पास आईपी पता हो और ऑन-बोर्ड में कोई भी नहीं है। वीएम के साथ अच्छा बिंदु, लेकिन मुझे लगता है कि यह हमारे ग्राहकों के साथ एक बड़ी समस्या नहीं होगी ... यह वापस आ जाएगा और मुझे काट देगा। =) – Jens

1

आपको मैक पते के अलावा WMI से कुछ अन्य गुणों पर विचार करना चाहिए।

जिस तरह से विंडोज उत्पाद सक्रियण इसे संभालता है, मैक पते (जैसे कार्ड के बारे में अन्य पहचान जानकारी, जैसे पीसीआई विक्रेता जानकारी) के साथ-साथ कुछ सामान्य डिवाइस गुणों (एचडीडी) नियंत्रक, प्रदर्शन एडाप्टर), और कुछ सीमाओं पर पुनर्सक्रियण की आवश्यकता आधार। यदि इनमें से बहुत सी चीजें बदलती हैं, तो पुनः सक्रियण की आवश्यकता होती है।

यहाँ विषय पर एक महान लेख है और कैसे अपने खुद के लाइसेंस/सक्रियण प्रणाली के लिए को देखने के लिए अच्छा गुण को चुनने के पास जाने पर विचार के लिए आप कुछ खाना देना चाहिए: अपने मुख्य आवश्यकता तो

http://aumha.org/win5/a/wpa.php

1

एक पीसी को विशिष्ट रूप से पहचानना है, तो मेरा सुझाव है कि आप this question पर एक नज़र डालें। एक समाधान के बारे में स्वीकार किए जाते हैं जवाब वार्ता के साथ ही मैक पता पहचानकर्ता दृष्टिकोण

आशा का उपयोग करने का नुकसान यह मदद करता है

1

, नेट में नेटवर्क इंटरफेस विवरण तक पहुंचने System.Net.NetworkInformation नाम स्थान के अंदर NetworkInterface.GetPhysicalAddress विधि का उल्लेख करने के लिए।

उपयोग detailed on MSDN है।

पहचान के लिए मैक पते पर भरोसा करने के संबंध में मैं निश्चित रूप से the link Ryan has provided का उल्लेख करता हूं।

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

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