Usando o módulo ActiveDirectory PowerShell, você pode consultar grupos AD com Get-AdGroup, adicionar, atualizar e remover grupos e membros de grupos. Neste post do blog, você vai aprender um pouco sobre os cmdlets do PowerShell para grupos no Active Directory, com uma tonelada de exemplos para referência.
Cmdlets de Grupo no Active Directory
Uma vez que instala o módulo ActiveDirectory PowerShell, você encontrará alguns cmdlets disponíveis para gerenciar grupos.
Cmdlet Name | Description |
Add-ADGroupMember | Used to add members to an AD group. |
Add-ADPrincipalGroupMembership | Used to add an AD principal to AD groups. |
Get-ADGroup | Used to return a group or groups from AD. |
Get-ADGroupMember | Used to return the members of an AD group. |
Get-ADPrincipalGroupMembership | Used to get the groups an AD principal is a member of. |
New-ADGroup | Used to create a new AD group. |
Remove-ADGroup | Used to delete an AD group. |
Remove-ADGroupMember | Used to remove members from an AD group. |
Remove-ADPrincipalGroupMembership | Used to remove an AD principal from AD groups. |
Set-ADGroup | Used to set the properties of an AD group. |
Usando esses cmdlets e um pouco de PowerShell kung-fu, você pode gerenciar todos os aspectos do grupo no Active Directory com PowerShell.
Encontre os membros de um grupo com Get-ADGroupMember
O cmdlet Get-AdGroupMember
retorna todos os membros de um grupo.
Alternativamente, você pode fazer referência à propriedade memberOf
de um usuário específico usando o cmdlet Get-Aduser
. Para uma revisão sobre como criar filtros, confira Aprendendo Filtros de Diretório e LDAP no Active Directory com PowerShell.
Dois exemplos estão abaixo.
Isso retorna uma coleção de objetos ADPrincipal.
Exporte os membros de um grupo para um arquivo CSV.
Isso exporta o primeiro nome, sobrenome e endereço de e-mail de cada usuário. Encaminhe os resultados de Get-ADGroupMember
para Get-ADUser
porque estes são objetos ADPrincipal que não têm todas as propriedades que os objetos ADUser possuem.
Observe o uso do parâmetro
NoTypeInformation
deExport-CSV
para garantir que o arquivo CSV seja compatível com outras aplicações.
Encontre grupos sem membros com Get-ADGroup
Use Get-AdGroup
para encontrar grupos usando filtros. Dois exemplos abaixo.
Crie um novo grupo de segurança com New-ADGroup
Você cria um novo grupo de segurança usando o comando New-AdGroup
.
Se nenhum parâmetro Path
for fornecido, o novo grupo será criado no contêiner Users. O escopo do grupo deve ser DomainLocal
, Global
ou Universal
.
Crie um novo grupo de distribuição com New-ADGroup
Use New-AdGroup
novamente para criar um grupo de distribuição. Desta vez, escolha uma GroupCategory
de Distribution
.
Adicione membros a um grupo com Add-ADGroupMember
Adicionar usuários a um grupo do Active Directory com PowerShell pode ser feito usando o cmdlet Add-AdGroupMember
ou o cmdlet Add-ADPrincipalGroupMembership
.
Este comando especifica o grupo como o Identity.
Este comando especifica o principal do AD como o Identity.
Escreva na propriedade Notas
de um grupo com Set-AdGroup
O campo rotulado Notas no ADUC é representado pela propriedade Info
retornada de Get-AdGroup
.
Primeiro, encontre o grupo a ser alterado, defina a propriedade Info
e depois use Set-AdGroup
para aplicar a alteração no AD.
Remova membros do grupo com Remove-ADGroupMember
Como todos os cmdlets do PowerShell, você pode usar o parâmetro Confirm
para ser solicitado antes que uma alteração seja feita. Esse comportamento também se aplica aos cmdlets Remove-AdGroupMember
e Remove-ADPrincipalGroupMembership
.
Abaixo você pode remover membros do grupo sem confirmação.
Ou você pode optar por remover membros do grupo com confirmação usando o parâmetro Confirm
.
Exclua um grupo com Remove-ADGroup
Exclua um grupo sem confirmação e com confirmação.
Renomeie um grupo com Rename-ADObject
Você pode renomear um grupo com uma linha usando Rename-ADObject
.
Obtenha o número de grupos com Get-ADGroup
Você precisa encontrar o número total de grupos retornados via Get-AdGroup
? Use a propriedade Count
.
Encontre grupos com um gerente com Get-ADGroup
Filtre todos os grupos que têm um gerente atribuído a eles com Get-AdGroup
e um filtro LDAP bem elaborado.
Não há filtro de PowerShell equivalente para isso.
Encontre grupos gerenciados por um usuário específico com Get-ADGroup
Aprimore suas habilidades de filtro e encontre todos os grupos gerenciados por um usuário específico usando um filtro PowerShell ou um filtro LDAP.
Defina o Gerente do grupo com Set-ADGroup
A guia Gerenciado por no ADUC para grupos permite designar alguém responsável pela associação do grupo. Isso não significa automaticamente que o gerente pode alterar a associação do grupo. Para que isso seja possível, as permissões de segurança precisam ser alteradas na propriedade Membro do grupo em questão.
Ao marcar a caixa O gerente pode atualizar a lista de associações para um grupo no Active Directory Users and Computers (ADUC), as permissões são alteradas para permitir isso.

Use Set-ADGroup
para definir o atributo GerenciadoPor:
A atualização da lista de controle de acesso requer algumas etapas adicionais. O trecho de código a seguir concede à usuária Kristin Diaz a capacidade de gerenciar a associação do grupo. bf9679c0-0de6-11d0-a285-00aa003049e2 é o GUID da propriedade Membro
do grupo.
Se Kristin também for definida como gerente do grupo, a caixa de seleção será marcada. Caso contrário, Kristin ainda poderá gerenciar a associação do grupo, mas não será mostrada como gerente no ADUC.
Encontre senhas vazadas e inseguras em seu Active Directory verificando a lista de senhas do NCSC.
Encontre todos os grupos de segurança
Liste todos os grupos de segurança no Active Directory com o PowerShell, limitando sua consulta apenas a grupos de segurança com esses dois exemplos. Qual é o filtro LDAP, você pergunta? Aprenda tudo sobre filtros LDAP.
Encontre grupos de distribuição
Use o PowerShell para listar Grupos do Active Directory (distribuição), excluindo grupos de segurança usando esses dois exemplos.
Encontre a associação de grupo para um usuário com Get-ADPrincipalGroupMembership
Observe que este comando requer acesso a um catálogo global.
Encontre grupos em uma UO, sem incluir sub-UOs
Seja específico usando o parâmetro SearchBase
para limitar sua pesquisa a uma única UO com esses dois exemplos.
Encontre grupos em uma UO, incluindo todas as sub-UOs
Você precisa encontrar todos os grupos em UOs filhas? Use um SearchScope
de SubTree
.
Resumo
Isso conclui nossa demonstração orientada por exemplos de gerenciamento de grupos do AD com o PowerShell. Pegue alguns desses, experimente em sua organização e comece a automatizar!