среда, 19 апреля 2017 г.

Добавление списка подсетей в DHCP с помощью Powershell.

Всем доброго времени суток!
При переходе организации на DHCP возникла задача внести более 200 подсетей в DHCP.

Посмотрев на длинный список стало грустно :). Ибо много и руками очень долго.
Имея в своем распоряжении Windows Server 2012 захотелось как то немного упростить себе задачку.
Для начала был сформирован файл DHCP.csv в формате UTF-8 (это обязательно иначе потом получим кракозябпы  )  вот такого содержания
Description;Vlan;Network;Mask
Тестовая подсеть;11;10.192.11.0;255.255.255.0
Далее был написан простой скрипт, с помощью которого все это было добавлено
Import-Module DhcpServer
$scopes = Import-Csv -Path .\DHCP.csv -Delimiter ‘;’
$dhcpsvname= “srv-dhcp.test.local”
$dhcpdomainname= “test.local”
$dhcpfailovername= “DHCP Hot swap”
ForEach ($scope in $scopes) {
$StartRange = $scope.Network.replace(‘.0′,’.2′)
$EndRange = $scope.Network.replace(‘.0′,’.254′)
$Gateway = $scope.Network.replace(‘.0′,’.1′)
$Mask = $scope.Mask
$Description = (“{0} (VLAN {1})” -f $scope.Description, $scope.vlan)
$Name = ($scope.Network + ‘/24’)
Add-DhcpServerv4Scope -ComputerName $dhcpsvname -Name $Name -StartRange $StartRange -EndRange $EndRange -SubnetMask $scope.Mask -State Active -Description $Description
Set-DhcpServerv4OptionValue -ScopeId $scope.Network -DnsDomain $dhcpdomainname -DnsServer 10.10.5.11,10.10.5.12  -Router $Gateway -ComputerName $dhcpsvname
Add-DhcpServerv4FailoverScope -ComputerName $dhcpsvname -ScopeId $scope.Network -Name $dhcpfailovername
}
теперь краткий коментарий к скрипту:
  1. $dhcpsvname= “srv-dhcp.test.local” – прописываем имя своего сервера DHCP
  2. $dhcpdomainname= “test.local”- прописываем имя нашего домена
  3. $dhcpfailovername= “DHCP Hot swap”- а вот это имя профиля наработки на отказ. если у вас DHCP не собран в пул наработки на отказ своими внутренними средствами, то этот параметр можно забыть.
  4. В строке Set-DhcpServerv4OptionValue -ScopeId $scope.Network -DnsDomain $dhcpdomainname -DnsServer 10.10.5.11,10.10.5.12  -Router $Gateway -ComputerName $dhcpsvname-  меняем адреса своих DNS серверов.
  5. Add-DhcpServerv4FailoverScope -ComputerName $dhcpsvname -ScopeId $scope.Network -Name $dhcpfailovername- если у Вас DHCP не настроены в отказоустойчивый пул, то эту строку нужно удалить.
Все. Запускаем скрипт с повышенными правами и наслаждаемся списком подсетей у себя в консоли DHCP.

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

Отправить комментарий

При обновлении VCenter 6.7 до VCenter 7.0 ошибка Host not found

 Всем доброго времени суток! При обновлении VCenter 6.7 до версии 7.0 пришлось столкнуться со следующей ошибкой при обновлении , точнее в пр...