Bilgisayar adı değişikliği neden Windows'da yeniden başlatılmasını gerektiriyor?


30

Windows tabanlı bir makinenin (İstemci veya Sunucu) ana bilgisayar adını / bilgisayar adını değiştirmenin yeniden başlatma gerektirdiğini biliyorum. Bir bilgisayar adı değiştiğinde, bekleyen bir makine adının sistem kayıt defterinde saklandığını ve bir sonraki önyüklemede uygulandığını fark ediyorum. Niçin gerekli olduğu konusunda tam olarak teknik dokümantasyon bulamadım.

Birisi lütfen bir ana bilgisayar adı değişikliğinin sistem yeniden başlatılmadan tamamlanmadığında arkasındaki teknik zorluklar konusunda beni doğru yönde işaret edebilir mi?


1
Yeniden başlatmanın neden gerekli olduğu konusunda bir MSDN makalesine bağlantı içeren kabul edilen cevaba yorum eklendi.
Ameer Deen

Bağlantılı makalenin neden yeniden başlatmanın gerekli olduğunu açıkladığını söyleyemem . Ne de olsa, onu başka bir yere kopyalamakla ilgiliyse, adı değiştirme komutu devam edip kopyalayabilirdi. Kabul edilen yanıttaki anahtar cümle "Hem Microsoft tarafından hem de üçüncü taraf olarak, sistemin ana bilgisayar adını kullanan birçok Windows hizmeti ve uygulaması, genellikle yalnızca başlangıçta yalnızca bir kez okudu ve bir daha asla okumadı."
ToolmakerSteve

Yanıtlar:


56

Makineyi yeniden adlandırdıktan hemen sonra yeniden başlatmanız gerekmez ... her hizmeti ve işlevi yeni adı almaya beklemeyin.

Sistem ortamı değişkenleri gibi şeyler sistem başlangıcında bir kez okunur. Bu değişkenleri değiştirirseniz, Windows'un çeşitli bileşenleri yeniden başlatılıncaya kadar algılamaz. Bu bileşenlerden bazıları işletim sistemi ile çok derinlemesine tümleşiktir, tüm işletim sistemini yeniden başlatabilirsiniz.

Sistemin ana bilgisayar adını kullanan, hem Microsoft tarafından hem de üçüncü taraf tarafından yazılmışlar olan birçok Windows hizmeti ve uygulaması, genellikle başlangıçta yalnızca bir kez okur ve bir daha asla okumaz.

Makinenin ana bilgisayar adını okuyan bir uygulama yazıyorsam, değişmesi durumunda periyodik olarak anket yapmak benim için çok saçma olacağını biliyorum.

Linux gibi bir işletim sisteminde aynı şeyi görürsünüz. Ana bilgisayar adını yeniden başlatmadan değiştirebilirsiniz, ancak yeni adı almalarını sağlamak için sistemin bazı temel bileşenlerini yeniden başlatmanız gerekir. Linux, modülerlik konusunda uzun bir yol kat etmesine rağmen, Windows'tan daha modülerdir.

Bir Windows sisteminin bilgisayar yeniden adlandırma işlemi beklemekte olup olmadığını algılamanın bir yolu kayıt defterini denetlemektir. Eğer içeriği

HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName

ve

HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName

aynı değildir, bu, sistemin bir sonraki yeniden başlatılmasında tamamlanacak bekleyen bir yeniden adlandırma işlemine sahip olduğu anlamına gelir.


10
Bahşiş için teşekkürler Ryan. System.Environment.MachineName (dotnetpeek kullanarak) kodunu aradım. Kernel32.dll içindeki GetComputerName işlevini kullanır: "Yerel bilgisayarın NetBIOS adını alır. Bu ad, sistem kayıt defterinden okuduğunda sistem başlangıcında oluşturulur." ( msdn.microsoft.com/en-us/library/windows/desktop/… ). Başka bir deyişle, haklısın basitçe başlangıçta önbelleğe alınmış. Sadece yedeklemek için bazı belgeler istedim. Teşekkürler.
Ameer Deen

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.