powershell 如何将AD组添加到其他域中的用户

jvidinwx  于 2023-05-07  发布在  Shell
关注(0)|答案(1)|浏览(163)

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

$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,但似乎它不像预期的那样工作

xeufq47z

xeufq47z1#

对于所有PowerShell AD cmdlet,每次将计算机加入的域以外的域作为目标时,都必须使用-Server参数。
使用Add-ADGroupMember时,将用户添加到组的member属性中,这意味着修改的是组,而不是用户。因此,必须将-Server参数用于组的域。
您也不需要在值周围使用引号。
将返回值赋给$addMember是没有意义的。除非使用-PassThru参数,否则它不会返回任何内容。
把所有这些放在一起,你可以把这一行改为:

Add-ADGroupMember -Identity $Group -Members $User -Server  testserver2

相关问题