adws服务启动失败会直接导致ad管理中心和powershell ad模块无法连接域控制器,典型报错包括“无法联系到服务器”“目录服务不可用”或“winrm cannot process the request”,需依次排查服务状态与依赖项、9389/9390端口占用及http.sys注册、系统与directory service日志错误(如7000、7024、15001/15005)、winrm监听器配置及防火墙端口放行(5986、636、389)。
adws服务启动失败会直接导致ad管理中心(adac)、powershell ad模块(如get-aduser)等工具无法连接域控制器,典型报错包括“无法联系到服务器”“目录服务不可用”或“winrm cannot process the request”。排查需聚焦服务本身状态、底层依赖、端口与协议注册、日志线索四个层面,避免盲目重启。
确认ADWS真实运行状态与关键依赖项
服务管理器中显示“正在运行”不等于功能就绪。需验证其是否真正响应:
- 执行Get-Service ADWS,重点看Status是否为Running;若为Starting或Stopped,说明未完成初始化
- 检查依赖服务:ADWS依赖Remote Procedure Call (RPC)、DCOM Server Process Launcher、Windows Management Instrumentation,缺一不可;IIS托管场景下还需WAS(Windows Process Activation Service)和W3SVC已启动
- 运行Get-Service -Name ADWS | Select-Object -ExpandProperty DependentServices,快速定位缺失依赖
检查9389/9390端口占用与HTTP.SYS注册
ADWS通过HTTP.SYS内核驱动监听9389(HTTP)和9390(HTTPS),端口冲突或URL保留缺失是高频原因:
- 用netstat -ano | findstr :9389查端口占用;若有PID,用tasklist /fi "pid eq XXXX"识别进程(常见为IIS、第三方Web服务)
- 运行netsh http show urlacl | findstr "9389",若无输出,说明系统未注册ACL,需以管理员身份执行:
netsh http add urlacl url=http://+:9389/ user="NT AUTHORITY\SYSTEM" - 若启用HTTPS(9390),还需确认证书绑定:netsh http show sslcert查看是否存在对应IP:Port条目,且证书由域CA签发、未过期、私钥可访问
分析事件日志中的关键错误代码
ADWS自身不写Application日志,但会在系统日志(System)和Directory Service日志留下线索:
- 筛选来源为Service Control Manager,关注错误代码7000(依赖服务未启动)、7024(服务启动超时)、15001/15005(ADWS内部初始化失败)
- 在Windows日志 → 系统中搜索ADWS,查看是否有.NET Framework加载失败、配置缓存损坏等提示
- 若升级后异常(如2008 R2升至2012 R2),注意KB3019069类已知兼容性问题
验证WinRM监听器与防火墙策略
即使ADWS跑起来了,ADAC仍可能因通信链路断裂而失败:
- 运行winrm enumerate winrm/config/listener,确认存在HTTPS类型监听器且Address = *;否则ADAC的HTTPS请求会被拒绝
- 检查证书绑定是否匹配:ADWS默认使用机器证书,需确保netsh http show sslcert中0.0.0.0:5986(WinRM HTTPS)或0.0.0.0:636(LDAPS)对应证书有效
- 防火墙必须放行5986(WinRM HTTPS)、636(LDAPS)、389(LDAP)三个端口;用Get-NetFirewallRule -DisplayName "*Windows Remote Management*"确认规则已启用











