Назад | Перейти на главную страницу

Найдите потерянных участников внешней безопасности и удалите их из групп

У нас есть домен Windows 2008 R2 с несколькими исходящими доверительными отношениями. В этом домене мы добавляем пользователей из доверенных доменов в локальные группы безопасности домена. Похоже, что некоторые или все удаленные учетные записи из чужих доменов остаются в группах после удаления (из исходного домена), оставляя SID в группе, который не может быть разрешен.

Как проще всего найти такие учетные записи и удалить их из групп?

Вот сценарий PowerShell для удаления потерянного ForeignSecurityPrincipal, имя которого не может быть разрешено (что обычно означает, что исходный объект больше не существует).

Но сначала убедитесь, что, если имя ForeignSecurityPrincipal не может быть разрешено, это не связано с проблемой связи с другими доменами.

Если вы уверены, что хотите удалить всех этих участников, просто удалите параметр «-WhatIf» из раздела Catch, в противном случае выполняется просто имитация.

$objForeignSecurityPrincipalList=Get-ADObject -Filter {ObjectClass -eq 'foreignSecurityPrincipal'}

foreach($objFSP in $objForeignSecurityPrincipalList)
{
    Try
    {
        $null=(New-Object System.Security.Principal.SecurityIdentifier($objFSP.objectSid)).Translate([System.Security.Principal.NTAccount])
    }
    Catch
    {
        Remove-ADObject -Identity $objFSP -WhatIf
    }
}

У меня нет под рукой сценария. Но лично я бы сделал что-то подобное.

  1. Перечислить объекты в контейнере cn = foreignsecurityprincipals, dc = doamin, dc = com для создания списка идентификаторов безопасности FPO.
  2. Используйте пакетный файл для перебора каждого из них и выполните psgetsid.exe (sysinternals) для SID, чтобы увидеть, разрешается ли он. 0 означает, что может разрешиться, а -1 означает, что недоступен или, возможно, даже не может связаться с правильным DC
  3. Если% errorlevel% равен -1, запишите этот "плохой" SID в другой файл.

вы можете просмотреть идентификаторы безопасности, указанные как -1, чтобы узнать, действительно ли вы хотите удалить представленные FPO. Удаление FPO приведет к очистке любого членства, в котором оно использовалось. Вы можете использовать DSRM для удаления сценария FPO позже, если хотите, используя цикл for для итерации txt файла.