Skip to main content

Audyt grup z zagnieżdzoną grupą z innej domeny

Komendę uruchamiamy jako Administrator w powershell na systemie z zainstalowanymi przystawkami RSAT.

# Pytaj użytkownika o nazwę grupy, kontroler domeny (DC) i poświadczenia
$Group = Read-Host -Prompt "Podaj nazwę grupy"
$DC = Read-Host -Prompt "Podaj kontroler domeny badź jej nazwę (dc.example.local / example.local)"
$Credential = Get-Credential -Message "Podaj poświadczenia użytkownika do dostępu do domeny $DC"

# Pobierz członków grupy z określonego kontrolera domeny
$membership = Get-ADGroup $Group -Properties Member -Server $DC -Credential $Credential
$membership.Member | Group-Object { ($_ -split '(?=DC=)',2)[1] } |
ForEach-Object {
    [adsi] $ldap = 'LDAP://{0}' -f $_.Name
    [string] $domain = $ldap.Name

    foreach($member in $_.Group) {
        $obj = Get-ADObject $member -Server $domain -Credential $Credential
        [pscustomobject]@{
            MemberOf       = $membership.Name
            Domain         = $domain
            Name           = $obj.Name
            DSN            = $obj.DistinguishedName
            SamAccountName = $obj.SamAccountName
            ObjectClass    = $obj.ObjectClass  
        }
    }
}