Microsoft Active Directory serve como um ponto centralizado para a administração, autorização e autenticação. No AD, o acesso aos recursos da rede é concedido aos princípios de segurança, tais como contas de usuário e contas de computador, e essas permissões podem mudar ao longo do tempo. Para simplificar a gestão de acesso e melhorar a segurança, as médias e grandes empresas utilizam frequentemente grupos de segurança do Active Directory, que podem conter contas de utilizador, contas de computador e outros grupos. Muitas vezes também usam grupos de distribuição para gerenciar listas de distribuição de e-mail. Ambos os grupos de segurança e distribuição têm identificadores de segurança únicos (SIDs) e identificadores únicos globais (GUIDs).

O snap-in ADUC MMC é ótimo para gerenciar ambos os tipos de grupos, mas o PowerShell é uma maneira muito mais eficiente de gerenciá-los em massa.

Se você ainda não está familiarizado com grupos AD e gerenciamento de grupos, leia o guia de Melhores Práticas de Gerenciamento de Grupos do Active Directory antes de seguir adiante.

Simplesmente, tenha em mente que, para usar estes scripts PowerShell, você deve importar o módulo para interagir com AD – o Active Directory Module para Microsoft Windows PowerShell. Este módulo foi introduzido no Windows Server 2008 R2 e é activado por defeito no Windows Server 2012 e posteriores. Pode obter a lista completa de cmdlets do módulo AD executando o seguinte comando:

Get-Command -Module ActiveDirectory

A lista completa contém 147 cmdlets; no entanto, apenas estes onze estão relacionados com grupos do Active Directory:

    >

  • Adicionar-ADGrupo Membro
  • Adicionar-ADGrupo Membro
  • Encontrar…ADAccountAuthorizationGroup
  • Get-ADGroup
  • Get-ADGroupMember
  • Get-ADPrincipalGroupMembership
  • Novo-ADGroup
  • >

  • Remover-ADGroup
  • Remover-ADGroupMember
  • >

  • Remover-ADPrincipalGroupMembership
  • Set-ADGroup

>

Criar um grupo Active Directory Group com PowerShell

Criar um grupo AD, usar o New-ADGroup cmdlet. Você pode obter sua sintaxe executando o seguinte comando:

Get-Command New-ADGroup –Syntax

A maneira mais fácil de criar um grupo é executar este pequeno script:

New-ADGroup "Group Name"

O sistema irá pedir-lhe para especificar o parâmetro “GroupScope”, e então ele irá criar um novo grupo. Entretanto, este grupo terá valores padrão, tais como:

  • Será criado no container padrão do LDAP chamado “Users”.
  • Terá o grupo “Security” tipo.
  • Os membros, membros, descrição, e-mail e campos de notas estarão todos em branco.

Vamos imaginar que queremos criar um grupo de segurança chamado “Quality” no nosso AD DC. Vamos usar os seguintes parâmetros: Deve estar na OU “Production” (-Path), deve ser um grupo de segurança (-GroupCategory), e deve ser global (-GroupScope).

New-ADGroup "Quality" -Path "OU=Production,DC=enterprise,dc=com" -GroupCategory Security -GroupScope Global -PassThru –Verbose

Se quiser fazer um grupo de distribuição universal, basta alterar o parâmetro -GroupCategory para “Distribution” e o parâmetro -GroupScope para “Universal”. Também pode alterar o caminho LDAP alterando o parâmetro -Path.

Deleting an Active Directory Group with PowerShell

Para apagar um grupo AD, use o cmdlet Remove-ADGroup. O script mais fácil para isso será o seguinte:

Remove-ADGroup -Identity Quality

Vai-lhe ser pedido para confirmar a eliminação do grupo.

Adicionar Utilizadores e Computadores a um Grupo com PowerShell

Pode adicionar utilizadores a um grupo AD com o cmdlet Add-AdGroupMember. Por exemplo, se você precisava adicionar dois usuários, B.Jackson e E.Franklin, ao grupo “Qualidade”, aqui está como o script ficaria:

Add-AdGroupMember -Identity Quality -Members B.Jackson, E.Franklin

Após ter adicionado usuários a um grupo de segurança, você pode executar o script abaixo para verificar se eles estão listados como membros:

Get-ADGroupMember -Identity Quality

Se você precisar adicionar usuários a outro grupo de segurança ou distribuição, como “Domain Admins”, especifique “Domain Admins” como o valor para o parâmetro -Identity. Se você precisar de um grupo para ser membro de outro, especifique um nome de grupo como o valor para o parâmetro -Members. O mesmo princípio se aplica às contas de computador, mas você precisará anexar um sinal de dólar ($) ao final do nome da conta do computador. Por exemplo, para adicionar o computador “WKS043” a um grupo, especifique “WKS043$” como o valor para o parâmetro -Membro:

Add-AdGroupMember -Identity Quality -Members WKS043$

Adicionar um utilizador a múltiplos grupos

Para adicionar um utilizador a múltiplos grupos ao mesmo tempo, execute o seguinte script.

>

"Managers","Quality" | Add-ADGroupMember -Members ` (Read-Host -Prompt "Enter User Name")

Você será solicitado a inserir o nome de usuário.

Adicionando usuários a um grupo a partir de um arquivo CSV

Se você quiser adicionar um grande número de usuários a um grupo, você pode especificá-los em um arquivo CSV e então importar esse arquivo. Note que a lista de nomes de usuário no arquivo CSV deve conter o SamAccountNames na coluna “users”, como mostrado abaixo:

Para adicionar usuários ao grupo a partir de um arquivo CSV, execute o seguinte script PowerShell:

Import-CSV C:\scripts\users.csv -Header users | ForEach-Object {Add-AdGroupMember -Identity "Quality" -members $_.users}

Copiar usuários de um grupo para outro

Se você quiser copiar todos os membros de um grupo para outro grupo, execute o script a seguir:

Get-ADGroupMember "Quality" | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity "QualityControl" -Members $_}

Remover usuários ou computadores de um grupo

Para remover um usuário de um grupo, use o cmdlet Remove-ADGroupMember:

Remove-ADGroupMember -Identity Quality -Members J.Robinson

Para remover uma conta de computador de um grupo, especifique o nome do computador com um cifrão ($) no final para o valor do parâmetro -Members.

Remover múltiplas contas de usuário de um grupo

Uma maneira fácil de remover múltiplos usuários de um grupo AD é criar um arquivo CSV com a lista de nomes de usuário e depois remover esses usuários do objeto do grupo usando este script:

Import-CSV C:\scripts\users.csv -Header users | ForEach-Object {Remove-ADGroupMember -Identity "Quality" -members $_.users}

Remover um usuário de todos os grupos

Para remover um usuário de todos os grupos, execute este script:

Get-ADUser -Identity E.Franklin -Properties MemberOf | ForEach-Object { $_.MemberOf | Remove-ADGroupMember -Members $_.DistinguishedName -Confirm:$false}

Note que o usuário perderá todos os membros do grupo, exceto “Usuários de domínio”, que podem ser removidos manualmente se necessário.

Relatórios sobre grupos do Active Directory

Agora sabemos como realizar muitas tarefas comuns de gerenciamento do Active Directory relacionadas a grupos usando o PowerShell, vamos ver como relatar quais grupos existem no AD:

Para listar todos os grupos no AD, use o script abaixo:

Get-ADGroup -filter * -properties GroupCategory | ft name,groupcategory

Obviamente, você também vai querer rever os membros do grupo AD e as mudanças de membros do grupo AD. Aqui estão links para instruções de como realizar essas tarefas mais complexas:

>

    >

  • Como Monitorar as Mudanças na Participação de Grupos de AD no Active Directory
  • Como Obter Relatórios de Participação de Grupos de AD em AD
  • Como Exportar Membros de um Grupo de AD em particular
  • >

  • Gerenciando OUs e Movendo Seus Objetos com PowerShell

>

Conclusão

>

Agora você aprendeu como gerenciar grupos e membros de grupos no Active Directory usando scripts PowerShell, tente executar algumas das tarefas de gestão do grupo você mesmo. Contudo, tenha cuidado, e não se esqueça de ativar o recurso Active Directory Recycle Bin para que você possa facilmente reverter suas alterações se algo der errado. Lembre-se, o snap-in ADUC MMC é ótimo para gerenciar grupos e membros de grupos, mas o PowerShell é muito melhor para gerenciar grupos em massa.

Jeff é Diretor de Engenharia de Soluções Globais na Netwrix. Ele é um blogueiro, palestrante e apresentador de longa data da Netwrix. No blog da Netwrix, Jeff compartilha lifehacks, dicas e truques que podem melhorar drasticamente sua experiência em administração de sistemas.

Deixe uma resposta

O seu endereço de email não será publicado.