【发布时间】:2015-02-16 13:44:01
【问题描述】:
我正在编写一个简单的脚本,该脚本应根据一年中的星期将联系人添加到通讯组。我的错误是我的脚本可以添加 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:user "Valentine,John" 替换值 "Valentine, John (CELL)",该命令将成功且不会出错。
我是否正确使用了该命令? 我可能可以使用 Quest 模块,但我想避免使用第三方。
提前致谢
【问题讨论】:
-
该错误似乎表明它正在寻找安全主体,这意味着您尝试添加的组是安全组而不是通讯组。
-
我刚查了一下,groupcategory 的值是“Distribution”
-
那么使用 Exchange cmdlet 可能会更好。
-
是的,这也是我发现的。不幸的是,这不是我的选择。我将不得不使用最后的解决方案,即 Quest-module。
标签: powershell active-directory powershell-3.0 active-directory-group