P
PowerShell Азбука - Иван Сёмин
@azbuka_powershell115 подп.
296просмотров
9 августа 2024 г.
📷 ФотоScore: 326
Тема: Как получить список DNS серверов на сетевых интерфейсах на группе удаленных хостов Я произвожу обновление контроллеров домена до Windows Server 2022, а это подразумевает, что по хорошему перед понижением роли DC нужно убрать из DNS на серверах, чтобы запросы ходили корректно. Ниже я приведу несколько PowerShell скриптов позволяющих это сделать на куче серверов из файла или например, только по контроллерам домена в домене или лесу. # Получаем список серверов из текстового файла $servers = Get-Content -Path "C:\Temp\servers.txt" # Проходим по каждому серверу foreach ($server in $servers) { # Получаем список сетевых подключений на сервере $networkAdapters = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -ComputerName $server | Where-Object { $_.IPEnabled -eq $true } # Проходим по каждому сетевому подключению foreach ($adapter in $networkAdapters) { # Получаем список DNS серверов на сетевом подключении $dnsServers = $adapter.DNSServerSearchOrder # Выводим данные foreach ($dnsServer in $dnsServers) { Write-Output "$server, $($adapter.Description), $($dnsServer)" } } } Пример для получения на контроллерах домена: # Импортируем модуль Active Directory Import-Module ActiveDirectory # Получаем всех контроллеров домена $DomainControllers = Get-ADDomainController -Filter * # Создаем массив для хранения информации $Result = @() # Проходим по каждому контроллеру домена foreach ($DC in $DomainControllers) { # Получаем IP-адреса контроллера $IPAddress = [System.Net.Dns]::GetHostAddresses($DC.HostName) | Where-Object { $_.AddressFamily -eq 'InterNetwork' } # Добавляем информацию в массив $Result += [PSCustomObject]@{ FQDN = $DC.HostName IPAddress = $IPAddress.IPAddressToString -join ', ' } } # Выводим результат $Result | Format-Table -AutoSize Еще больше скриптов ищите на сайте https://pyatilistnik.org/
296
просмотров
2132
символов
Нет
эмодзи
Да
медиа

Другие посты @azbuka_powershell

Все посты канала →