Я предполагаю, что домены A и B не находятся в одном лесу, но являются доверенными.
Проблема в том, что вы не удаляете прямую ссылку на пользователя: вы удаляете субъект внешней безопасности, который является объектом в том же домене, что и группа, которая ссылается на учетную запись в доверенном домене. Об этом я немного подробнее расскажу в статье, которую я написал: Что делает члена участником? .
Ни один из командлетов PowerShell, похоже, не в состоянии справиться с этим. Но вы можете использовать класс .NET DirectoryEntry
для этого. Вот пример ($username
и $groupname
являются именами учетной записи и группы):
$u = Get-ADUser -Server domainA.com $username
#Get the Foreign Security Principal object for the user
$fsp = Get-ADObject -Server domainB.com -Filter "objectSid -eq '$($u.SID)'"
#Get the group
$g = Get-ADGroup -Server domainB.com $groupname
#Get a DirectoryEntry for the group (which is what the [ADSI] notation creates)
$group = [ADSI]"LDAP://domainB.com/$($g.DistinguishedName)"
#Remove the FSP from the group
$group.Properties["member"].Remove($fsp.DistinguishedName)
$group.CommitChanges()