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