2011-01-20 26 views
5

पर नेटबीओएसओ नाम को हल करें link के अनुसार, नेटबीओएसओएस अब विंडवॉस विस्टा से शुरू नहीं हुआ है। निश्चित रूप से, मैं अब नेटवर्क गुणों से किसी भी NetBIOS नाम नहीं देख सकता।विंडोज 7

हालांकि, जब मैं अपने विंडोज 7 पर कोड लिख रहा हूं, तब भी मुझे कई जगहों पर नेटबीओएसओ नामों का सामना करना पड़ता है। उदाहरण

  1. के लिए मैं अभी भी अपने मशीन, मैं कहाँ का मानना ​​है MYDOMAIN कोई NetBIOS नाम है लॉगऑन करने के लिए "MYDOMAIN \ हार्वे" का उपयोग कर सकते हैं।
  2. पर्यावरण चर COMPUTERNAME और USERDOMAIN अभी भी NetBIOS नाम हैं। मुझे यहां एक DNS नाम देखने की उम्मीद है
  3. मेरे SQL सर्वर प्रबंधन स्टूडियो से आने वाले मेरे SQL सर्वर इंस्टेंस नाम अभी भी MYMACHINE \ Instance1 की तरह कुछ है।

मुझे लगता है कि माइक्रोसॉफ्ट अभी भी पिछड़े संगतता के लिए इसके कुछ टुकड़े बनाए रखता है। मैं समझना चाहता हूं कि कैसे विंडोज 7 NetBIOS नाम को आईपी पते पर हल करने जा रहा है। मुझे यह आलेख बताता है कि NetBIOS name resolution काम करता है लेकिन मुझे डर है कि यह विंडोज 7 में अब सत्य नहीं है। कम से कम मेरे लिए कोई WINS सर्वर नहीं है।

मेरा आखिरी सवाल यह है कि मैं NetBIOS नाम संकल्प प्रोग्रामेटिक रूप से कैसे कर सकता हूं, सी # में प्राथमिकता से। मैं PInvoke का उपयोग करने के लिए ठीक हूँ।

UDAPTE

Tridus सही था। मैं NetBIOS नाम को हल करने के लिए System.Net.Dns.GetHostAddresses ("hostname") का उपयोग कर सकता हूं। मैंने हुड के नीचे क्या हो रहा है यह देखने के लिए परावर्तक का उपयोग किया। यह gethostbyname() from ws2_32.dll

Here पर कॉल कर रहा है, यह बताता है कि gethostbyname() NetBIOS नाम समाधान करेगा।

  1. मेल खाने वाले नाम के लिए स्थानीय होस्ट नाम देखें।
  2. मिलान करने वाली नाम प्रविष्टि के लिए होस्ट फ़ाइल की जांच करें।
  3. यदि कोई DNS सर्वर कॉन्फ़िगर किया गया है, तो क्वेरी करें।
  4. यदि कोई मिलान नहीं मिला है, तो NetBIOS नाम-रिज़ॉल्यूशन का प्रयास करें।

इस link में समर्थित नहीं NetBIOS के रहस्य के बारे में, मुझे लगता है कि यह सिर्फ मतलब है एपीआई समर्थित नहीं है। People in ServerFault लगता है कि NetBIOS अभी भी विंडोज में समर्थित है 7.

+0

मुझे संदेह है कि यदि आप सर्वरफॉल्ट पर थे तो आपको इस पर अधिक कर्षण मिल सकता है। – bryanbcook

+0

@ ब्रायनबूक आखिरी पंक्ति को ध्यान में रखते हुए, मुझे संदेह है कि यह मामला नहीं हो सकता है। :-) –

+0

@ हार्वे Kwok - तो आपका लक्ष्य स्थानीय कंप्यूटर पर कंप्यूटर के आईपी पते को अपने कंप्यूटर नाम के आधार पर निर्धारित करना है? – Justin

उत्तर

4

वर्ष प्रोटोकॉल के रूप में NetBIOS ही समर्थित नहीं किया जा सकता है, लेकिन SMB/CIFS अब भी है और यही कारण है फ़ाइल साझा और इस तरह के लिए \ होस्ट नाम अभी भी काम करता है।

System.Net.Dns.GetHostAddresses ("होस्ट नाम") एक डोमेन पर

मैं तो यह बस हो सकता है:

कैसे एक नाम को हल करने के लिए के रूप में, मैं यह करने में सक्षम था एक DNS प्रत्यय जोड़ना और एक DNS लुकअप करना, लेकिन यह मेरे लिए काम किया। कोशिश करो। :)

+0

संकेत के लिए धन्यवाद :) –