Active Directory权限:删除与移动

我希望我们的服务台能够移动用户帐户,但不能删除它们。 以下是我们在受影响的OU上设置的当前权限摘要(这样可以删除用户帐户):

  • 允许 – 完全控制 – 后代用户对象
  • 允许 – 创build/删除用户对象 – 此对象和所有后代对象

如果我通过编辑ACE来更改最上面一行并取消选中“删除”框,我会得到我希望的帮助台无法删除用户对象的结果。 然而,当他们尝试在用户之间移动用户时,他们会遇到拒绝访问错误。

我想要什么? 微软是否认真地区分移动和删除?

从逻辑上来说,“移动”是一个拷贝(或者在文件系统中是指一个硬链接),然后是一个删除:如果你不能从原来的位置删除它,你不能移动它。

所以不,微软并没有区分“移动”和“删除”,因为要做前者,必须要做后者。

如果要防止意外删除AD中的用户帐户/对象,可以将其设置为"Protect object from accidental deletion"手动在ADUC中的用户的“对象”选项卡上:

在这里输入图像说明

或者您可以一次性为AD中的每个用户对象编写脚本:

 Get-ADObject -filter {(ObjectClass -eq "user")} | Set-ADObject -ProtectedFromAccidentalDeletion:$true 

Voretaq7为你的具体问题提供了一个很好的答案(AD不区分),但是我想补充一点,你想要什么是可能的,这取决于你想要投入多less额外的工作。

执行此操作的方法包括向服务台用户提供特定的委派权限,以便使用具有高权限的服务帐户执行function,而不直接以此服务帐户login。

所有这些都涉及非常小心exception处理和允许input,以便您的用户不能提供利用服务帐户的更高特权的意外input。

你可以,例如:

  • 让用户用一堆预煮选项(如“移动用户”或“禁用帐户”)login到网页。 然后,他们的input可以发送到您的服务器,并通过服务帐户启动一个操作(请不要在网页代码中包含该function,以便某些人可以通过使用“查看源代码”获取服务帐户凭据)。
  • 使用PowerShell会话configuration 。 这些允许您委派一个用户或组权限来以另一个用户或组的身份调用特定的命令(就像下面的Linux根代表团一样)。 Move-ADObject是您在这里感兴趣的cmdlet,同样要小心您让他们调用的帐户,因为它没有过多的权限(即绝对不是域pipe理员,因为您不希望他们随意移动DC)!

作为参考,我相信linux有一些类似于这样的用户具有有限的su特权用特定的命令做特定的事情(我发现有几个资源与谷歌的“根委托”)。