我希望我们的帮助台能够移动用户帐户但不能删除它们。以下是受影响 OU 上设置的当前权限摘要(这确实允许他们删除用户帐户):
- 允许 - 完全控制 - 后代用户对象
- 允许 - 创建/删除用户对象 - 此对象及其所有后代对象
如果我通过编辑 ACE 并取消选中“删除”框来更改顶行,我就会得到我想要的结果,即帮助台无法删除用户对象。但是当他们尝试在 OU 之间移动用户时,他们会收到“访问被拒绝”错误。
我想要的可以实现吗?微软真的不区分移动和删除吗?
答案1
从逻辑上讲,“移动”是复制(或者在文件系统术语中是硬链接),然后删除:如果你不能移动某些东西,你就不能移动它。消除将其从其原始位置移开。
所以,微软并不区分“移动”和“删除”,因为为了执行前者,你必须执行后者。
"Protect object from accidental deletion"
如果您想防止意外删除 AD 中的用户帐户/对象,您可以在 ADUC 中用户的对象选项卡上手动设置它们:
或者您可以同时为 AD 中的每个用户对象编写脚本:
Get-ADObject -filter {(ObjectClass -eq "user")} | Set-ADObject -ProtectedFromAccidentalDeletion:$true
答案2
Voretaq7 对您的具体问题提供了很好的答案(AD 没有区分),但我想补充一点,您想要的也是可能的,这取决于您想投入多少额外的工作。
实现此目的的方法包括向您的帮助台用户授予特定的、委派的权限,以使用比他们具有更高权限的服务帐户执行功能,而无需直接以此服务帐户登录。
所有这些都涉及非常小心地处理异常和允许的输入,以便您的用户不能提供利用服务帐户的更高权限的意外输入。
例如,你可以:
- 让用户登录带有一系列预置选项(如“移动用户”或“禁用帐户”)的网页。然后,他们的输入可以发送到您的服务器并启动服务帐户的操作(请不要在网页代码中包含该功能,以便有人可以通过“查看源代码”获取服务帐户凭据。)
- 使用powershell 会话配置。这些允许您委派一个用户或组权限以作为另一个用户或组调用特定命令(非常类似于下面的 Linux 根委派)。移动AD对象是您在此处感兴趣的 cmdlet,再次注意您允许他们调用的帐户没有过多的权限(即绝对不是域管理员,因为您不希望他们随机移动您的 DC!)
作为参考,我相信 Linux 具有类似的东西,用户具有有限的 su 权限来使用特定命令执行特定的事情(我在谷歌上找到了几个关于“根委派”的资源)。