首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ADGroupMember:无法找到标识为“{DistinguishedName}”的对象:'DC=DOMAIN,DC=ORG,DC=com‘

ADGroupMember:无法找到标识为“{DistinguishedName}”的对象:'DC=DOMAIN,DC=ORG,DC=com‘
EN

Server Fault用户
提问于 2019-07-08 18:27:25
回答 3查看 10.7K关注 0票数 2

我已经浏览了这个问题的多个版本,以及在这个和其他网站上给出的各种解决方案,但是没有一个解决了我的问题,也没有提到为什么会发生这个问题。

我试图使用一个现有的AD对象作为模板来创建几个新的AD对象。那部分运作得很好。

代码语言:javascript
复制
$objectInstance = Get-ADObject -Identity "CN=First Last,OU=Recipients,OU=NewExObjects,DC=DOMAIN,DC=ORG,DC=com" -Properties description,physicalDeliveryOfficeName,company,mailNickname,showInAddressBook,internetEncoding,msExchPoliciesExcluded,msExchRecipientDisplayType,msExchVersion,proxyAddresses,targetAddress

New-ADObject -Instance $objectInstance -Name "NewFirst NewLast" -DisplayName "NewFirst NewLast" -Type "contact" -Path "OU=Recipients,OU=NewExObjects,DC=DOMAIN,DC=ORG,DC=com" -OtherAttributes @{'mail'="NewFirstNewLast@company.org";'givenName'="NewFirst";'sn'="NewLast";'mailNickname'="NewFirstNewLast";'proxyAddresses'="SMTP:NewFirstNewLast@company.org";'targetAddress'="SMTP:NewFirstNewLast@company.org"}

我甚至可以几乎立即检索到这个新对象:

代码语言:javascript
复制
$memberInstance = Get-ADObject -Identity "CN=NewFirst NewLast,OU=Recipients,OU=NewExObjects,DC=DOMAIN,DC=ORG,DC=com" -Properties *
Write-Host $memberInstance.DistinguishedName

上面的工作原理非常完美,向我展示了新对象的DN。但是,当我试图将新对象添加到组时,我会收到一个错误,说明无法找到具有该标识的对象:

代码语言:javascript
复制
$groupInstance = Get-ADGroup -Identity "CN=GroupName,OU=Recipients,OU=NewExObjects,DC=DOMAIN,DC=ORG,DC=com" -Properties *
Add-ADGroupMember -Identity $groupInstance.DistinguishedName -Members $memberInstance.DistinguishedName

这会产生以下错误:

代码语言:javascript
复制
Add-ADGroupMember : Cannot find an object with identity: 'CN=NewFirst NewLast,OU=Recipients,OU=NewExObjects,DC=DOMAIN,DC=ORG,DC=com' under: 'DC=DOMAIN,DC=ORG,DC=com'.

我完全不知道我做错了什么,或者错过了什么。有人能帮忙吗?

EN

回答 3

Server Fault用户

回答已采纳

发布于 2019-07-08 21:15:42

您似乎正在处理联系人对象。当我试图向安全组添加邮件联系人时,我能够复制此错误。

安全组要求其成员为帐户或其他组(安全主体)。缺乏安全标识符(SID)的联系人对象不是安全主体。

资料来源:我的工作知识(也参考https://docs.microsoft.com/en-us/windows/security/identity-protection/access-control/active-directory-security-groups)。

编辑如下:

AdGroupMember不支持向任何组添加联系人。

ADGroupMember cmdlet将一个或多个用户、组、服务帐户或计算机添加为Active Directory组的新成员。

来源:https://docs.microsoft.com/en-us/powershell/module/addsadministration/add-adgroupmember?view=win10-ps

似乎cmdlet有一个只包含特定objectClasses对象的烘焙过滤器--这就是为什么您的联系人没有找到的原因--它不符合筛选标准。

你需要用一种不同的方法来实现你想要的。最简单的方法是使用Exchange命令行管理程序(如果实际上您有一个就地Exchange Server):

代码语言:javascript
复制
Add-DistributionGroupMember -Identity $groupInstance.DistinguishedName -Member $memberInstance.DistinguishedName

否则,您很可能不得不恢复使用Set-AdObject。

代码语言:javascript
复制
Set-AdObject -Identity "CN=GroupName,OU=Recipients,OU=NewExObjects,DC=DOMAIN,DC=ORG,DC=com" -Add @{member=$($memberInstance.DistinguishedName)}
票数 2
EN

Server Fault用户

发布于 2019-07-08 21:28:58

您正试图复制AD对象本身,但这并不能保证它们实际上是用户对象,或者任何类似于安全主体(例如计算机对象)的对象。如果尝试向组中添加泛型对象,这可能会失败,因为组具有作为成员的对象类型的特定要求。

使用Get和New(或计算机、联系人、组等)之类的命令查找和复制对象的实际类型更好,错误也较少。

票数 0
EN

Server Fault用户

发布于 2023-03-16 04:37:11

我试图将这个组添加到一个用户中:

代码语言:javascript
复制
AXSDevelopers

我发现了一个错误:

代码语言:javascript
复制
Add-ADGroupMember : Cannot find an object with identity: 'AXSDevelopers' under: 'DC=nxmbus,DC=local'.

我打开了"Active Directory用户和计算机“的UI,发现

代码语言:javascript
复制
nxmbus.local -> nxmbus -> security groups -> AXSDevelopers -> properties -> Group name (pre-Windows 2000) is "Developers"

所以,现在我使用“Developer”作为组名,而不是"AXSDevelopers“,它成功运行。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/974412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档