在删除AD之前,如何检查AD中的组/用户?

我正在清理一个没有很好logging的inheritance域。 我如何检查一个特定的组织或用户是否在整个AD内都没有ACE?

比如在AD对象和文件服务器对象中searchDACL / SACL。 pipe理者甚至做这种尽职调查吗?

[编辑]我还不能添加评论,但我要感谢本和吉姆的回应。 准备这样深思熟虑的答案需要很长时间,所以我尊重他们的慷慨和愿意分享他们的经验。

感谢您检查基于AD的权限的位置列表 – 非常有帮助。

我赞赏如果访问被无意中删除,保留空群组以重新填充的build议。 我已经写了一些C#代码枚举组成员资格,所以我有这个备份。 (我觉得比PowerShell更容易使用)。我也使用Shareinum这样的sysinternals工具。

Notes / Description字段 – 它们是什么? 说真的,我知道他们是什么,但我的前任并没有使用它们。 他们也没有使用嵌套组。

这很难。 很难。 你可以做一些事情,比如编写一个脚本来遍历一个文件系统,然后评估权限,但是这样做会比较麻烦 – 你必须在每台服务器上运行它,这可能需要很长时间,这取决于服务器上有多less文件。

看看小组成员。 他们主要是一个部门的一群人吗? 这可能会指向正确的方向,如果你有一个神秘的组名(例如, HSGD Super UsersHSGD是一个部门的LOB应用程序),你可以问是否意味着什么给他们。

检查组的注释字段,看它是否包含任何有用的东西( 提示 :该字段是非常有用的,我会build议你使用它前进)。

为了彻底检查,你将不得不检查文件系统权限以外的其他内容。 任何能够使用Windows权限的东西都需要检查,不幸的是我可以保证你会忘记一些东西(每个人都会忘记硬件设备)。 尽pipe我的头顶上:

  • 文件系统权限
  • SQL Server
  • Microsoft Exchange
  • 您的防病毒软件(主要是服务器pipe理控制台,如果适用)
  • 计划任务
  • Windows服务
  • Active Directory委托权限
  • 针对特定AD用户/组授予各个工作站的权限
  • 备份软件login帐户
  • 硬件设备(使用AD帐户进行身份validation)
  • Linux机器/服务(类似地,在其上运行的服务可以使用LDAP并通过专用账户进行authentication)
  • 任何和所有你使用的LOB应用程序

我也应该调出一些非常重要的东西,那就是你不应该忘记嵌套组中的用户间接组成员 。 相信我,这是一个真正的踢球手 – 我以前做过。

最后,当我在对你的问题发表评论时,我有些轻浮,所以你应该提出一些build议。 如果您有要删除的组,请记下组成员,并将其全部从组中删除。 重要的是你不要立即删除组,因为如果这个组拥有遍布整个地方的权限,并且会造成严重的破坏,你将需要通过添加所有人来快速修复它。如果删除组,必须首先确定在哪里授予权限(你不知道),并应用与以前完全相同的权限,这可能不是默认权限(再次,你不知道)。

本有一个很好的清单,可以去非常错误(tm)。 所以不,一般的pipe理员在删除文件之前不会做适当的努力。 通常当接pipe一个新的环境时,我花了一些时间来logging用户和其他pipe理员知道什么组(为每个组添加注释和描述到AD),然后制定一个计划来开始看起来显然没有使用的重击组(空组,组只有contian残疾用户等)。 之后,我开始从只包含用户的组开始重击组。 一个方便的方法是,不要删除组,而只是在将成员复制到一个新组(我手动调用OLD_grouptogetdeleted)后删除成员。 基本副本组成员资格脚本位于technet scriptcenter上。 我还没有把它转换成powershell呢。 它可以很容易地修改,以消除来源的成员(或在11月说删除我(如果你愿意的话),然后等待大约6个月的大喊开始,如果不是 – 我删除空白组(或者您可以安排任务来扫描与描述字段中的当前月份相匹配的组,或者删除没有描述的那个组…)

简而言之,就像医生捅鼻子一样,看着你大叫,然后问他是否有疼痛,有时你必须捅捅使用者,让他们告诉你是否疼痛。