Ich verstehe, dass das Ändern des Hostnamens / Computernamens für einen Windows-basierten Computer (Client oder Server) einen Neustart erfordert. Sobald ein Computername geändert wird, wird ein ausstehender Computername in der Systemregistrierung gespeichert und beim nächsten Start angewendet. Ich konnte nicht viel technische Dokumentation finden, warum genau dies erforderlich war.
Kann mich bitte jemand auf die technischen Herausforderungen hinweisen, die dahinter stehen, wenn eine Änderung des Hostnamens ohne einen Neustart des Systems nicht vollständig ist?
Antworten:
Sie müssen nicht sofort nach dem Umbenennen des Computers neu starten. Erwarten Sie nur nicht, dass jeder Dienst und jede Funktion den neuen Namen übernimmt.
Dinge wie Systemumgebungsvariablen werden beim Systemstart einmal gelesen. Wenn Sie diese Variablen ändern, werden sie von den verschiedenen Windows-Komponenten erst nach einem Neustart übernommen. Einige dieser Komponenten sind so tief in das Betriebssystem integriert, dass Sie genauso gut das gesamte Betriebssystem neu starten können.
Viele Windows-Dienste und -Anwendungen, sowohl von Microsoft als auch von Drittanbietern, die den Hostnamen des Systems verwenden, lesen diesen normalerweise nur einmal beim Start und nie wieder.
Ich weiß, wenn ich eine Anwendung schreibe, die den Hostnamen der Maschine liest, wäre es ziemlich dumm von mir, sie regelmäßig abzufragen, nur für den Fall, dass sie sich ändert.
In einem Betriebssystem wie Linux sehen Sie dasselbe. Sie können den Hostnamen ohne Neustart ändern, aber Sie müssen einige sehr grundlegende Komponenten des Systems neu starten, damit sie den neuen Namen übernehmen. Linux ist modularer als Windows, obwohl Windows hinsichtlich der Modularität einen langen Weg zurückgelegt hat.
Eine Möglichkeit, festzustellen, ob auf einem Windows-System eine Computerumbenennung ansteht, besteht darin, die Registrierung zu überprüfen. Wenn der Inhalt von
HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName
und
HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName
nicht identisch sind, bedeutet dies, dass auf dem System ein Umbenennungsvorgang ansteht, der beim nächsten Neustart des Systems abgeschlossen wird.
quelle
Hier ist ein Skript zum Überspringen des Neustarts: https://gist.github.com/timnew/2373475
quelle