Настройка DHCP сервера с помощью PowerShell | Windows для системных администраторов

Настройка DHCP сервера с помощью PowerShell

В RSAT для Windows 10 отсутствует привычная консоль управления DHCP сервером (Dhcpmgmt.msc), а вместо нее предлагается использовать эквивалентные команды Powershell. Тем самым нас аккуратно подводят к мысли, что, скорее всего, и в грядущем релизе Windows Server 2016 конфигурация DHCP сервера будет осуществляться только из командной строки PowerShell. В этой статье мы познакомимся с основными командами PowerShell в Windows Server 2012 R2, необходимых для настройки и управления DHCP сервером.

Для возможности управления DHCP сервером нам понадобится загрузить модуль PoSh DHCPServer. По-умолчанию этот модуль в PowerShell не загружен. В том случае, если конфигурирование выполняется непосредственно с DHCP сервера, установить роль DHCP со средствами управления нужно так:

Add-WindowsFeature -Name DHCP –IncludeManagementTools

Если подразумевается управление удаленным DHCP сервером, нужно установить соответствующий компонент RSAT:

Add-WindowsFeature RSAT-DHCP

Установка RSAT DHCP инструментов на Windows Server 2012 R2

Перед использованием, нужно импортировать DHCP модуль в сессию:

Import-Module DHCPServer

Посмотрим, сколько командлетов доступно в рамках этого модуля:

(Get-Command -Module DHCPServer).count

Колиучтво комманд в модуле DHCPЦелых 121! Данные командлеты могут быть использования для управления DHCP серверами на Windows Server 2008 /R2 и Windows Server 2012 / R2.

Выведем список авторизованных DHCP серверов в Active Directory:

Get-DhcpServerInDC
Вывысти список DHCP серееров в доменеПолучим список DHCP областей на выбранном сервере:

Get-DhcpServerv4Scope –ComputerName msk-dhcp1

Если нужно показать большее количество полей (Delay,  Description, Name и т.д.)

Get-DhcpServerv4Scope –ComputerName msk-dhcp1| FL *

Список областей на DHCP сервереЕсли нужно отобразить данные о IPv6 областях:

Get-DHCPServerv6Scope

Получим настройки для конкретной области:

Get-DhcpServerv4Scope –ComputerName msk-dhcp1–ScopeID Helpdesk 10.10.1.0

Для авторизации нового DHCP сервера в домене Active Directory:

Add-DhcpServerInDC -DnsName msk-dhcp2.winitpro.ru -IPAddress 10.0.1.21

Создадим новую область с диапазоном адресов с 10.10.1.1 до 10.10.1.254:

Add-DHCPServerv4Scope -EndRange 10.10.1.254 -Name Office -StartRange 10.10.1.1 -SubnetMask 255.255.255.0 -State Active –ComputerName msk-dhcp1

Настроим следующие параметры DHCP сервера: DNS сервер, домен и адрес маршрутизатора

Set-DHCPServerv4OptionValue -ComputerName msk-dhcp1 -DnsServer 10.10.1.5 -DnsDomain winitpro.ru -Router 10.10.1.1

Вывести список настроенных опций DHCP сервера можно так:

Get-DHCPServerv4OptionValue -ComputerName msk-dhcp1 | Format-List

Настроим опции области:

Set-DHCPServerv4OptionValue -ComputerName msk-dhcp1 -ScopeId 10.10.1.0 -DnsServer 10.10.1.6 -DnsDomain winitpro.ru -Router 10.10.1.1

Выведем список настроенных параметров зоны:

Get-DHCPServerv4OptionValue -ComputerName msk-dhcp1 -ScopeId 10.10.1.0 | Format-List

Исключим диапазон адресов с 10.10.1.1 по 10.10.1.40 из раздаваемых адресов для определенной области:

Add-Dhcpserverv4ExclusionRange -ComputerName msk-dhcp1 -ScopeId 10.10.1.0 -StartRange 10.10.1.1 -EndRange 10.10.1.40

Выведем текущий список арендованных адресов для области 10.10.1.0

Get-DHCPServerv4Lease -ScopeId 10.25.4.0 -ComputerName msk-dhcp1

Список аренд на DHCP сервереСоздадим резервацию для клиента с IP адресом 10.10.1.88:

Get-DhcpServerv4Lease -ComputerName msk-dhcp1 -IPAddress 10.10.1.88| Add-DhcpServerv4Reservation -ComputerName msk-dhcp1

Можно массово зарезервировать IP адреса для компьютеров по списку из csv файла. Для этого создайте текстовый файл в формате:

ScopeId,IPAddress,Name,ClientId,Description
10.10.1.0,10.10.1.88,Client1,ba-ab-5c-3d-4e-6f,Reservation PC-msk-s1
10.10.1.0,10.10.1.89,Client2,ba-ab-5c-5d-2e-3f,Reservation PC-msk-s2

Сохраните файл с именем c:\dhcp\DHCPReservations.csv и запустите следующую команду, которая импортирует данные из csv файла и создаст резервации для клиентов:

Import-Csv –Path c:\dhcp\DHCPReservations.csv | Add-DhcpServerv4Reservation -ComputerName msk-dhcp1

Отключить область на DHCP сервере:

Set-DhcpServerv4Scope -ComputerName msk-dhcp1-ScopeId 10.10.1.0-State InActive

Активировать область:

Set-DhcpServerv4Scope -ComputerName msk-dhcp1-ScopeId 10.10.1.0-State Active

Удалить область с DHCP сервера:

Remove-DHCPServerv4Scope -ComputerName msk-dhcp1-ScopeId 10.10.1.0 -Force

Возможно получить статистику DHCP сервера (количество областей, резерваций, процент использования адресов и пр.).

Get-DhcpServerv4Statistics -ComputerName msk-dhcp1:

Статистика использования DHCP сервера

Аналогичная информация для конкретной области может быть получена с помощью командлета Get-DhcpServerv4ScopeStatistics.

Опции для DHCP сервера добавляется так (к примеру, WPAD):

Add-DhcpServerv4OptionDefinition -ComputerName msk-dhcp1-Name WPAD -OptionId 252 -Type String

Конфигурацию DHCP сервера можно экспортировать в указанный XML файл с помощью команды:

Export-DHCPServer -ComputerName msk-dhcp1 -File C:\dhcp\dhcp-export.xml

Совет. Заданием с такой командой в планировщике задач можно реализовать регулярное резервное копирование конфигурации DHCP сервера.

В дальнейшем эти настройки DHCP сервера можно импортировать на другой DHCP сервер (к примеру, с именем msk-dhcp2):

Import-DHCPServer -ComputerName msk-dhcp2 -File C:\dhcp\dhcp-export.xml -BackupPath C:\dhcpbackup\

Совет. Мы уже частично рассматривали примеры использования PoSh для управления DHCP сервером и переноса настроек в статье Миграция DHCP сервера на Windows Server 2012 со старых версий Windows Server.
Еще записи по теме: Windows Server 2012 R2
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:

Комментариев: 8

Оставить комментарий
  1. Дмитрий | 17.03.2016

    Странно, но в моем RSAT для win10 есть нормальная консоль, которая вызывается как отдельно, так и из диспетчера серверов. Настраивать dhcp через ps, безусловно, круто, но хочется верить, что до этого не дойдет… Даже если в rsat что-то не включили, на самом сервере эта консоль точно никуда не денется.

    Ответить
  2. serg | 15.04.2016

    Подскажите пожалуйста,
    В организации в DHCP резервирую адреса с целью учета компов. Не могу найти, где можно посмотреть время последней аренды зарезервированного адреса, чтоб выявить компы, которые больше не подключаются, или как-то можно иным способом выявить неживые компы? Нечто подобное Lease Expiration? по идее в PowerShell где-то должно быть такое поле.

    Ответить
    • itpro | 19.04.2016

      Посмотрел сейчас с помощью команду Get-DhcpServerv4Lease -scope 10.10.13.0, у активных резерваций нет поля с датой получения/освобождения адреса.
      Скорее всего на dhcp этой информации нет.
      Наверно проще всего определить неактивных клиентов по атрибуту lastLogonTimestamp в AD.

      Ответить
  3. Дмитрий | 17.05.2016

    Как я понял, не получится просто скопировать папку с модулем DHCPServer на другой пк. Командлеты выполняются с ошибкой «неправильное пространство имен»

    Ответить
    • itpro | 18.05.2016

      Как я понял, вы хотите запустить модуль на младших версиях Windows? Скорее всего на клиента нужно дополнительно установить Powershell 4.0 или выше

      Ответить
      • Дмитрий | 18.05.2016

        Скидывал на Windows 8.1 и 2012 R2, на обоих PoSh 4.0.
        Правда копировал с хоста на Windows 10 соответственно с версией 5.0.

        Ответить
  4. Sasha Odarchuk | 30.05.2016

    Windows 2012 R2
    Клиентом был успешно арендован IP-адрес (допустим в ХХ:УУ) Спустя некоторое время этот ІР успешно добавили в область резервации. Время этого действия — я знаю. Как узнать время первоначального получения IP-адреса.
    Хелп

    Ответить
    • itpro | 07.06.2016

      DHCP логи (C:\Windows\System32\dhcp) доступны только за последние 7 дней и если нет собственного механизма ротирования и бэкапа старых логов, и аренда клиента была больше чем 7 дней назад, информацию о первоначальной аренде найти не получится.

      Ответить
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

Сказать Спасибо! можно на этой странице или (еще лучше) поделиться с друзями ссылкой на понравившуюся статью в любимой социальной сети(специально для этого на сайте присуствуют кнопки популярных соц. сетей).

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)



MAXCACHE: 0.25MB/0.00105 sec