Windows Server 中怎么使用 PowerShell 批量清理失效的 DNS 主机记录

老婷姑娘_4740

老婷姑娘_4740

2026-10-20

844人浏览

原创

核心思路是先识别长期未更新、ip已下线或解析失败的a记录,再用powershell按ip段或主机名关键词精准批量删除,避免误删;同时启用老化清理、动态更新和dhcp选项81预防僵尸记录。

在 windows server 的 dns 服务器上,批量清理失效的主机(a)记录,核心思路是:先识别出长期未更新、ip 不再使用或已下线的 a 记录,再通过 powershell 批量删除。这不是简单“清空所有”,而是基于策略的安全清理——避免误删仍在用的记录,同时解决因客户端未及时注销、dhcp 租约变更或服务器迁移导致的“僵尸记录”问题。

确认哪些 A 记录属于失效状态

失效记录通常表现为以下一种或多种情况:

  • 对应 IP 地址已从网络中移除(如虚拟机已关机、物理机已下架)
  • 记录 TTL 过期且超过 7 天未被客户端刷新(尤其在启用老化/清理的 AD 集成区域中)
  • 主机名解析失败(nslookup hostname.zone 返回 NXDOMAIN 或超时)
  • 记录存在但无对应活动 DHCP 租约或静态绑定(需结合 DHCP 服务器日志交叉验证)

用 PowerShell 查询待清理的 A 记录

先按区域筛选出疑似失效的 A 记录,推荐分步操作:

Windows-Android_SSH_Remote_Control
Windows-Android_SSH_Remote_Control

通过 SSH 隧道从 Android 设备在互联网上对 Windows PC 实现完整远程控制的设置与使用指南,适用于远程桌面访问、安全 RDP 等。

下载
  • 列出指定区域中所有 A 记录:
    Get-DnsServerResourceRecord -ZoneName "contoso.com" -RRType A | Where-Object {$_.RecordData.IPv4Address -ne $null}
  • 导出为 CSV 方便人工复核:
    Get-DnsServerResourceRecord -ZoneName "contoso.com" -RRType A | Select-Object HostName, RecordData, TimeToLive | Export-Csv C:\dns-a-list.csv -NoTypeInformation
  • 快速检查某 IP 是否还能 ping 通(需在 DNS 服务器或跳转服务器执行):
    Test-Connection 192.168.1.50 -Count 1 -Quiet

安全批量删除已确认失效的记录

不建议直接全删,推荐按 IP 段或主机名前缀精准清除。例如,清理所有指向已废弃网段 10.99.0.0/16 的 A 记录:

  • 单条命令删除匹配 IP 的全部 A 记录:
    Get-DnsServerResourceRecord -ZoneName "contoso.com" -RRType A | Where-Object {$_.RecordData.IPv4Address -like "10.99.*"} | ForEach-Object { Remove-DnsServerResourceRecord -ZoneName "contoso.com" -Name $_.HostName -RRType A -Force }
  • 按主机名关键词清理(如清理所有含 -old 或 -retired 的主机):
    Get-DnsServerResourceRecord -ZoneName "contoso.com" -RRType A | Where-Object {$_.HostName -match "-old$|-retired$"} | ForEach-Object { Remove-DnsServerResourceRecord -ZoneName "contoso.com" -Name $_.HostName -RRType A -Force }
  • 删除后立即验证:
    Get-DnsServerResourceRecord -ZoneName "contoso.com" -Name "legacy-app" -RRType A(应返回空)

预防后续产生失效记录

清理只是补救,关键要从机制上减少失效记录生成:

  • 对 AD 集成区域,启用并合理配置老化和清理(默认无刷新间隔 7 天、刷新间隔 7 天)
  • 确保客户端启用动态更新,并使用域账户而非本地账户注册(避免权限不足导致注销失败)
  • 在 DHCP 服务器上启用选项 81(DNS 动态更新),并勾选“总是动态更新 DNS 记录”
  • 定期运行脚本自动归档+清理(例如每月导出 30 天未刷新的 A 记录,邮件通知管理员确认)

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

940

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3012

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

996

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

889

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

454

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2756

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5132

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

807

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Conan 2 安装指南
Conan 2 安装指南

共0课时 | 0人学习