AP853 - Alterando vários usuários através do Management Shell
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:
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.
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:
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:
Agora baseado no script acima, precisamos definir o atributo1 da caixa com o texto "alterado by script", então devemos:
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. |