Назад | Перейти на главную страницу

Политика подписи Exchange OWA 2010

У меня есть среда Exchange 2010. Для Outlook (настольная версия) у нас есть сценарий настройки в групповой политике для распространения стандартизированных подписей по всей организации. Я хочу сделать то же самое для OWA, но

  1. Я не хочу использовать правила транспорта, поскольку пользователи не видят свою подпись во время написания сообщения. Мы бы хотели, чтобы они видели подпись
  2. Есть много программного обеспечения, которое может это сделать, но мы пытаемся снизить затраты.

Если бы я использовал Set-MailboxMessageConfiguration, можно ли было извлечь данные из Active Directory для создания подписей с учетом идентификатора пользователя Exchange? Я знаю, что таким образом мне придется запускать скрипт по расписанию, чтобы учитывать любые обновления и новых пользователей.

Мне постепенно удалось написать скрипт, который делает то, что мне нужно, и я поделюсь очищенной версией. Для каждого почтового ящика заставьте назначить свои подписи - как текстовую, так и HTML-версию. В зависимости от типа телефона, который есть у пользователя, он делает соответствующие сигнатуры.

 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
}