Como alterar a herança de objetos do ADDS usando o PowerShell



Imagine que você precisa alterar a herança dos objetos (usuários) do Active Directory. Se formos pensar em uma única conta, fica fácil, basta delegar controles ou mudar as configurações da aba de segurança, mas e se precisarmos alterar a herança de centenas de objetos? Fica inviável efetuar o processo um a um, então, ai vai um script em Powershell para automatizar o processo.

Ou ainda, você pega o seguinte caso... você altera as permissões da OU padrão e descobre que todos os objetos que estão ali (quase 10 mil objetos), estão com a herança desabilitada. Você precisa habilitar a herança de todos os objetos com o menor esforço administrativo possível. Bom... toca pro Powershell.

1. Abra o Poershell_ISE com permissões administrativas;
2. Copie o script abaixo e cole na área limpa do Powershell_ISE
3. Altere as configurações de domínio e execute o script


########################################################
# Script de mudança de propriedades de objeto - herança                   #
# By Popovici                                                                                       #
# Bons estudos e bom trabalho                                                             #
########################################################

# Aqui você deve alterar para suas configurações de domínio
$users = Get-ADUser -ldapfilter “(objectclass=user)” -searchbase “OU=Colaboradores,OU=01-Matriz,DC=htbraz,DC=sp”
ForEach($user in $users)
{
    # Esta etapa é obrigatória e vai trabalhar com os usuários da OU que você escolheu
    $ou = [ADSI](“LDAP://” + $user)
    $sec = $ou.psbase.objectSecurity

    if ($sec.get_AreAccessRulesProtected())
    {
        $isProtected = $false ## allows inheritance
        $preserveInheritance = $true ## preserver inhreited rules
        $sec.SetAccessRuleProtection($isProtected, $preserveInheritance)
        $ou.psbase.commitchanges()
        Write-Host “$user is now inherting permissions”;
    }
    else
    {
        Write-Host “$User Inheritable Permission already set”
    }
}


1 Comentários

Comente sem faltar com respeito - ;-)

Postagem Anterior Próxima Postagem