Всем доброго времени суток!
При переходе организации на DHCP возникла задача внести более 200 подсетей в DHCP.
Посмотрев на длинный список стало грустно :). Ибо много и руками очень долго.
Имея в своем распоряжении Windows Server 2012 захотелось как то немного упростить себе задачку.
Для начала был сформирован файл DHCP.csv в формате UTF-8 (это обязательно иначе потом получим кракозябпы ) вот такого содержания
При переходе организации на 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
}
- $dhcpsvname= “srv-dhcp.test.local” – прописываем имя своего сервера DHCP
- $dhcpdomainname= “test.local”- прописываем имя нашего домена
- $dhcpfailovername= “DHCP Hot swap”- а вот это имя профиля наработки на отказ. если у вас DHCP не собран в пул наработки на отказ своими внутренними средствами, то этот параметр можно забыть.
- В строке Set-DhcpServerv4OptionValue -ScopeId $scope.Network -DnsDomain $dhcpdomainname -DnsServer 10.10.5.11,10.10.5.12 -Router $Gateway -ComputerName $dhcpsvname- меняем адреса своих DNS серверов.
- Add-DhcpServerv4FailoverScope -ComputerName $dhcpsvname -ScopeId $scope.Network -Name $dhcpfailovername- если у Вас DHCP не настроены в отказоустойчивый пул, то эту строку нужно удалить.
Комментариев нет:
Отправить комментарий