PowerShell监控域控复制状态的核心是结合repadmin /replsummary、Get-ADReplicationFailure和Get-ADReplicationPartnerMetadata命令,通过定时任务与条件判断实现主动告警;轻量脚本筛选失败DC并邮件通知,同时记录日志,需域管理员权限及AD模块支持。
用 powershell 自动化监控域控复制状态,核心是结合 get-adreplicationfailure、get-adreplicationpartnermetadata 和 repadmin /replsummary 的输出,再通过定时任务和条件判断实现主动告警。不需要写复杂脚本,几条关键命令+计划任务就能落地。
快速获取当前复制健康状态
一条命令看全局概览:
-
repadmin /replsummary—— 显示所有 DC 的复制延迟、失败数、最后同步时间,一眼识别异常节点(如“Failed”列非零、“Delta”超15分钟) -
Get-ADReplicationFailure -Target *—— 返回每个 DC 最近一次复制失败的详细信息(错误代码、失败对象、时间戳),比 repadmin 更易解析 -
Get-ADReplicationPartnerMetadata -Target (Get-ADDomainController).HostName -Scope Server—— 查指定 DC 与其所有复制伙伴的同步状态、最后成功时间、版本号,适合逐台验证
构建可执行的监控脚本
以下是一个轻量级检查脚本(保存为 Check-ADReplication.ps1),它只做三件事:查失败、发邮件、记录日志:
- 运行
Get-ADReplicationFailure -Target * | Where-Object {$_.FailureCount -gt 0}筛出有失败的 DC - 若结果不为空,用
Send-MailMessage发告警邮件(需提前配置 SMTP 服务器) - 无论是否失败,都用
Out-File -Append记录repadmin /replsummary输出到本地日志文件
注意:脚本需以域管理员权限运行,且目标服务器已安装 AD PowerShell 模块(Windows Server 默认自带,Win10/11 需装 RSAT-AD-PowerShell)。
直播话术巡检系统(Windows版) — 实时语音转写、关键词检测、场景自动切换、告警推送、大屏可视化。支持 Windows VB-Cable 虚拟声卡音频采集,阿里云 ASR 实时识别。一键启动脚本,自动安装环境。
设置定时自动运行
用 Windows 任务计划程序每15分钟执行一次脚本:
- 触发器设为“重复任务”,间隔15分钟,持续运行
- 操作中程序填
powershell.exe,参数填-ExecutionPolicy Bypass -File "C:\Scripts\Check-ADReplication.ps1" - “使用最高权限运行”必须勾选,“不管用户是否登录都要运行”建议启用(避免无人值守时失效)
进阶:集成到现有运维平台
如果已有 Zabbix、Prometheus 或内部监控看板,可把关键指标导出为结构化数据:
- 用
Get-ADReplicationFailure -Target * | Select-Object Server, Partner, FailureCode, LastFailureTime | ConvertTo-Json输出 JSON 格式供 API 拉取 - 用
repadmin /replsummary /csv | ConvertFrom-Csv | Where-Object {$_."Delta" -gt "00:15:00"} | Measure-Object统计超时 DC 数量,作为健康度 KPI - 将
Get-ADReplicationQueueOperation结果中的积压数量(PendingOperations)作为性能水位线监控项










