我的林中有多个域,需要从域 yy.test.com 将用户添加到域 xx.test.com 中的组。
我用命令读取用户:
$ADUser = Get-ADUser -Server "DC1.yy.test.com" -Filter "SamAccountName -eq '$UPN'" -Properties *
没关系
当我尝试将此用户添加到另一个域命令时
Add-ADGroupMember -Identity $GroupName -Members $ADUser_UserPrincipalName -Server "DC2.xx.test.com:3269"
答案是:
Add-ADGroupMember:找不到具有身份的对象:“[email protected]”位于: 'DC=xx,DC=test,DC=com'
我假设你在哪里写:
-Members $ADUser_UserPrincipalName
你的意思是:
-Members $ADUser.UserPrincipalName
例如,您正在从 ADUser 变量中检索 UserPrincipalName 属性并尝试添加它。
在这种情况下,我怀疑那是你的问题。您希望指定整个对象而不仅仅是 UserPrincipalName,因为这只是名称,但是传递整个对象也会告诉系统在哪里可以找到该用户,例如在 yy.test.com 中。所以正确的命令是:
$ADUser = Get-ADUser -Server "DC1.yy.test.com" -Filter "SamAccountName -eq '$UPN'" -Properties *
Add-ADGroupMember -Identity $GroupName -Members $ADUser -Server "DC2.xx.test.com:3269"
这就是你收到错误的原因:
Cannot find an object with identity: '[email protected]' under: 'DC=xx,DC=test,DC=com'
因为它试图在 xx.test.com 中找到它,而不是知道在 yy.test.com 中查找
编辑添加,根据https://learn.microsoft.com/en-us/powershell/module/activedirectory/add-adgroupmember?view=windowsserver2022-ps Add-ADGroupMember 的预期值为:
可分辨名称、GUID(objectGUID)、安全标识符(objectSid) 或 SAM 账户名 (sAMAccountName)
不是 UserPrincipalName