quinta-feira, 18 de abril de 2013

Automatização das assinaturas no OWA.

Pessoal, recentemente tive essa demanda e gastei um bom tempo pesquisando e não tinha encontrado nada pronto para esse devido fim. Resultado tive de desenvolver um script em powershell para isso.
A ideia é criar assinaturas automatizadas para os usuários do OWA, aonde as informações que compõem a assinatura venham das informações dos usuários cadastradas no Active Directory.
O exemplo a seguir foi homologado com Exchange 2010, mas é muito provável que funcione com Exchange 2007 e 2013, assim que eu homologar eu posto a compatibilidade. Ele pode servir de base para scripts mais complexos. Lembrando que os dados que você for utilizar devem estar preenchidos nos objetos dos usuários no Active Directory.
Neste exemplo utilizamos um arquivo PNG para anexar uma imagem no final da assinatura, e esse arquivo deve estar hospedado no site que consta na propriedade do usuário no Active Directory.
 Você pode agendar esse script seguindo a dica de rodar comando agendados no post sobre balanceamento de databases do Exchange.
OBS: Esse Script só deve ser utilizado por quem sabe o que está fazendo e com o quê está lidando! Use por sua conta e risco




Import-Module activedirectory
$Caixa = Get-Mailbox -ResultSize Unlimited
function Lista
{
$args[0]
$user2Find = $args[0]
$user = Get-ADUser $user2Find -Properties DisplayName,Title,Department,telephoneNumber,Company,Office,wWWHomePage
$NomeUsuario = $user.DisplayName
$Titulo = $user.Title<
$Departamento = $user.Department
$Telefone = $user.telephoneNumber
$Unidade = $user.Company
$Escritorio = $user.Office
$Url = $user.wWWHomePage
$pagina="<html><head><style>p{margin: 3px;padding: 0px;}#space{margin-bottom: 15px !important;}</style></head>"
$pagina = $pagina + "<br/><br/><body><p><font color=#215868 face=Cambria size=2><b>Att.</b></font></p>"
$pagina = $pagina + "<p><font color=#215868 face=Cambria size=3><b>$NomeUsuario</b></font></p>"
$pagina = $pagina + "<p><font color=#808080 face=Cambria size=2>$Titulo</font></p>"
$pagina = $pagina + "<p><font color=#808080 face=Cambria size=2>$Departamento  |  $Telefone</font></p><br/>"
$pagina = $pagina + "<p><font color=#808080 face=Cambria size=2>$Unidade  | Ribeirao Preto - SP - Brasil</font></p>"
$pagina = $pagina + "<p><font color=#808080 face=Cambria size=2>$Escritorio  |  0XXX XX XX XX</font></p>"
$pagina = $pagina + "<p><font color=#808080 face=Cambria size=2>Website: <a href=http://$Url>$Url</a></font></p>"
$pagina = $pagina + "<p><img src=http://$Url/logo.png /></p>"


Set-MailboxMessageConfiguration -identity $args[0] -SignatureHtml $pagina 
Set-MailboxMessageConfiguration -Identity $args[0] -AutoAddSignature $true
}

$Caixa | ForEach-Object { Lista $_.Alias }
 

Em um proximo post vou mostrar como realizar a mesma automação, mas nos outlooks dos usuários.

Nenhum comentário:

Postar um comentário