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”
}
}
Show!! Precisei e o script atendeu as necessidades.
ResponderExcluir