AndersonPatricio.org v4
Alterando vários usuários através do Management Shell

AP853 - Alterando vários usuários através do Management Shell

Autor: Anderson Patricio / Jose Rodas
Publicação: 16/Dezembro/2006
Compartilhe este artigo: Bookmark and Share

Overview

Uma funcionalidade não encontrada nas versões anteriores é capacidade de alterarmos vários usuários ao mesmo tempo sem a utilização de scripts em vbs e nada do gênero.

Artigos relacionados:

AP849 - Gerenciando Mail Users no Exchange Server 2007

AP814 - Criando um contato do tipo mail-enabled no Exchange 2007

AP815 - Gerenciando uma mailbox no Exchange Server 2007

Solução

O Exchange Management Shell permite a utilização de pipes, ou seja, podemos trabalhar com a saída de um comando com outro cmdlet em memória, isto facilita o trabalho do administrador. Neste artigo vamos ver alguns casos que conseguimos alterar vários atributos de usuários utilizando pesquisas no PowerShell.

Como alterar o envio máximo dos usuários para 5MB?

Isto fica muito fácil no Exchange Management Console, primeiro temos dois cmdlets para fazer este processo get-mailbox que vai listar todos os usuários e Set-Mailbox onde passamos o parâmetro e valor para alterar determinado usuário, mas como iremos fazer para uma série de usuários? Utilizando pipes, então vamos a sintaxe dos comandos a serem utilizados.

Get-Mailbox | set-mailbox -MaxSendSize 5MB
Onde toda saída do get-mailbox, ou seja, todas as mailboxes terão o atributo MaxSendSize alterado para 5MB

Get-Mailbox | select Name,MaxReceiveSize,MaxSendSize

Do resultado de get-mailbox estaremos selecionando somente os atributos Name,MaxReceiveSize,MaxSendSize na tela.

Como alterar todos usuários com determinado atributo?

Um ponto interessante no gerenciamento de usuários/mailboxes é que as informações ficam em locais separados, todas informações relacionadas aos usuários ficam no Active Directory e podemos recuperá-las através do comando get-user e outras através do get-mailbox. Mas os dados mostrados são diferentes, abaixo podemos ver o resultado do get-user onde são listados todos os usuários e o tipo de recipientes que eles são (usermailbox, user) quando rodamos o get-mailbox são apresentandos somente os usuários do tipo UserMailbox.

E quando precisamos alterar um determinado atributo de todos usuários que pertencem a determinado estado? precisamos unificar as saídas de get-user e get-mailbox para termos o nosso resultado. Isto ocorre porque o get-mailbox não traz informações relacionados ao usuário (departamento, telefone, webpage, estado e etc..).

Para isto precisamos unficar ambos, para começar vamos rodar o get-user listando somente os do tipo userMailbox, para tanto devemos rodar o seguinte cmdlet:

Get-User | Where-Object { $_RecipientType -eq "UserMailbox" }

Onde, o resultado de get-user será filtrado através de RecipientType para listar somente os UserMailbox

Agora que já conseguimos listar somente os usuários que possuem caixa, precisamos adicionar um "E" lógico e verificar também os que possuem como Estado a palavra "RS", então utilizamos:

Get-User | Where-Object { $_RecipientType -eq "UserMailbox" -and $_.StateorProvince -eq "RS"}

Estamos dizendo que da saída do get-user queremos todos que sejam UserMailbox e também do tipo RS no campo Estado ou Província.

Agora baseado no script acima, precisamos definir o atributo1 da caixa com o texto "alterado by script", então devemos:

Get-User | Where-Object { $_RecipientType -eq "UserMailbox" -and $_.StateorProvince -eq "RS"} | Set-Mailbox -CustomAttribute1:"Alterado by Script!"

Com o resultdo do cmdlet estamos alterando o atributo chamado CustomAttribute1 para o valor que definimos.

Agora se rodar o cmdlet get-mailbox <user> | format-list, teremos o resultado abaixo podemos perceber que em CustomAttribute1 consta com o valor que acabamos de alterar.

E támbém podemos olhar o mesmo atributo via Exchange Management Shell mostrando que foi inserido o texto via Managemetn Shell corretamente.



Conclusão

Com este tutorial mostramos como alterar um grande número de usuários utilizando o Exhange Management Shell.

Comentários

Neste espaço você pode utilizar sua rede social preferida para adicionar dicas e/ou qualquer informação adicional para ajudar a comunidade relacionado a este Tutorial.

Suporte Tecnico



Clique aqui

Certificados Digitais



Saiba mais