我正在编写一个脚本来向来自不同域的用户添加组。我的脚本如下:
$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 AD cmdlet,每次您要针对计算机加入的域以外的域时,都必须使用
-Server
参数。
当您使用
Add-ADGroupMember
时,您将用户添加到组的member
属性中,这意味着您正在修改组,而不是用户。因此,您必须将 -Server
参数与组的域一起使用。
您也不需要在值周围使用引号。
并且将返回值赋给
$addMember
是没有意义的。 它不会返回任何东西除非你使用-PassThru
参数。
把这些放在一起,你可以把那行改成这样:
Add-ADGroupMember -Identity $Group -Members $User -Server testserver2