Group Policy içindeki yetki verilmiş(okuma, policy almaması için deny vb.) kullanıcılar belirli bir süre sonra silindiğinde delegation alanından silinmiyor ve kalmaktadır. Bazı event içinde hatalar görünmektedir. Bu kullanıcıların hangi GPO içinde olduğunu teyit etmek için aşağıdaki scripti kullanabilirsiniz.
$report = @()
Get-GPO -All | ForEach-Object {
$gpoName = $_.DisplayName
$perms = Get-GPPermission -Guid $_.Id -All
#Get-GPPermission -Guid 30C6EEB6-F1BB-40AA-A21C-DB53D213F983 -All
#Get-GPPermission -Guid $_.Id -All
$invalidPerms = $perms | Where-Object {
$_.Trustee.Name -like "*SID*" -or $_.Trustee.SidType -eq "Unknown"
}
$ent = "" | select GpoName,UserSid,GpPermission
if ($invalidPerms) {
Write-Host "`n Sorunlu GPO adi bulundu: $gpoName" -ForegroundColor Red
$ent.GpoName = $_.DisplayName
foreach($prm in $invalidPerms)
{
$ent.UserSid = $prm.Trustee.Sid.Value
$ent.GpPermission = $prm.Permission
$report +=$ent
}
}
}
# writing
Write-Host -ForegroundColor Cyan "`n Sorunlu GPOlar icindeki kullanici sid degerleri..."
$report
Ekran çıktısı aşağıdaki gibidir.
