Powershell - Add-Adgroupmember objectclass:联系到通讯组错误找不到[..]

时间:2015-02-16 13:44:02

标签: powershell active-directory powershell-v3.0 active-directory-group

我正在开发一个简单的脚本,该脚本应该根据一年中的一周向分发组添加联系人。我的错误是我的脚本可以添加objectclass:User但是当我尝试使用联系人GUID时脚本会给我错误:

Add-ADGroupMember : Cannot find an object with identity: '123dd2345-12f0-542b-c3e6-5774bac431aa' under: 'DC=MY,DC=DOMAIN'.
At line:1 char:25
+ get-adgroup $ADGroup |  Add-ADGroupMember  -members $zvar.ObjectGUID
+                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (123dd2345-12f0-542b-c3e6-5774bac431aa:ADPrincipal) [Add-ADGroupMember], ADIdentityNotFoundException
    + FullyQualifiedErrorId : SetADGroupMember.ValidateMembersParameter,Microsoft.ActiveDirectory.Management.Commands.AddADGroupMember

我使用的脚本部分看起来像这样:

$zvar = get-adobject -filter {displayname -eq "Valentine, John (CELL)" } #this is my contact displayname that is put in a variable with necessary properties
get-adgroup "Dist - Support group" | Add-ADGroupMember  -members $zvar.ObjectGUID #this is my Distribution group, whatever the properties I put to my contact object I get the error message above i.e. $zvar.name, $zvar.distinguishedname, etc

如果我用ObjectClass:用户“Valentine,John”替换值“Valentine,John(CELL)”,则命令将成功而不会出错。

我正确使用命令吗? 我可以使用Quest模块,但我想避免使用第三方。

提前致谢

2 个答案:

答案 0 :(得分:3)

今天也遇到了这个问题:您无法使用"objectClass=contact" cmdlet将类Add-ADGroupMember的AD对象添加到组中。

但是,AD组的成员只是存储在多值属性"成员"中,并且每个*-ADObject和相关命令都支持-Add,{{1} },-Replace-Clear参数。

因此,这可以添加一个用户:

-Replace

这会删除用户:

Set-ADGroup -Identity "GroupName" -Add @{'member'=$contact.DistinguishedName};

答案 1 :(得分:0)

作为@mjolinor评论,交换cmdlet将是解决方案,但我没有它需要使用它。所以我将使用Quest-cmdlet。有了它,它正在发挥作用。

相关问题