विंडोज में कंप्यूटर के नाम परिवर्तन को रिबूट की आवश्यकता क्यों है?


30

मैं समझता हूं कि विंडोज आधारित मशीन (क्लाइंट या सर्वर) के लिए होस्ट नाम / कंप्यूटर का नाम बदलने के लिए रिबूट की आवश्यकता होती है। मुझे लगता है कि एक बार कंप्यूटर का नाम बदल देने के बाद, एक लंबित मशीन का नाम सिस्टम रजिस्ट्री में जमा हो जाता है और अगले बूट पर लगाया जाता है। मैं वास्तव में यह क्यों आवश्यक है पर बहुत तकनीकी दस्तावेज नहीं मिल रहा था।

क्या कोई कृपया मुझे तकनीकी चुनौतियों पर सही दिशा में इंगित कर सकता है कि सिस्टम रिबूट के बिना एक होस्ट नाम परिवर्तन पूरा क्यों नहीं होता है?


1
एक रिबूट की आवश्यकता क्यों है, इस पर MSDN लेख के लिंक के साथ स्वीकृत उत्तर में एक टिप्पणी जोड़ें।
अमीर दीन

मैं यह नहीं कहूंगा कि जुड़ा हुआ लेख बताता है कि रिबूट की आवश्यकता क्यों है। आखिरकार, अगर यह केवल उस दूसरे स्थान पर कॉपी करने का मामला था, तो नाम बदलने की कमान आगे जा सकती है और इसे कॉपी कर सकती है। स्वीकृत उत्तर में मुख्य वाक्य है "कई विंडोज़ सेवाएं और एप्लिकेशन, जो Microsoft द्वारा लिखित और साथ ही तृतीय पक्ष, जो सिस्टम के होस्टनाम का उपयोग करते हैं, आमतौर पर इसे केवल एक बार स्टार्टअप पर पढ़ते हैं और फिर कभी नहीं पढ़ते हैं।"
टूलमेकरसेव

जवाबों:


56

आपको मशीन का नाम बदलने के तुरंत बाद पुनरारंभ करने की आवश्यकता नहीं है ... बस हर सेवा और फ़ंक्शन को नए नाम पर लेने की उम्मीद नहीं है।

सिस्टम स्टार्टअप पर, सिस्टम पर्यावरण चर जैसी चीजें एक बार पढ़ी जाती हैं। यदि आप उन चरों को बदलते हैं, तो विंडोज के विभिन्न घटक पुनः आरंभ होने तक उन पर नहीं चढ़ेंगे। उन घटकों में से कुछ ओएस के साथ बहुत गहराई से एकीकृत हैं, आप पूरे ओएस को फिर से शुरू कर सकते हैं।

कई विंडोज़ सेवाएं और एप्लिकेशन, जो Microsoft और साथ ही तृतीय पक्ष द्वारा लिखे गए हैं, जो सिस्टम के होस्टनाम का उपयोग करते हैं, आमतौर पर इसे केवल एक बार स्टार्टअप पर पढ़ते हैं और फिर कभी नहीं पढ़ते हैं।

मुझे पता है कि अगर मैं एक एप्लिकेशन लिख रहा था जो मशीन के होस्टनाम को पढ़ता है, तो समय-समय पर इसे बदलने की स्थिति में समय-समय पर चुनाव कराना मेरे लिए बहुत मूर्खतापूर्ण होगा।

लिनक्स जैसे ऑपरेटिंग सिस्टम में, आप एक ही चीज़ देखते हैं। आप रिबूट किए बिना होस्टनाम को बदल सकते हैं, लेकिन नए नाम पर लेने के लिए आपको सिस्टम के कुछ मूल घटकों को पुनः आरंभ करना होगा। लिनक्स विंडोज की तुलना में अधिक मॉड्यूलर है, हालांकि विंडोज मॉड्यूलरता के मामले में एक लंबा सफर तय कर चुका है।

यह पता लगाने का एक तरीका है कि क्या एक विंडोज़ सिस्टम कंप्यूटर का नाम बदलने के लिए लंबित है, रजिस्ट्री की जाँच करना है। अगर की सामग्री

HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName

तथा

HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName

समान नहीं हैं, इसका मतलब है कि सिस्टम का एक लंबित नामकरण ऑपरेशन है जो अगली बार सिस्टम रिबूट को पूरा करेगा।


10
टिप रयान के लिए धन्यवाद। मैंने System.Environment.MachineName (dotnetpeek का उपयोग करके) कोड देखा। यह कर्नेल 32.dll में GetComputerName फ़ंक्शन का उपयोग करता है जो: "स्थानीय कंप्यूटर के NetBIOS नाम को पुनः प्राप्त करता है। यह नाम सिस्टम स्टार्टअप पर स्थापित होता है, जब सिस्टम इसे रजिस्ट्री से पढ़ता है।" ( msdn.microsoft.com/en-us/library/windows/desktop/… )। दूसरे शब्दों में, आप सही ढंग से इसके स्टार्टअप पर कैश्ड हैं। बस इसे वापस करने के लिए कुछ प्रलेखन चाहता था। धन्यवाद।
अमीर दीन १ '

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.