我已经浏览了这个问题的多个版本,以及在这个和其他网站上给出的各种解决方案,但是没有一个解决了我的问题,也没有提到为什么会发生这个问题。
我试图使用一个现有的AD对象作为模板来创建几个新的AD对象。那部分运作得很好。
$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"}我甚至可以几乎立即检索到这个新对象:
$memberInstance = Get-ADObject -Identity "CN=NewFirst NewLast,OU=Recipients,OU=NewExObjects,DC=DOMAIN,DC=ORG,DC=com" -Properties *
Write-Host $memberInstance.DistinguishedName上面的工作原理非常完美,向我展示了新对象的DN。但是,当我试图将新对象添加到组时,我会收到一个错误,说明无法找到具有该标识的对象:
$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这会产生以下错误:
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'.我完全不知道我做错了什么,或者错过了什么。有人能帮忙吗?
发布于 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组的新成员。
似乎cmdlet有一个只包含特定objectClasses对象的烘焙过滤器--这就是为什么您的联系人没有找到的原因--它不符合筛选标准。
你需要用一种不同的方法来实现你想要的。最简单的方法是使用Exchange命令行管理程序(如果实际上您有一个就地Exchange Server):
Add-DistributionGroupMember -Identity $groupInstance.DistinguishedName -Member $memberInstance.DistinguishedName否则,您很可能不得不恢复使用Set-AdObject。
Set-AdObject -Identity "CN=GroupName,OU=Recipients,OU=NewExObjects,DC=DOMAIN,DC=ORG,DC=com" -Add @{member=$($memberInstance.DistinguishedName)}发布于 2019-07-08 21:28:58
您正试图复制AD对象本身,但这并不能保证它们实际上是用户对象,或者任何类似于安全主体(例如计算机对象)的对象。如果尝试向组中添加泛型对象,这可能会失败,因为组具有作为成员的对象类型的特定要求。
使用Get和New(或计算机、联系人、组等)之类的命令查找和复制对象的实际类型更好,错误也较少。
发布于 2023-03-16 04:37:11
我试图将这个组添加到一个用户中:
AXSDevelopers我发现了一个错误:
Add-ADGroupMember : Cannot find an object with identity: 'AXSDevelopers' under: 'DC=nxmbus,DC=local'.我打开了"Active Directory用户和计算机“的UI,发现
nxmbus.local -> nxmbus -> security groups -> AXSDevelopers -> properties -> Group name (pre-Windows 2000) is "Developers"所以,现在我使用“Developer”作为组名,而不是"AXSDevelopers“,它成功运行。
https://serverfault.com/questions/974412
复制相似问题