如果您的问题是第二个脚本是否可以将外部安全原则从受信任的域转换为用户名,那么是的,我使用了类似的代码来获得良好的结果。请确保传递给System.Security.Principal.SecurityIdentifier构造函数的只是FSP的SID(例如“S-1-5-21 -...”),而不是distinguishedName或“CN = S-” 1-5-21 -...“。
更新:
if ($dN.StartsWith("CN=S-")) { $SIDText = ($dN.Split(","))[0].SubString(3) $SID = New-Object System.Security.Principal.SecurityIdentifier $SIDText Write-Output $SID.Translate([System.Security.Principal.NTAccount]).Value } else { Write-Output $dN }