Налаштування 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

Перед використанням, потрібно імпортувати DHCP модуль в сесію:

Import-Module DHCPServer

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

(Get-Command -Module DHCPServer) .count

цілих 121! Дані командлети можуть бути використання для управління DHCP серверами на Windows Server 2008 / R2 і Windows Server 2012 / R2.

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

Get-DhcpServerInDC
Отримаємо список DHCP областей на обраному сервері:

Get-DhcpServerv4Scope -ComputerName msk-dhcp1

Якщо потрібно показати більшу кількість полів (Delay, Description, Name і т.д.)

Get-DhcpServerv4Scope -ComputerName msk-dhcp1 | FL *

Якщо потрібно відобразити дані про 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

Створимо резервацію для клієнта з 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:

Аналогічна інформація для конкретної області може бути отримана за допомогою командлета 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.