我有一些 Powershell 脚本,可以对 AD 中的用户执行一些程序,例如 cmd-lets 'Set-ADAccount'、'Add-ADPrincipalGroupMembership' 之类的东西,基本上在一般情况下在 AD 中进行更改。
我在一个域控制器中测试并创建了计划任务,该任务以 SYSTEM 帐户身份定期运行这些脚本。它成功了。
使用系统帐户运行此类脚本有问题吗?
使用 SYSTEM 或具有正确权限的其他域用户运行它们有什么区别吗?
答案1
在任何 Windows 机器上以 SYSTEM 帐户运行本质上都是以最高权限运行。SYSTEM 有权模拟用户、修改任何文件以及您能想到的任何其他操作。
当您在域控制器上以 SYSTEM 身份运行时,这也会扩展到您的 Active Directory 基础架构。
“最佳实践”建议,除非必要,否则应避免以 SYSTEM 身份运行任务,因为该任务获得的权限过多。此外,还建议避免在域控制器上运行计划任务。
主要有两个问题。首先,创建任务/脚本时可能犯的任何无意错误都可能对整个域造成不可挽回的破坏。其次,整个域的安全性取决于该脚本文件的完整性。
我们无法告诉您如何处理您的环境,最佳实践并不适用于所有地方。您应该做您需要做的事情,但要注意风险。
答案2
对于您想要实现的目标,您可以使用帐户操作员成员的上下文来运行它。