PowerShell — мощный инструмент для автоматизации административных задач в Windows Server. Среди таких задач часто встречается перенос сетевых ролей — DHCP и DNS — на новый сервер. Такая миграция необходима при обновлении оборудования, переходе на новую версию Windows Server или консолидации инфраструктуры. В этой статье рассмотрим, как безопасно и пошагово перенести настройки DHCP и DNS с помощью PowerShell.
Зачем мигрировать DHCP и DNS через PowerShell
Ручной перенос сетевых ролей — процесс долгий и подвержен ошибкам. PowerShell же позволяет:
– Быстро экспортировать и импортировать конфигурации.
– Сохранять резервные копии настроек.
– Повторно использовать скрипты при массовых переносах.
– Автоматизировать развёртывание инфраструктуры.
Подготовка к миграции
Перед началом переноса необходимо:
1. Убедиться, что новый сервер уже установлен и находится в одной сети с текущим.
2. Проверить совместимость версий Windows Server (например, с Server 2016 на Server 2022).
3. Запустить PowerShell от имени администратора.
4. Убедиться, что на старом и новом серверах установлены роли DHCP Server и DNS Server.
Экспорт конфигурации DHCP
Для начала экспортируем настройки DHCP со старого сервера. Это можно сделать встроенной командой Export-DhcpServer.
Export-DhcpServer -ComputerName "OldServer" -Leases -File "C:\Backup\dhcp.xml" -Verbose
– Параметр -Leases сохраняет активные аренды IP-адресов.
– Файл dhcp.xml можно затем использовать для импорта на новом сервере.
Совет: на этом этапе стоит также экспортировать список резервирований и опций, чтобы избежать потери индивидуальных настроек клиентов.
Импорт конфигурации DHCP на новый сервер
Теперь переносим конфигурацию на новый сервер:
Import-DhcpServer -ComputerName "NewServer" -Leases -File "C:\Backup\dhcp.xml" -BackupPath "C:\Backup" -Verbose
После импорта обязательно проверьте корректность диапазонов и параметров аренды:
Get-DhcpServerv4Scope | Format-Table Name, StartRange, EndRange, State
Если всё отображается корректно, можно авторизовать DHCP в Active Directory:
Add-DhcpServerInDC -DnsName "NewServer.contoso.local" -IpAddress 192.168.1.10
Перенос зоны DNS
DNS-зоны переносятся с помощью PowerShell командлетов из модуля DnsServer.
Экспортируем зону:
Export-DnsServerZone -Name "contoso.local" -FileName "C:\Backup\contoso.dns"
Далее импортируем её на новом сервере:
Add-DnsServerPrimaryZone -Name "contoso.local" -ZoneFile "C:\Backup\contoso.dns"
Для проверки используйте:
Get-DnsServerZone
Проверка после миграции
После переноса DHCP и DNS выполните:
– Тестирование разрешения имён (nslookup, Resolve-DnsName).
– Проверку раздачи IP-адресов новым клиентам.
– Контроль за регистрацией записей PTR и A-записей.
Если всё корректно, старый сервер можно вывести из эксплуатации.
Советы по безопасности и резервированию
– Перед миграцией создавайте резервную копию всех зон и конфигураций.
– Используйте цифровую подпись PowerShell-скриптов (Set-ExecutionPolicy RemoteSigned).
– Храните экспортированные файлы на защищённом разделе.
– Проверяйте доступы к папкам DHCP и DNS только для администраторов.
Миграция DHCP и DNS с помощью PowerShell — надёжный и повторяемый способ переноса сетевой конфигурации без простоев и ручных ошибок. Автоматизация позволяет сэкономить время, упростить администрирование и обеспечить точность данных. При правильной подготовке и тестировании процесс занимает минимальное время, а результат — полностью рабочая инфраструктура на новом сервере.