给AD中的所有用户加一个值

Add a value to all users in AD

我正在尝试在我工作的公司设置动态通讯组列表。 我想将 AD 中的公司值用于公司中每个人都需要参与的通讯组列表。

我们的大多数用户都将公司名称作为值,但在检查一些用户后,似乎并未为所有用户设置此值。

有没有办法为所有 AD 用户设置此值(通过使用 powershell f.e),或者获取公司值未设置为公司名称的用户列表?

您可以使用远程服务器管理工​​具 (RSAT) 中包含的 PowerShell ActiveDirectory 模块。有关如何安装它的详细信息 here.

那你就可以使用Get-ADUser and pipe the results into Set-ADUser了。像这样:

$badusers = Get-ADUser -Filter "company -ne 'Your Company Name'"
$badusers | Set-ADUser -Company "Your Company Name"

可以在一行中执行此操作,但我将其分成两部分,以便您可以检查 $badusers 集合以实际查看您更改的用户(只是在 PowerShell 提示符中键入 $badusers 并按回车键。

将它限制在 5 或 10 个用户可能是明智的,只是为了在尝试更改每个用户之前确保它按照您想要的方式工作。您可以通过将 -ResultSetSize 5 添加到 Get-ADUsers 行来执行此操作。

这还假设您想要更改 所有 用户对象以使用您的公司名称,甚至是管理帐户。请记住,如果遇到您无权修改的用户,这将停止处理用户。如果要限制为单个OU,可以使用Get-ADUsers-SearchBase参数,像这样:

$badusers = Get-ADUser -Filter "company -ne 'Your Company Name'" -SearchBase "OU=Users,DC=example,DC=com"