Muitas vezes existe a necessidade de atualizar diversas informações de usuários no AD (Active Directory), como por exemplo, todos os ramais cadastrados, ou o endereço de todos os funcionários. O artigo de hoje será um guia definitivo de como atualizar estas informações da maneira rápida e segura.

1 – Formatação da planilha Excel

Abaixo, criei um exemplo fictício de uma planilha Excel enviada pelo RH, onde é solicitado a atualização dos campos “Cargo”, “Departamento” e “Endereço”.

Exemplo de planilha enviada pelo RH, para atualizar o AD

É importante termos o campo “Login de Rede” (ou SamAccountName) na planilha, pois os scripts localizarão os usuários através deste campo.

2 – Criando o script para fazer a atualização

O primeiro passo é criar na mesma linha do usuário “Gabriel Dutra”, o comando PowerShell para fazer esta atualização, concatenando o Login de Rede e o Novo Cargo.

Set-ADUser -Identity "gabriel.dutra" -Replace @{title="Analista de Suporte Sr"}

As células ficarão assim:

Criando o script no Excel

G2: Set-ADUser -Identity "

H2: Concatenar(B2)

I2: " -Replace @{title="

J2: Concatenar(C2)

K2: "}

Após isto, basta arrastar os campos para baixo que tudo será preenchido automaticamente. Ficará desta forma:

Concatenando o script no Excel

3 – Concatenando o comando no Excel

Após isso, basta concatenar todos os dados do script na célula ao lado, que será formado o comando PowerShell para atualizar o cargo. Desta forma:

Concatenando o script no Excel

Neste caso, para que a célula M2 monte o comando, ela deverá ficar assim:

=CONCATENAR(G2;H2;I2;J2;K2)

Concatenando o script para o PowerShell

Novamente, basta arrastar para baixo para que tudo seja preenchido automaticamente:

Scripts concatenados no Excel, prontos para serem executados no PowerShell

E então, copiar todos os campos e executar no PowerShell:

Executando a atualização em massa no AD

No AD:

Validando na interface gráfica do AD


E para atualizar os outros campos do AD?

Basicamente todos os dados do AD podem ser alterados através dos Atributos, então agora para alterar o endereço, por exemplo, basta trocar o campo Title por streetAddress e a concatenação do campo “Novo Cargo” passa a ser “Novo Endereço”, desta forma:

Atualizando os outros campos no Excel

Executando no PowerShell:

Executando a atualização em massa no AD

Validando no AD:

Validando no AD


Dicas e Observações

1 – O atributo -Replace deve ser utilizado para alterar algum dado no AD. Caso o campo que precise preencher esteja em branco, o atributo a ser utilizado deverá ser -Add, e o comando ficará desta forma:

Set-ADUser -Identity "usuario" -Add @{title="Digite o cargo"}

2 – Caso a planilha enviada pelo Excel não contenha o campo Login de Rede, você pode fazer um export do AD utilizando o comando CSVDE. Neste link aqui temos um tutorial.

3 – Abaixo, a lista dos comandos PowerShell para atualizar os principais campos do AD:

Departamento:
Set-ADUser -Identity "anyUser" -Replace @{department="myString"}

Display Name:
Set-ADUser -Identity "anyUser" -Replace @{displayName="myString"}

Cidade:
Set-ADUser -Identity "anyUser" -Replace @{l="myString"}

Descrição:
Set-ADUser -Identity "anyUser" -Replace @{description="myString"}

Telefone:
Set-ADUser -Identity "anyUser" -Replace @{telephoneNumber="myString"}

Cargo:
Set-ADUser -Identity "anyUser" -Replace @{title="myString"}

Empresa:
Set-ADUser -Identity "anyUser" -Replace @{company="myString"}

A lista completa pode ser visualizada no “Editor de Atributos” de cada usuário.


Conclusão

Concluímos que o Excel é uma excelente ferramenta para criarmos scripts de atualização em massa no AD. No link abaixo, você pode baixar o arquivo Excel para usar como base em futuras atualizações.

CLIQUE AQUI PARA BAIXAR

Dúvidas, sugestões, elogios, criticas, comente abaixo e não deixe de curtir a página do Guri da TI no Facebook.

Posted by Gabriel Moraes

Criador e mantenedor do blog. Atuo na área de suporte à 4 anos e curso Análise e Desenvolvimento de Sistemas.