如何解锁满足特定条件的账户

how to unlock accounts that meet certain conditions

我正在尝试通过 PowerShell 解锁 Active Directory 中的多个帐户,但我不知道如何link查询中的每个条件

条件是:

-账户应该被启用

-不应该是 "memberof" 某些组(我无法解锁,比如管理员)

我不能完全控制帐户,由于我的特权,我无法解锁其中一些帐户,所以如果你能帮助我了解或简单地丢弃帐户,我将非常有帮助我无法解锁

我刚试过这个

Search-ADAccount -LockedOut | Unlock-ADAccount

(非常糟糕的尝试,我知道,我对这项技术很陌生)

但是由于我帐户的权限,给我一个错误

它说:访问权限不足以执行该操作。 不同的CN账号报错是一样的

But gives me errors because of my account's privileges

"errors" 中的 's' 是关键。如果您收到多个错误,这意味着错误不会阻止它继续到下一个帐户。也就是说,实际上,PowerShell 默认是如何工作的。

所以您所做的已经按照您希望的方式工作:它正在解锁您有权访问的所有帐户。

当然,这只是对实际问题的创可贴。它不会消除对问题帐户的调用,并且会破坏您通过首先锁定帐户获得的额外安全性。

I'm able to unlock some accounts, but when I run the command Unlock-ADAccount, I think it try to unlock accounts like administrator, some disabled acc, for which I don't have permission to modify, but if I run that command on an individual "regular" account, it gets unlocked

这是由于阻止继承应用于域管理员帐户的权限以及由于安全描述符传播器 (SDPROP).... 不推荐,因为在我看来这是一个关键机制,但您可能会:

  • 为小组创建特定代表团
  • 并将此组附加到此类模板文件夹的访问控制条目 (ACE) 以获得管理员权限:'CN=AdminSDHolder,CN=System,DC=example,DC=com'(在 LDP.exe 的帮助下)