我有一个用户列表,用作共享邮箱-用户对象, 在活动目录中。
该列表存储在TXT文件(用户名)下。 格式:
user.name1
user.name2
等。
我想为文件中列出的每个用户添加以下值: -邮政编码“ 01010101” -POBox“ 000”
以前,我已经看到了类似的建议,使用 Set-ADUser命令,类似:
Set-ADUser -Filter "UserPrincipalName -eq '$($_.userprincipalname)'" -PostalCode "01010101" -POBox "000"
此示例取自另一个问题,但是它具有不同的参数。
请协助创建一个完整的脚本,该脚本将执行完整的操作。
感谢大家的帮助。
答案 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。如果不是,则可以相应地调整过滤器。