防止用户将计算机添加到域

前段时间,我们得出的结论是域中的计算机帐户是杂乱无章的。在完成了对现有帐户进行分类的繁琐工作之后,我们看到新的计算机帐户仍在添加到计算机容器中,并且我们不知道它们背后是哪台计算机(服务器/工作站,测试/生产等)。经过一些研究,我们设法阻止每个人都无法将计算机加入域,而无需预先创建计算机帐户(在组织的OU中)。

加入域过程

要加入域,Windows需要一个计算机帐户。Windows尝试按以下顺序使用以下方法获取自己的计算机帐户:

  1. 搜索名称与自己名称相同的现有帐户。
    如果找到了一个匹配帐户(并被禁用),Windows会尝试使用它自己的帐户(写FQDN,重设密码等)。
  2. 尝试使用默认计算机容器中的用户权限创建新帐户
  3. 尝试使用“将工作站添加到域”特权在默认计算机容器中创建一个新帐户

关于将工作站添加到域的一些知识:

Microsoft打算让用户将自己的工作站加入域中,这可能会减少帮助台上的负载。为此,DC具有一个称为将工作站添加到域” 用户权限分配
默认情况下,经过身份验证的用户是该组的成员,这意味着所有域用户都可以使用此特权。

具有此特权的用户可以在默认计算机容器中最多创建10个(默认)计算机帐户。
每个用户可以创建的帐户限制是在域对象的属性下定义的ms-DS-MachineAccountQuota。要查看它,执行

get-addomain | select -exp DistinguishedName | get-adobject -prop 'ms-DS-MachineAccountQuota' | select -exp ms-DS-MachineAccountQuota

用户已加入的计算机数量是通过对与ms-DS-CreatorSID用户SID相同的计算机进行计数来确定的。要查找使用此特权添加到域的所有计算机,可以尝试

Get-ADComputer -fi {ms-DS-CreatorSID -like '*'}

要查找特定用户使用此特权添加到域的计算机,请执行:

$sid = (get-aduser OneBoredAdmin).SID

Get-ADComputer -fi {ms-DS-CreatorSID -eq $sid}

要获得所有添加了特权的计算机以及添加它们的用户的摘要,请尝试:

get-adcomputer -fi {ms-DS-CreatorSID -like '*'} -prop ms-DS-CreatorSID | group ms-DS-CreatorSID | %{

    $ret = $_ | select Count,@{name='UserName';Expression={$_.Name}},@{name='ComputerNames';Expression={$_.Group | select -exp Name}}

    # Try to resolve the SID into an account

    try{

        $_.Name = $_.Name.Translate([System.Security.Principal.NTAccount])

    }catch{}

    $ret

}

顺便说一句,使用此特权创建帐户时,将使用域管理员作为其所有者(而不是创建用户)创建该帐户,并在ms-DS-CreatorSID属性中创建该用户的SID 

行动计划

注意:虽然这些操作应按计划进行,并防止用户在未准备好计算机帐户的情况下添加计算机,但步骤1将中断DC降级。您可以将默认计算机目录重定向到该过程的另一个OU(请参阅 KB324949),也可以恢复原始权限。由于降级不是日常工作,因此我仍然认为此过程值得一做。

为了防止用户在未预先创建计算机帐户的情况下将计算机加入域,您必须执行以下操作:

  1. 删除权限以在默认计算机容器上创建计算机帐户。要检查您域中当前的默认计算机容器是什么,您可以尝试:

(Get-ADDomain).ComputersContainer

  1. 禁止用户使用“将工作站添加到域”特权。可以通过ms-DS-MachineAccountQuota 将域上的属性修改为零,或从DC上的URA中删除“经过身份验证的用户”来完成(使用组策略以确保它也适用于将来的DC)。

只要您不执行这两个步骤,用户仍然可以将计算机添加到域中。

进一步阅读:


 

发布了886 篇原创文章 · 获赞 30 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/allway2/article/details/103939973
今日推荐