главная    •    Новости    •    софт    •    RSS-ленты    •    реклама    •    PDA-Версия    •    Контакты
Windows XP     •    Windows 7    •    Windows 8    •    Windows 10   •    Windows Server     •    Железо
Полезные советы      •     Администрирование      •     Сеть      •     Безопасность      •     статьи
Реклама на сайте
Книга жалоб и предложений
Правила на сайте
О Winblog.ru и о копирайте
Написать в редакцию
Конфиденциальность
                       
  • Windows 10 Insider Preview: вышла сборка 14986
  • Windows 10 Creators Update сделают безопаснее для организаций
  • В Windows 10 будет поддержка шрифта Брайля
  • Выпуск тестовых сборок Windows 10 приостановлен
  • Использование утилиты netsh для управления сервером DHCP
    Каждый администратор Windows имеет дело с сервером DHCP. Многие привыкли настраивать его напрямую с контроллера домена. Более опытные ставят пакет adminpak на свои рабочие станции и управляют Active Directory и службами непосредственно со своей машины.
    А ведь управлять сервером DHCP можно не только через оснастку DHCP пакета adminpak, но и с помощью утилиты netsh. Данная утилита позволяет настраивать как серверы DHCP и WINS, так и другие службы.

    Netsh присутствует изначально в Windows XP и Windows Server 2003 и не требует установки дополнительных компонентов. Более подробную информацию по netsh можно найти по адресу: http://www.microsoft.com...

    Или же использовать команду: «netsh /?». Также сведения о netsh можно получить в Центре справки и поддержки (Start>Help and Support) операционной системы Windows.

    В данной статье мы рассмотрим создание командных файлов для формирования, настройки и удаления зон DHCP, стандартных операций при администрировании данной службы. Мне было необходимо создать большое количество одинаковых зон (для данной статьи, например, вида 10.10.25.0/29, 10.10.25.8/29) для разных сетей, но с одинаковыми параметрами, а именно: шлюз всегда имеет первый адрес в диапазоне и маска для всех зон имеет вид 255.255.255.248.

    Ситуация осложнялась тем, что эти зоны не должны входить в домен и для них приходится указывать параметры для маршрутизатора, серверов имен и т. д.

    Прежде чем экспериментировать с сервером DHCP, желательно сохранить имеющуюся конфигурацию. Это можно сделать как с помощью оснастки DHCP, так и используя netsh. Для сохранения конфигурации DHCP необходимо выполнить следующую команду:

    netsh dump \\10.10.1.3 > c:\dump.dmp


    где параметр \\10.10.1.3 — адрес DHCP-сервера, а «>» означает перенаправление результатов работы команды в файл c:\dump.dmp

    Восстановить конфигурацию сервера можно и с помощью netsh, указав другой ключ:

    netsh exec c:\dump.dmp


    Отмечу, что восстановление конфигурации сервера DHCP из дампа возможно только с консоли данного сервера. Для того чтобы восстановленные настройки вступили в силу, необходимо перезапустить службу, т. е. следует выполнить команды

    net stop dhcpserver


    и

    net stop dhcpserver


    с консоли сервера.

    В данной статье используется два сценария, которые имеют общую часть, выделенную в листинг 3. В самом начале работы любого из сценариев мы отключаем отображение исполняемых команд. Указание параметра @ отключает вывод самой команды echo off. Далее выполняем проверку версии Windows, на которой запускается сценарий (он может работать на версиях от Windows NT 4.0 до Windows XP и Windows Server 2003). Если проверка завершается ошибкой, происходит вывод информации о сценарии, и тот завершает работу.

    Если система относится к семейству Windows NT, переменной INFO присваивается значение rem, а переменной SEXIT — значение 0, и происходит переход к следующему шагу.

    Операции по созданию, настройке и активации областей адресов DHCP приведены в листинге 1.

    В команде set server_adress=10.10.1.3 мы задаем адрес сервера DHCP. Если используется конструкция вида «netsh dhcp server адрес_сервера», это позволит запускать сценарий на любой системе в домене, но только если учетная запись, под которой запускается данный сценарий, входит в группу локальных администраторов сервера DHCP.

    Далее следует набор команд Set, описывающих конфигурацию создаваемых зон:

    - set n_scope=0 — указываем начальную зону
    - set name=1 — переменная подставляется в имя зоны и ее комментарий
    - set IPTMP=10.10.25. — основная часть зоны
    - set fullscope=%IPTMP%%n_scope% — полный адрес зоны
    - set /A router=%n_scope%+1 — адрес шлюза
    - set /A s_range=%n_scope%+2 — начало диапазона адресов для выдачи
    - set /A e_range=%s_range%+4 — конец диапазона адресов для выдачи
    - set count=1 и set count_end=32 — начальный и конечный счетчики, необходимые для цикла. Вместо числа 32 в переменную count_end=32 нужно подставить число создаваемых зон. Число 32 означает, что мы хотим разбить сеть класса С на 32 подсети с диапазоном раздачи на четыре адреса.

    Далее задействуем команду netsh. Команда

    netsh dhcp server %server_adress%
    add scope %fullscope%
    255.255.255.248 RU-POS%name%


    выполняет подсоединение к серверу, создание зоны %fullscope% с маской 255.255.255.248, именем и комментарием RU-POS%name%

    Следующая команда в уже созданную зону добавляет нужный диапазон адресов:

    netsh dhcp server %server_adress%
    scope %fullscope% add iprange
    %IPTMP%%s_range%


    Последующий набор похожих команд netsh добавляет адрес шлюза, задает имена для серверов имен WINS, серверов DNS и указывает имя домена. Хочу обратить ваше внимание на параметр команды optionvalue. Числом выбирается параметр зоны, имеющий тип данных BYTE, WORD, DWORD, STRING, IPADDRESS, и далее задается значение параметра. Числовые коды соответствующих настроек зоны можно посмотреть, например, в оснастке DHCP (см. экран).

    Автоматизируем DHCP.
    Экран. Просмотр числовых кодов в оснастке DHCP


    Последняя команда в цепочке активирует зону:

    netsh dhcp server %server_adress%
    scope %fullscope% set state 1


    В следующей части сценария мы повторяем ранее выполненные действия для другой зоны и после выполнения условий окончания цикла if %count% EQU %count_end% переходим на метку :end1 и завершаем выполнение сценария. Для желающих освежить все ключи команды netsh могу посоветовать, например, подробный справочник по командам DOS на сайте http://www.ss64.com.

    Убираем ненужное
    С помощью утилиты netsh нельзя создать суперобласть (superscope), и ее приходится формировать вручную, через оснастку DHCP, зато команда netsh может ее удалять. Также можно удалять настройки зоны, суперобласти и другие параметры. Например, представим, что у нас есть суперобласть RU-POS1. Чтобы ее удалить, необходимо выполнить команду

    netsh dhcp server 10.10.1.3
    delete superscope «RU-POS1»


    Название суперобласти надо писать в кавычках и с учетом регистра. После удаления суперобласти у нас остается область RU-POS1. Чтобы удалить область, необходимо выполнить команду

    netsh dhcp server 192.168.100.2
    delete scope 10.10.25.0 dhcpfullforce


    Указание ключа dhcpfullforce позволит нам удалить область, даже если там остались выданные адреса. Если мы не хотим удалять область с адресами, следует ввести параметр dhcpnoforce.

    Приведенный сценарий всегда можно модифицировать и применять не только для создания областей, но и для их настройки и удаления. Также не забывайте задействовать функцию Backup в оснастке DHCP для сохранения конфигурации DHCP перед использованием этого или любого другого сценария или же делать дамп конфигурации.

    Автор: Николай Андрианов
    Источник: Windows IT pro


    Оцените статью:
    Голосов 5

    Материалы по теме:
  • Перенос базы данных DHCP из Windows 2000 Server/Windows Server 2003 на Windows Server 2008
  • Создание сценариев для резервирования DHCP в Windows Server 2008 с помощью утилиты Netsh
  • Установка и настройка DHCP-сервера в Windows Server 2008
  • Управление Windows XP Firewall через командную строку.
  • "Улучшаем" DHCP server.
    1. #2

      Отмечу, что восстановление конфигурации сервера DHCP из дампа возможно только с консоли данного сервера. Для того чтобы восстановленные настройки вступили в силу, необходимо перезапустить службу, т. е. следует выполнить команды

      net stop dhcpserver

      и

      net stop dhcpserver[spoiler]

      Во втором случае, наверное должно быть start ?

    2. #1

      где полный скрипт? или хотя бы ссылки на листинги... what



    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent

    Для отправки комментария, обязательно ответьте на вопрос

    Вопрос:
    Сколько будет шесть минус один?
    Ответ:*




    ВЕРСИЯ ДЛЯ PDA      СДЕЛАТЬ СТАРТОВОЙ    НАПИШИТЕ НАМ    РЕКЛАМА

    Copyright © 2006-2016 Winblog.ru All rights reserved.
    Права на статьи принадлежат их авторам. Копирование и использование материалов разрешается только в случае указания явной гиперссылки на веб-сайт winblog.ru, как на источник получения информации.
    Сайт для посетителей возрастом 18+