我们有一个具有多个传出信任的Windows 2008 R2域。 在此域中,我们将用户从受信任的域添加到域本地安全组。 似乎从外部域中删除的部分或全部账户在删除之后(从原始域)保留在组中,在组中留下SID而无法parsing。
find这些帐户并将其从组中移除的最简单方法是什么?
我没有脚本方便。 但亲自我会做这样的事情。
您可以通过报告为-1的SID来查看是否真的要删除所代表的FPO。 删除FPO将清除其使用的所有成员资格。如果需要,可以使用DSRM脚本删除FPO,使用for循环迭代txt文件。
这里是一个powershell脚本,用于删除名称无法parsing的孤立的ForeignSecurityPrincipal(通常意味着原来的对象不再存在)。
但是,首先要确保如果ForeignSecurityPrincipal的名称不能被parsing,则与其他域的通信问题无关。
如果您确定要删除所有这些主体,只需从Catch部分删除“-WhatIf”参数,否则只是进行仿真。
$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 } }