Русская редакция PowerShell-скрипта для сбора сведений о сетевых адаптерах Windows Server, default gateway, сохранённых TCP/IP-настройках и старых сетевых профилях из реестра.
Скрипт помогает быстро получить единый отчёт по списку серверов, когда нужно:
- посчитать сетевые адаптеры на каждом сервере
- собрать IP, DNS, DHCP, MAC, скорость и статус подключений
- увидеть прописанные шлюзы в конфигурации адаптеров и в таблице маршрутов
- отдельно найти серверы с несколькими default gateway
- выгрузить сведения о старых или уже удалённых адаптерах, у которых в системе остались TCP/IP-профили
Скрипт читает список серверов из servers.txt и подключается к ним через WMI/DCOM и удалённый реестр
(StdRegProv). Такой подход выбран специально для совместимости с Windows Server 2008-2025 и не зависит от
современных модулей NetAdapter и NetTCPIP.
Логика работы:
- Читает TXT-файл со списком серверов.
- Предлагает использовать текущую учётную запись или запросить другие учётные данные.
- Подключается к каждому серверу и собирает сведения о текущих адаптерах, IP-конфигурации и default gateway.
- Читает ветки реестра с TCP/IP-профилями и class registry, чтобы выявить старые сетевые профили.
- Исключает служебные адаптеры
WAN MiniportиMicrosoft. - Проверяет, есть ли у сервера несколько шлюзов по умолчанию, и выносит такие случаи в отдельный отчёт.
- Сохраняет результат в CSV и JSON.
- поддержка Windows Server 2008, 2008 R2, 2012, 2012 R2, 2016, 2019, 2022 и 2025
- работа из Windows PowerShell 5.1 и PowerShell 7+
- интерактивный выбор между текущим пользователем и
Get-Credential - многопоточная обработка списка серверов через фоновые jobs
- автоматический запуск worker-процессов Windows PowerShell 5.1 для WMI-сбора, если основной запуск идёт из PowerShell 7+
- отдельный отчёт по серверам с несколькими default gateway
- более читаемый отчёт по старым адаптерам и сохранённым настройкам
- get_windows_server_network_adapter_report.ps1 — основной скрипт
- servers.txt.example — пример файла со списком серверов
- доступ к удалённым серверам по WMI/DCOM
- права на чтение WMI и удалённого реестра
- на машине запуска должен быть доступен Windows PowerShell 5.1 для WMI-worker-процессов
- открытые RPC/WMI-порты между машиной запуска и целевыми серверами
Создайте servers.txt рядом со скриптом на основе servers.txt.example.
Пример:
SRV-DC-01
SRV-FS-01
# строки с # игнорируются
SRV-APP-01
.\get_windows_server_network_adapter_report.ps1
.\get_windows_server_network_adapter_report.ps1 -UseCurrentUser
.\get_windows_server_network_adapter_report.ps1 -ComputerListPath .\servers.txt
.\get_windows_server_network_adapter_report.ps1 -ComputerListPath .\servers.txt -Credential (Get-Credential)
.\get_windows_server_network_adapter_report.ps1 -Parallel
.\get_windows_server_network_adapter_report.ps1 -Parallel -ThrottleLimit 12
.\get_windows_server_network_adapter_report.ps1 -OutputDirectory .\output\manual_run-ComputerListPath— путь к TXT-файлу со списком серверов-OutputDirectory— папка для выгрузки-Credential— явные учётные данные для WMI/DCOM-UseCurrentUser— использовать текущего пользователя без запроса учётных данных-Parallel— включить многопоточную обработку-ThrottleLimit— ограничить число одновременно работающих jobs
По умолчанию выгрузка сохраняется в .\output\<yyyyMMdd_HHmmss>.
network_adapter_summary.csv— краткая сводка по каждому серверуnetwork_adapter_details.csv— текущие сетевые адаптеры и их настройкиnetwork_gateway_details.csv— шлюзы из конфигурации адаптеров и из route tablenetwork_multiple_gateways.csv— серверы, где найдено несколько default gatewaynetwork_legacy_adapters.csv— человекочитаемый список старых адаптеров и сохранённых настроекnetwork_adapter_report.json— полный структурированный отчёт
В network_legacy_adapters.csv основные колонки такие:
LegacyCategory— тип найденного следа старого адаптераWhatWasFound— краткое пояснение, что осталось в системеAdapterName— понятное имя адаптера или драйвераAddressingMode— сохранённый тип адресацииDHCPEnabled— был ли включён DHCPSavedIPAddress— сохранённые IP-адресаSavedSubnetMask— сохранённые маскиSavedDefaultGateway— сохранённые шлюзыSavedDnsServers— сохранённые DNS-серверыSavedSettingsSummary— короткая сводка по найденным параметрам
- скрипт не требует PowerShell Remoting или WinRM
- закрытый ICMP не мешает сбору, если доступен WMI/DCOM
- на старых ОС нет надёжного универсального признака скрытого адаптера, поэтому используются категории
LegacyWithTcpipProfile,RegistryOnlyиClassOnly - при большом списке серверов подбирайте
ThrottleLimitпод нагрузку на сеть и машину запуска
Проект распространяется по лицензии MIT. Корневой файл лицензии: ../LICENSE