You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过注册表项判断AD DS与AD LDS服务是否在主机上运行

判断AD DS和AD LDS运行状态的注册表及实用方法

针对你的问题,我来拆解一下如何通过注册表(及补充实用方法)判断AD DS和AD LDS的安装状态与运行状态:

一、Active Directory域服务(AD DS)

1. 通过注册表判断是否安装

如果主机上部署了AD DS(通常是域控制器),你会在注册表中找到这个关键项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS

这个项的存在直接说明AD DS已安装在该主机上。

2. 判断是否正在运行

注册表本身无法直接获取实时运行状态——它存储的是服务的配置信息(比如启动类型),而非实时运行数据。不过你可以结合以下方式验证:

  • 查看注册表中HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Start的值:
    • 2 = 自动启动(但不代表当前正在运行)
    • 3 = 手动启动
    • 4 = 禁用
  • 要确认实时运行状态,更可靠的方法是用命令查询:
    • 命令行:sc query NTDS,查看输出中的STATE字段是否为RUNNING
    • PowerShell:Get-Service NTDS | Select-Object Status,返回Running即为正在运行

二、Active Directory轻型目录服务(AD LDS)

1. 通过注册表判断是否安装

你提到的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ADAM_.*是有效的判断方式——因为AD LDS早期名称为ADAM(Active Directory Application Mode),每个安装的实例都会对应一个以ADAM_开头的卸载项。

另外,也可以通过服务注册表项确认实例存在:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ADAM_<InstanceName>

每个AD LDS实例都会生成一个独特的服务项,<InstanceName>是你创建实例时指定的名称。

2. 判断是否正在运行

和AD DS一样,注册表无法直接提供实时运行状态,但可以按以下步骤验证:

  • 先通过上述注册表项确认实例已安装
  • 查看对应服务项中的Start值判断启动类型(取值逻辑和AD DS一致)
  • 用命令确认实时状态:
    • 命令行:sc query ADAM_<InstanceName>,替换成你的实例名称,查看STATE字段
    • PowerShell:Get-Service ADAM_*(或指定具体实例名),检查Status是否为Running

总结一下:注册表可以帮你确认AD DS/AD LDS是否已安装,但要判断当前是否正在运行,结合系统服务查询命令会更准确。

内容的提问来源于stack exchange,提问作者ErrorMaster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:08:54