如何禁止无AD账户的计算机加入公司域?(Windows Server 2016)
禁止无AD账户的计算机加入域的最优方案
嘿,你这个需求其实是企业域环境里很常见的安全管控点,之前没找到组策略直接设置的方法很正常——因为核心的管控点其实在AD的权限配置和域属性上,我给你梳理几个靠谱的方案,按优先级和实用性排序:
1. 最直接有效的:修改AD计算机容器/OU的权限
默认情况下,域内所有认证用户(Authenticated Users)都拥有在默认Computers容器或自定义OU下创建计算机对象的权限,这就是为什么任意域用户都能把计算机加入域(默认还允许每个用户最多加10台)。要禁止未授权的计算机加入,第一步就是把这个默认权限收回:
- 打开
dsa.msc(Active Directory用户和计算机),右键点击你要管控的容器/OU(比如默认的Computers,或者你专门存放域计算机的自定义OU),选择「属性」→「安全」标签。 - 点击「高级」进入高级安全设置,找到权限条目里的Authenticated Users。
- 查看它的权限列表,找到「创建计算机对象」和「删除计算机对象」,把这两个权限的「允许」勾选去掉。
- 接下来添加你想要授权的用户/组(比如Domain Admins,或者专门创建的「ComputerJoiners」组),给他们分配「创建计算机对象」和「删除计算机对象」的允许权限。
- 注意权限的应用范围,一般选择「这个对象和所有子对象」就可以覆盖后续在该OU下创建的计算机。
2. 加强管控:调整域的默认计算机加入配额
除了权限,域还有一个默认属性ms-DS-MachineAccountQuota,它控制每个普通域用户最多可以加入多少台计算机到域(默认是10)。如果要彻底禁止普通用户加域,建议把这个值设为0:
用PowerShell修改:
# 替换contoso.com为你的域名 Set-ADDomain -Identity contoso.com -Replace @{ms-DS-MachineAccountQuota=0}
用ADSI Edit修改:
- 打开
adsiedit.msc,连接到默认命名上下文,找到域的根对象(比如DC=contoso,DC=com)。 - 右键选择「属性」,找到
ms-DS-MachineAccountQuota,把值改成0。
3. 辅助加固:通过组策略限制「加入工作站到域」的用户
你之前考虑过组策略,其实可以用它来做辅助加固——限制哪些用户有权限执行「加入工作站到域」的操作:
- 打开
gpmc.msc(组策略管理控制台),编辑「默认域控制器策略」(或者你专门针对域控制器的自定义策略)。 - 导航到计算机配置→Windows设置→安全设置→本地策略→用户权限分配。
- 找到「加入工作站到域」这个权限,默认包含Authenticated Users和Domain Admins,你可以把Authenticated Users删掉,只保留你授权的用户/组。
- 这个设置会作用于所有域控制器,进一步阻断未授权用户的加域请求。
测试验证
完成上述设置后,用一个普通域用户尝试把计算机加入域,应该会收到「访问被拒绝」的错误,而授权用户则可以正常操作——这就说明管控生效了。
注意:如果你的环境里有自动加域的脚本或系统(比如MDT/SCCM),要确保执行这些操作的服务账户已经被加入到授权组里,避免影响自动化流程。
内容的提问来源于stack exchange,提问作者Maxim Baran
相关产品推荐
相关产品推荐

