Powershell – приводим в порядок настройки резервирований адресов на DHCP серверах


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

Проблема: со временем резервирования на двух серверах приходят в хаос из-за ошибок администраторов – на одном сервере резервирование адреса может быть сделано, а на другом нет.

Задача: сделать резервирования адресов на обоих серверах одинаковым.

Решение:

Мы не будем анализировать правильность резервирований, допустим, что они все верные и просто восстановим симметрию.

Выполнить такую работу вручную очень трудоемко: можно потратить многие часы, а то и дни.

Можно решить задачу традиционным способом: выгрузить конфигурацию DHCP серверов с помощью netsh в текстовые файлы, написать скрипты разборки и анализа конфигурации, обработать тестовые файлы и получить командный файл для той же netsh. На такую работу можно потратить несколько часов.

Используя командлеты работы с DHCP, которые теперь есть в Windows Server 2012 и соответствующем RSAT, можно решить задачу за несколько минут:

 

$ServerName1 = «dhcp1.domain.ru»

$ServerName2 = «dhcp2.domain.ru»

 

$ServerName = $ServerName1

$res1 =Get-DhcpServerv4Scope -ComputerName $ServerName | % {Get-DhcpServerv4Reservation -ScopeId $_.ScopeId -ComputerName $ServerName}

 

$ServerName = $ServerName2

$res2 =Get-DhcpServerv4Scope -ComputerName $ServerName | % {Get-DhcpServerv4Reservation -ScopeId $_.ScopeId -ComputerName $ServerName}

 

 

$c = Compare-Object -ReferenceObject $res1 -DifferenceObject $res2 -Property IPAddress -PassThru

 

$ServerName = $ServerName1

$c | ? { $_.SideIndicator -eq «=>»} | Add-DhcpServerv4Reservation -ComputerName $ServerName

 

$ServerName = $ServerName2

$c | ? { $_.SideIndicator -eq «<=»} | Add-DhcpServerv4Reservation -ComputerName $ServerName

 

Это все!!! Улыбка

Все командлеты для работы с DHCP сервером вы можете получить командой:

Get-Command *DHCP*

 

Их более 100!

 

Реклама

комментариев 6

  1. Вы не написали, что в Windows 2012 появилась новая функция у DHCP — Отработка отказа — которая позволяет в несколько кликов настраивать два DHCP на совместную работу в определенной области адресов с балансировкой нагрузки и реплицированием данных между собой. http://technet.microsoft.com/ru-ru/library/hh831385.aspx

  2. Илья, есть же «стандартный» скрипт по синхронизации настроек между двумя отказоустойчивыми узлами — http://gallery.technet.microsoft.com/scriptcenter/Auto-syncing-of-configurati-6eb54fb0. Единственный момент — вообще все изменения надо выполнять на одном узле. На второй они будут приезжать с этим скриптом (который, например, будет запускаться по расписанию).

  3. […] 2.       Powershell – приводим в порядок настройки резервирований а… […]

  4. В «Windows 2012 появилась новая функция у DHCP – Отработка отказа» насколько я понял, по умолчанию она не синхронизирует созданные резервации. Нужно или запускать вручную из GUI или использовать powershell скрипт. Это действительно так или плохо смотрел?

Добавить комментарий для Powershell – поиск опций в диапазонах DHCP | ILYA Sazonov: ITPro Отменить ответ

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

%d такие блоггеры, как: