Política de assinatura do Exchange OWA 2010

1

Eu tenho um ambiente do Exchange 2010. Para o Outlook (versão para desktop), temos uma configuração de script na Diretiva de Grupo para enviar assinaturas padronizadas por toda a organização. Eu quero fazer o mesmo para o OWA, mas

  1. Eu não quero usar regras de transporte, pois os usuários não podem ver sua assinatura no momento da gravação da mensagem. Gostaríamos que eles pudessem ver a assinatura
  2. Existem muitos softwares que podem fazer isso, mas estamos tentando manter os custos baixos.

Se eu usasse Set-MailboxMessageConfiguration, os dados do Active Directory poderiam ser extraídos para criar as assinaturas, considerando um ID de usuário de troca? Eu sei que desta forma eu teria que executar o script em um cronograma para esclarecer quaisquer atualizações e novos usuários.

    
por marcwenger 08.05.2013 / 23:36

1 resposta

2

Eu lentamente consegui escrever um script que faz o que eu preciso, e vou compartilhar uma versão higienizada. Para cada caixa de correio, atribua suas assinaturas - texto e versão HTML. Dependendo dos tipos de telefone que o usuário possui, ele faz suas sigantures de acordo.

 Import-Module ActiveDirectory
. 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1' Connect-ExchangeServer -auto
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010

$userList = get-mailbox -resultsize unlimited | where-object {$_.RecipientTypeDetails -eq "UserMailbox"} | sort-object alias

foreach($user in $userList)
{
    $ui = get-aduser $user.alias -properties *
    $telLine = ""
    $telLineHTML = ""
    $telLineText = ""

    if($ui.telephoneNumber -ne $null -and $ui.Mobile -ne $null -and $ui.Fax -ne $null){
        $telLine =  "Tel: " + $ui.telephoneNumber + " | Cell: " + $ui.Mobile + " | Fax: " + $ui.Fax
    }
    elseif($ui.telephoneNumber -ne $null -and $ui.Mobile -ne $null){
        $telLine =  "Tel: " + $ui.telephoneNumber + " | Cell: " + $ui.Mobile
    }
    elseif($ui.telephoneNumber -ne $null -and $ui.Fax -ne $null){
        $telLine =  "Tel: " + $ui.telephoneNumber + " | Fax: " + $ui.Fax
    }
    elseif($ui.telephoneNumber -ne $null){


$telLine =  "Tel: " + $ui.telephoneNumber
}
elseif($ui.Mobile -ne $null){
    $telLine =  "Cell: " + $ui.Mobile
}

if($telLine -ne "")
{
    $telLineHTML = $telLine + "<br>"
    $telLineText = $telLine + "'n"
}

$t = $ui.DisplayName + " | " + $ui.Title + "'n" + $ui.Company + "'n" + $ui.StreetAddress + ", " + $ui.City + ", " + $ui.State + ", " + $ui.PostalCode + "'n" + $telLineText + "Email: " + $ui.EmailAddress.ToLower()

$h = "<div style='font-family:Tahoma; font-size:13px'><span color='#041F3C' style='font-family:Calibri; font-size:10pt'><strong>" + $ui.DisplayName + " | </strong></span><span color='#F37021' style='font-family:Calibri; font-size:10pt'><strong><font color='#f37021'>" + $ui.Title + "</font></strong></span><br><span style='font-family:Calibri; font-size:10pt'>" + $ui.Company + "<br>" + $ui.StreetAddress + ", " + $ui.City + ", " + $ui.State + ", " + $ui.PostalCode + "<br>" + $telLineHTML + "Email: <a href='mailto:" + $ui.EmailAddress.ToLower() + "'>" + $ui.EmailAddress.ToLower() + "</a></span></div>"

    Set-MailboxMessageConfiguration $ui.SamAccountName -SignatureText $t -signatureHTML $h

    #get-MailboxMessageConfiguration $ui.SamAccountName | select SignatureText, SignatureHTML | format-list
}
    
por 13.05.2013 / 19:36