Я был очень рад услышать о том, что Windows Server 2008 имеет вариант установки Server Core с управлением из командной строки. В этой заметке речь пойдет о двух задачах, связанных с началом работы системы Server Core: изменении автоматически назначенного имени сервера и указании суффикса DNS.

Новое имя

Microsoft реализует очень правильную политику, которая не требует особенного внимания к серверам во время процесса установки, и эта политика работает в Server 2008. Программа установки не спрашивает, как называть серверы, а сама присваивает им длинные имена. Поэтому первое, что нужно сделать, — это попытаться изменить имя системы.

Можно обратиться к проверенной команде Netdom, чтобы дать новое имя компьютеру с Server Core. В зависимости от версии Windows, этот инструмент обычно находится в комплекте ресурсов или в Support Tools, а теперь разработчики Microsoft сделали его официальной частью Windows. Для получения нового имени компьютера следует ввести команду

netdom renamecomputer
/newname: /force /reboot

Команда Netdom может содержать много ключей, но все они понятны. Первый параметр — это система, имя которой необходимо изменить. Примечательно, что команда Netdom Renamecomputer действует и на удаленные системы! Это превосходно, особенно если на целевой системе вы оставили открытыми группу портов, которые (по умолчанию) работают на Windows XP SP2 или более новых версиях. Параметр/newname (новое имя) очевиден; параметр/force позволяет пропускать предупреждение операционной системы о переименовании этой системы, и наконец, параметр/reboot дает системе команду на перезагрузку для завершения процедуры переименования в Windows. Кстати о перезагрузке: системы UNIX и Linux обходятся без перезагрузки, зачем же перезагрузка Windows?

Например, если процедура установки Windows дала моей системе с Server Core имя WIN-6 MBQNYYV5 EG, я мог бы присвоить ей имя Server1 таким образом:

netdom renamecomputer WIN-6MBQNYYV5EG
/newname: Server1 /force /reboot

Недостаток этой команды состоит в том, что нужно вводить длинное бессмысленное имя, которое получила система. Чтобы не вводить имя, можно просто ввести команду Hostname (команда выведет имя сервера), затем скопировать имя в буфер обмена и вставить его в команду Netdom. Можно воспользоваться тем, что системы Windows хранят свое имя в переменной среды %computername%. Таким образом, чтобы изменить имя сервера на имя Server1, можно ввести команду

netdom renamecomputer %computername%
/newname: Server1 /force /reboot

Добавление суффикса DNS

При изменении имени системы часто требуется указать не только имя хоста, но и суффикс DNS для системы. Допустим, из соображений безопасности сервер будет включен в рабочую группу. Да, Web-сервер можно сделать членом домена, но меня бы это лишило сна. Или, например, необходимо создать первый сервер DNS в сети. И если не поменять суффикс, то записи хоста сервера не будут правильно отображаться в записях Start of Authority — SOA, и с ними возникнут проблемы. Можно без труда изменить суффикс DNS, имея графический интерфейс, но не в командной строке. Поэтому придется проявить смекалку.

Итак, как же нам после переименования системы добавить суффикс DNS из командной строки? Насколько я могу судить, надо изменить только реестр. Откройте Regedit — один из немногих инструментов с графическим интерфейсом, который работает на Server Core — и перейдите к разделу HKEY_LOCAL_MACHINE SYSTEMCurrent ControlSetServicesTcpipParameters. Измените в записи NV Domain суффикс DNS на нужный. Если записи NV Domain еще нет, создайте ее; это запись типа REG_SZ.

Если же полностью пренебречь графическим интерфейсом, то можно выполнить эту процедуру из командной строки с помощью команды Reg. Например, чтобы присвоить суффиксу DNS значение bigfirm.com, я воспользовался командой

reg add HKLMSystemcurrentcontrolset
services cpipparameters /v “NV Domain”
/d “bigfirm.com” /f.


Марк Минаси - редактор Windows IT Pro, MCSE и автор книги Mastering Windows Server 2003 (издательство Sybex). mark@minasi.com