Таблица команд утилиты dnscmd по работе с DNS в Windows 2008
Наверняка Вы давно уже заметили, что компания Микрософт встраивает в свои продукты возможность управления ими из командной строки. Причем логика примерно такая, что наиболее рутинные операции по настройке выполняются из графической оболочки, но тонкая настройка возможна только из командной строки. Возьмите к примеру Exchange 2007.
Хотя еще одним преимуществом командной строки является быстродействие в работе администратора, особенно когда работа ведется удаленно.
На днях обнаружил одну очень любопытную табличку по работе с DNS из командной строки с помощью утилиты dnscmd. Когда то она была частью ресурс кита, а сейчас входит в поставку Windows 2008.
Данная таблица дает общее представление о том, что можно делать с помощью этой утилиты, а также таблицу можно использовать, как справочник.
|
Function |
DNSCMD option |
Example |
Comments |
|
Do any dnscmd command on a remote system |
dnscmd servername command |
dnscmd main.bigfirm.com / zoneprint bigfirm.com |
|
|
Create a primary zone |
dnscmd / zoneadd zonename /primary |
dnscmd / zoneadd bigfirm.com /primary |
|
|
Create a secondary zone |
dnscmd / zoneadd zonename /secondary master IP address |
dnscmd / zoneadd bigfirm.com /secondary 192.168.1.1 |
|
|
Host a zone on a server based on an existing (perhaps restored) zone file |
dnscmd / zoneadd zonename /primary /file filename /load |
dnscmd / zoneadd bigfirm.com /primary /file bigfirm.com.dns /load |
|
|
Delete a zone from a server |
dnscmd / zonedelete zonename [/f] |
dnscmd / zonedelete bigfirm.com /f |
(without the /f, dnscmd asks you if you really want to delete the zone) |
|
Show all of the zones on a DNS server |
dnscmd / enumzones |
dnscmd / enumzones |
|
|
Dump (almost) all of the records in a zone |
dnscmd / zoneprint zonename |
dnscmd / zoneprint bigfirm.com |
Doesn’t show glue records. |
|
Add an A record to a zone |
dnscmd / recordadd zonename hostname A ipaddress |
dnscmd / recordadd bigfirm.com mypc A 192.168.1.33 |
|
|
Add an NS record to a zone |
dnscmd / recordadd zonename @ NS servername |
dnscmd / recordadd bigfirm.com @ A dns3.bigfirm.com |
|
|
Delegate a new child domain, naming its first DNS server |
dnscmd / recordadd zonename childname NS dnsservername |
dnscmd / recordadd bigfirm.com test NS main.bigfirm.com |
This would create the “test.bigfirm.com” DNS child domain unter the bigfirm.com DNS domain |
|
Add an MX record to a zone |
dnscmd / recordadd zonename @ MX priority servername |
dnscmd / recordadd bigfirm.com @ MX 10 mail.bigfirm.com |
|
|
Add a PTR record to a reverse lookup zone |
dnscmd / recordadd zonename lowIP PTR FQDN |
dnscmd / recordadd 1.168.192.in-addr.arpa 3 A pc1.bigfirm.com |
This is the PTR record for a system with IP address 192.168.1.3 |
|
Modify a zone’s SOA record |
dnscmd / recordadd zonename @ SOA primaryDNSservername responsibleemailipaddress serialnumber refreshinterval retryinterval expireinterval defaultTTL |
dnscmd / recordadd bigfirm.com @ SOA winserver.bigfirm.com mark.bigfirm.com 41 1800 60 2592000 7200 |
Ignores the serial number if it’s not greater than the current serial number |
|
Delete a resource record |
dnscmd / recorddelete zonename recordinfo [/f] |
dnscmd / recorddelete bigfirm.com @ NS main.bigfirm.com /f |
Again, “/f” means “don’t annoy me with a confirmation request, just do it.” |
|
Create a resource record and incorporate a nonstandard TTL |
dnscmd / recordadd zonename leftmostpartofrecord TTL restofrecord |
dnscmd / recordadd bigfirm.com pc34 3200 A 192.168.1.4 |
|
|
Reload a zone from its zone file in \windows\system32\ dns |
dnscmd / zonereload zonename |
dnscmd / zonereload bigfirm.com |
Really only useful on primary DNS servers |
|
Force DNS server to flush DNS data to zone file |
dnscmd / zonewriteback zonename |
dnscmd / zonewriteback bigfirm.com |
|
|
Tell a primary whom to allow zone transfers to |
dnscmd / zoneresetsecondaries zonename / nonsecure|securens |
dnscmd / zoneresetsecondaries bigfirm.com / nonsecure |
That example says to allow anyone who asks to get a zone transfer |
|
Enable/disable DNS NOTIFY |
dnscmd / zoneresetsecondaries zonename /notify|/ nonotify |
dnscmd / zoneresetsecondaries bigfirm.com / nonotify |
Example disables DNS notification, which is contrary to the default settings. |
|
Tell a secondary DNS server to request any updates from the primary |
dnscmd / zonerefresh zonename |
dnscmd / zonerefresh bigfirm.com |
|
|
Enable or disable dynamic DNS on a zone |
dnscmd / config zonename / allowupdate 1|0 |
1 enables, 0 disables, 0 is default |
|
|
Stop the DNS service |
Either net stop dns or sc stop dns |
|
(No dnscmd command for this) |
|
Start the DNS service |
Either net start dns or sc start dns |
|
(No dnscmd command for this) |
|
Install the DNS service on a 2008 full install system |
servermanagercmd -install dns |
|
|
|
Install the DNS service on a 2008 Server Core system |
ocsetup DNS-Server-Core-Role |
|
Case matters — ocsetup dns -server-core-role would fail |
|
Uninstall the DNS service on a 2008 Server full install system |
servermanagercmd -remove dns |
|
|
|
Uninstall the DNS service on a 2008 Server Core system |
ocsetup /uninstall DNS-Server-Core-Role |
|
|
Оригинал находится .
Похожие посты:
23 Сентябрь 2008, 17:27
Комментариев: 19








23 Сентябрь 23, 2008 г. в 19:32
Мне кажется это за гранью добра и зла. Выполнять «наиболее рутинные операции по настройке выполняются из графической оболочки» — это «ой». Надежда, что вин2008 повернется к администраторам серверов лицом, тает…
23 Сентябрь 23, 2008 г. в 19:34
… кстати, из-под Хрома у меня оформление не срабатывает.. ну, да и ф-г с ним…
24 Сентябрь 24, 2008 г. в 11:32
Как Миша Даньшин говорит, джедайство это все. Нет операций, которые нельзя было бы выполнить из GUI. Обычно, ну или я привык, что команды шелла дают больше возможностей нежели GUI, но в данном, конкретном случае нет. А если есть более удобный и наглядный инструмент, зачем оно?
Конечно не касаюсь Core. Надеюсь все поняли
24 Сентябрь 24, 2008 г. в 11:36
Если это касается «рутинных операций», то они как раз должны выполняться (или как минимум иметь такую возможность) из шелла. Запихнул в скрипт или шедуллер настроил — и спи спокойно
24 Сентябрь 24, 2008 г. в 14:17
Согласен, хотя опять же, в данном конкретном случае плохо представляю себе администрирование DNS скриптами. Хотя может просто не попадалось.
24 Сентябрь 24, 2008 г. в 15:26
Олег, если будешь на Платформе — подойди — я расскажу. Обычно, конечно, не от хорошей жизни это делается, но бывают моменты, когда надо и все. =)
27 Сентябрь 27, 2008 г. в 20:33
Спасибо за табличку
13 Октябрь 13, 2008 г. в 18:44
Товарищи вы про UNIX вообще слышали? Напридумывали PowerShell всякие.
«Микрософт встраивает в свои продукты возможность управления ими из командной строки.»
Винда это ГУЙ и кликни 10 раз пока доберешься до галочки, чтобы сделать одно действие, а я уже 10 команд введу в консоли за это время и сделаю 10 действий. Мне понятно стремление микрософта дать возможность админить из консоли, но все равно это будет жалкая пародия.
P.S.: Сам винду админю на данный момент, а до этого никсы админил. Поганно мне.
13 Октябрь 13, 2008 г. в 18:45
Ну вот, Паша, и до тебя фанатики добрались…
13 Октябрь 13, 2008 г. в 23:45
Да ладно Вам, это Вы так от не знания возможностей PoSh говорите. Известно, что шелл в юниксах не обладает тем функционалом, которым обладает сейчас PoSh.
Почитайте о возможностях PoSh и ваше мнение изменится.
Фанатики — это хорошо, главное, чтобы аргументы у них не кончались.
14 Октябрь 14, 2008 г. в 10:45
Фанатики это плохо. Даже не смешно уже. Чесслово )
14 Октябрь 14, 2008 г. в 12:09
Паша, у таких людей мнение никогда не изменится
!
14 Октябрь 14, 2008 г. в 18:56
Stanky: зря вы так
И я не ярый фанатик. вы ещё фанатиков не видели наверное, таких с пеной у рта 
14 Октябрь 14, 2008 г. в 19:08
Нет, не зря. Я не могу иначе, как фанатиком назвать человека, который в ответ на фразу «у нас есть что-то хорошее» говорит «хе, удивили, вон все было придумано до вас». Никому не интересно, на самом деле, что есть «там», если в текущей жизни жить нужно «здесь».
К тому же пока Вы либо не заберете свои слова обратно, либо не приведете наиболее яркое отличие PoSh от BaSh и прочих CSh(уж простите за поругание святынь), с Вами вообще об этом разговаривать не очень интересно.
14 Октябрь 14, 2008 г. в 20:07
However, I prefer to use Perl or Python for complicated stuff.
14 Октябрь 14, 2008 г. в 22:22
То Sadok: так и я не собираюсь писать на PoSh игруша а-ля Crisis. Хотя это и возможно (тормозить только, небось, будет.). И когда мне нужно что-то сложное, то я иду на поклон к нашему отделу автоматизации. Разница в подходах, да и программист из меня, как из дерьма палка, прямо-таки скажем.
Но в том, что касается легкого и средней тяжести скриптинга и командной строки — тут PoSh — TheBest. Особенно для таких дебилов как я, для которых знать разницу в потреблении памяти межжду foreach & Foreach-Object — это уже суперкруто.
Причем я и на шелле скриптовал и на перле что-то пытался изобразить. Потому представление имею. И в *nix, естественно, PoSh не полезу, потому что там есть отличный инструментарий, хотя и более сложный к усвоению.
Потому давайте употреблять инструменты там, где надо и перестанем орать «да все придумано до нас».
14 Октябрь 14, 2008 г. в 22:32
Александр. Мне вообще без разницы кто чего использует. Я вспоминаю собственный опыт, т.к. в данный момент для всей это фигни использую системных администраторов, и мне глубоко пофиг мышкой он машет по окнам или скрипты пишет
15 Октябрь 15, 2008 г. в 08:39
Аргумент Вы привели офигенный, я порадовался от души(не злобно
). Вот тут об этом писал.
25 Ноябрь 25, 2008 г. в 13:47
Недавно случилась ситуация: все ISA Client’ы перестали находить ISA сервер. Долго бы разберался еслиб не помог знающий человек. Вобщем проблема оказалась в следующем, перешли на 2008 DC, и соответственно DNS тоже на нем, так вот все дело оказывается в новая возможность «Windows Server 2008 DNS Block Feature», сама проблема описана тут
Вобщем решение заключалось в выполнение команды:
dnscmd /config /enableglobalqueryblocklist 0
или
dnscmd /config /globalqueryblocklist
Я постоянно просматриваю этот блог, и вспомнил что видел тут команды DNS, решил посмотреть били ли они тут, и почему я не обратил на них внимания, может и этой проблемы можно было избежать, оказалось что комманды небыли приведены, почему собственно и пишу, знайте люди есть еще и такая возможность в Windows 2008, причем возможность мало описанная!