通过Powershell添加AD用户-邮政信箱和邮政编码信息

时间:2019-07-30 14:56:52

标签: powershell

我有一个用户列表,用作共享邮箱-用户对象, 在活动目录中。

该列表存储在TXT文件(用户名)下。 格式:

  

user.name1
user.name2
  等。

我想为文件中列出的每个用户添加以下值: -邮政编码“ 01010101” -POBox“ 000”

以前,我已经看到了类似的建议,使用 Set-ADUser命令,类似:

Set-ADUser -Filter "UserPrincipalName -eq '$($_.userprincipalname)'" -PostalCode "01010101" -POBox "000"

此示例取自另一个问题,但是它具有不同的参数。

请协助创建一个完整的脚本,该脚本将执行完整的操作。

感谢大家的帮助。

1 个答案:

答案 0 :(得分:0)

如果TXT文件包含用户名(SamAccountName),则可以将用户名值通过管道传送到foreach循环中,并将其发送到Set-ADUser

Get-Content Usernames.txt | Foreach-Object {
    Set-ADUser -Identity $_ -PostalCode "01010101" -POBox "000"
}

-Filter参数可以接受给定对象类的大多数AD属性ldap显示名称。运算符集是有限的,但包含-eq。使用进入Foreach-Object的管道,$_将代表管道中的当前对象,该对象将是TXT文件中的一个用户名。基于用户名是SamAccountName值的假设,在过滤器中使用SamAccountName。如果不是,则可以相应地调整过滤器。