2009-09-13 14 views
6

सी # (नेट/मोनो, स्थानीय एप्लिकेशन) का उपयोग कर कंप्यूटर (मेनबोर्ड) की विशिष्ट पहचान कैसे करें?सी # का उपयोग कर कंप्यूटर की विशिष्ट पहचान कैसे करें?

संस्करण। हम कुछ इस तरह का उपयोग कर नेट में mainboard की पहचान कर सकते हैं (Get Unique System Identifiers in C# देखें):

using System.Management; 
... 
ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_MotherboardDevice"); 
... 

लेकिन दुर्भाग्य से मोनो System.Management समर्थन नहीं करता। लिनक्स के लिए मोनो के तहत इसे कैसे करें? - मैं नहीं पता है :(

उत्तर

2

नेटवर्क कार्ड के MAC address के बारे में कैसे?

+0

शायद आप सही हैं। मोनो का उपयोग कर विंडोज और लिनक्स के लिए सरल सामान्य विधि नेटवर्क कार्ड के मैक पते प्राप्त कर रही है। – macropas

+0

हम (पहले) नेटवर्क कार्ड के मैक पते का उपयोग करते हैं (एक से अधिक हो सकते हैं!), और कई सौ ग्राहकों के साथ, यह हमारे विचारों की तुलना में अधिक बार बदलता है। वर्तमान में हम विकल्पों की तलाश में हैं। – epalm

+0

मैं पूरी तरह से असहमत हूं, मार्कड्रेस को धोखा दिया जा सकता है! – Smith

3

इस प्रयास करें: निजी तौर पर हालांकि

http://carso-owen.blogspot.com/2007/02/how-to-get-my-motherboard-serial-number.html

, मैं हार्ड ड्राइव सीरियल नंबर के साथ जाना चाहते हैं एक mainboard मर जाता है और बदल दिया जाता है, तो उस पीसी नहीं है। अब और मान्य है। अगर एचडीडी ड्राइव को प्रतिस्थापित किया गया है, तो इससे कोई फर्क नहीं पड़ता क्योंकि सॉफ्टवेयर उस पर था।

बेशक, अगर दूसरी ओर, यदि एचडीडी बस कहीं और स्थानांतरित हो जाता है, तो जानकारी इसके साथ जाती है , तो हो सकता है कि आप सीरियल नंबरों के संयोजन को देखना चाहें, जो आप चाहते हैं उसके आधार पर।

+2

मेरे मुख्य बोर्ड और मेरे ऑपरेटिंग सिस्टम दोनों मेरे हार्डड्राइव को पार करते हैं। कम से कम अब तक। "बैकअप" नामक चीजें हैं जो एचडीडी मरने से बचने के लिए एक ओएस + सॉफ्टवेयर सक्षम करती हैं :-) – Joey

+0

मेरे लिए कंप्यूटर को परिभाषित करने वाली सबसे अनोखी चीज एचडीडी है। आप किसी अन्य मेनबोर्ड पर एचडीडी लेते हैं। क्या आपको लगता है कि आपका कंप्यूटर खाली है/एक नए एचडीडी मेनबोर्ड के साथ या जिसमे आपका सभी डेटा है, आपका ओएस इत्यादि? –

13

एक समारोह है कि इनपुट के रूप में कुछ अद्वितीय हार्डवेयर पैरामीटर लेता है और उनमें से बाहर एक हैश उत्पन्न करता लिखें।

उदाहरण के लिए, विंडोज सक्रियण के बाद हार्डवेयर विशेषताओं पर लग रहा है:

  • प्रदर्शन एडाप्टर
  • SCSI एडाप्टर
  • आईडीई एडाप्टर (प्रभावी रूप से मदरबोर्ड)
  • नेटवर्क एडाप्टर (एनआईसी) और उसके मैक पता
  • रैम राशि रेंज (यानी, 0-64 एमबी, 64-128 एमबी, आदि)
  • प्रोसेसर प्रकार
  • प्रोसेसर सीरियल नंबर
  • हार्ड ड्राइव डिवाइस
  • हार्ड ड्राइव वॉल्यूम सीरियल नंबर (VSN)
  • सीडी-रोम/सीडी आरडब्ल्यू/डीवीडी-रोम

आप में से कुछ चुन सकते हैं उन्हें अपने अद्वितीय कंप्यूटर पहचानकर्ता उत्पन्न करने के लिए।

+5

दूसरी ओर आप उन्हें अलग रखना चाहते हैं। यह उदाहरण के लिए अधिक स्मृति में डालने की अनुमति देगा, और जब तक वे एक समय में होते हैं तब तक आप परिवर्तनों की अनुमति दे सकते हैं। – Guffa

+0

हैश उत्पन्न करने का अच्छा विचार। –

1

आपके पास वास्तव में मदरबोर्ड आईडी, सीपीयूआईडी, डिस्क सीरियल और मैक पता है, अनुभव से उनमें से कोई भी 100% नहीं है।

हमारे आंकड़े दिखाने

  • डिस्क धारावाहिक 0.1%
  • मैक छूट रहा है 1 लापता है।3%
  • मदरबोर्ड आईडी 30% छूट रहा है
  • CPUID है लापता 99% का परीक्षण मशीनों की

0,04% कोई जानकारी नहीं झुकेंगे, हम भी कंप्यूटर का नाम नहीं पढ़ सका। ऐसा हो सकता है कि ये किसी प्रकार का आभासी पीसी, हाइपरवी या वीएमवेयर उदाहरण थे, या शायद बस लॉक हो गए थे? किसी भी मामले में आपके डिजाइन को इन मामलों से निपटने में सक्षम होना चाहिए।

डिस्क सीरियल सबसे विश्वसनीय है, लेकिन बदलने में आसान है, मैक बदला जा सकता है और इसे पढ़ने पर लागू फ़िल्टरिंग के आधार पर डिवाइस ड्राइवरों को जोड़ा जा सकता है (हाइपर, वायरशर्क इत्यादि)।

मदरबोर्ड और CPUID कभी कभी मानों अमान्य हैं "कुछ नहीं" लौटने के लिए, "AAAA ..", "XXXX ..." आदि

तुम भी ध्यान देना चाहिए कि इन कार्यों बहुत कॉल करने के लिए धीमी गति से किया जा सकता है (वे एक तेज़ पीसी पर भी कुछ सेकंड लग सकते हैं), इसलिए जितनी जल्दी हो सके पृष्ठभूमि थ्रेड पर उन्हें लात मारना लायक हो सकता है, आप आदर्श रूप से उन पर अवरुद्ध नहीं होना चाहते हैं।

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

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