使用userPrincipalName

时间:2019-04-16 18:09:46

标签: powershell active-directory

我正在尝试将一组用户添加到仅具有userPrincipalName的广告组中。

Import-Csv "C:\Temp\TESTGroup.csv" | %{ Add-ADGroupMember "Group Name" $_.userprincipalname} 

这会导致与$_.userprincipalname

有关的错误消息

我想在此广告组中添加大约65个人的小组。

2 个答案:

答案 0 :(得分:0)

这里的问题是Integer::compareTo的{​​{1}}参数需要一个不是UserPrincipalName的标识符。因此,在这种情况下,您需要基于UserPrincipalName查询另一个标识符。由于-Members接受ADPrincipals数组,因此您可以使用一个命令更新成员资格。

Add-ADGroupMember

答案 1 :(得分:0)

根据文档:

  

Members参数指定要添加到组中的新成员。您   可以通过其专有名称(DN)GUID来识别新成员,   安全标识符(SID)或SAM帐户名。您还可以指定   用户,计算机和组对象变量,例如   $<localUserObject>。如果您指定多个新成员,   使用逗号分隔的列表。您无法通过用户,计算机或组   对象通过管道到达此cmdlet。添加用户,计算机或   使用管道将对象分组为一组,使用   Add-ADPrincipalGroupMembership cmdlet。

因此,您需要一种可接受的格式:

Import-Csv -Path C:\Temp\TESTGroup.csv |
  % { Get-ADUser -Filter "UserPrincipalName -eq '$($_.userprincipalname)'" } |
  Add-ADGroupMember -Identity 'Group Name' -Members { $_.sAMAccountName }