如何将AD组添加到另一个域中的用户

问题描述 投票:0回答:1

我正在编写一个脚本来向来自不同域的用户添加组。我的脚本如下:

 $User = Get-ADUser -Identity "testuser1" -Server testserver1
 $Group = Get-ADGroup -Identity "testgroup" -Server  testserver2
 add-content $logfile  "$logfileTime :: The AD User : $User"
 add-content $logfile  "$logfileTime :: The group : $Group" 


 try
 {
   $addMember = Add-ADGroupMember -identity "$Group" -Members "$User"
 }
 catch
 {
   add-content $logfile "Add Member Error : $_.Exception.Message"
 }  



但是我的日志文件中出现以下错误

2023-04-11 11:10:30 :: The AD User : CN=testuser1,OU=Test,DC=XXX,DC=XXX,DC=XXX
2023-04-11 11:10:30 :: The group : CN=testgroup,OU=test,DC=YYY,DC=YYY,DC=YYY
Add Member Error : Cannot find an object with identity:'CN=testuser1,OU=Test,DC=XXX,DC=XXX,DC=XXX' under: 'DC=YYY,DC=YYY,DC=YYY'..Exception.Message

如果我尝试使用我的脚本将同一组添加到与组所在域相同的用户,它成功地将组添加到用户

我已经关注了link但似乎没有按预期工作

powershell active-directory
1个回答
0
投票

对于所有 PowerShell AD cmdlet,每次您要针对计算机加入的域以外的域时,都必须使用

-Server
参数。

当您使用

Add-ADGroupMember
时,您将用户添加到组的
member
属性中,这意味着您正在修改组,而不是用户。因此,您必须将
-Server
参数与组的域一起使用。

您也不需要在值周围使用引号。

并且将返回值赋给

$addMember
是没有意义的。 它不会返回任何东西除非你使用
-PassThru
参数。

把这些放在一起,你可以把那行改成这样:

Add-ADGroupMember -Identity $Group -Members $User -Server  testserver2
© www.soinside.com 2019 - 2024. All rights reserved.