Quick & Dirty: Einheitliche E-Mail Signaturen für Outlook Web App (OWA)

Und wieder ein schnelles Script aus der Kategorie Quick & Dirty: Einheitliche E-Mail Signaturen für OWA. Wer keine Drittanbieter Software im Einsatz hat, die einheitliche Mail Signaturen auch in OWA verteilen kann, der kann auf dieses schnelle Script zurückgreifen:

$mailboxes = get-mailbox -resultsize unlimited

foreach ($mailbox in $mailboxes)
{
	$uservars = get-user $mailbox
	if ($uservars)
		{
			$SamAccountName = $uservars.SamAccountName
			$UserPrincipalName = $uservars.UserPrincipalName
			[string]$WindowsLiveID  = $uservars.WindowsLiveID
			$NetID = $uservars.NetID
			$AssistantName = $uservars.AssistantName
			$City = $uservars.City
			$Company = $uservars.Company
			$CountryOrRegion = $uservars.CountryOrRegion
			$Department = $uservars.Department
			$DisplayName = $uservars.DisplayName
			$Fax = $uservars.Fax
			$FirstName = $uservars.FirstName
			$LastName = $uservars.LastName
			$HomePhone = $uservars.HomePhone
			$Initials = $uservars.Initials
			$Manager = $uservars.Manager
			$MobilePhone = $uservars.MobilePhone
			$Notes = $uservars.Notes
			$Office = $uservars.Office
			$OtherFax = $uservars.OtherFax
			$OtherHomePhone = $uservars.OtherHomePhone
			$OtherTelephone = $uservars.OtherTelephone
			$Pager = $uservars.Pager
			$Phone = $uservars.Phone
			$PhoneticDisplayName = $uservars.PhoneticDisplayName
			$PostalCode = $uservars.PostalCode
			$PostOfficeBox = $uservars.PostOfficeBox
			$StateOrProvince = $uservars.StateOrProvince
			$StreetAddress = $uservars.StreetAddress
			$Title = $uservars.Title
			$WebPage = $uservars.WebPage
			[string]$WindowsEmailAddress = $uservars.WindowsEmailAddress
			$Name = $uservars.Name
		}

#Die folgenden Variablen können für die Signatur genutzt werden:
#-------------------------------------------------------------------------------------------------------------------------
		
<#

$SamAccountName
$UserPrincipalName
$WindowsLiveID
$NetID
$AssistantName
$City
$Company
$CountryOrRegion
$Department
$DisplayName
$Fax
$FirstName
$HomePhone
$Initials
$LastName
$Manager
$MobilePhone
$Notes
$Office
$OtherFax
$OtherHomePhone
$OtherTelephone
$Pager
$Phone
$PhoneticDisplayName
$PostalCode
$PostOfficeBox
$StateOrProvince
$StreetAddress
$Title
$WebPage
$WindowsEmailAddress
$Name

#>

#Hier Text für die Nur-Text Signatur festlegen:
#-------------------------------------------------------------------------------------------------------------------------

$txtsignature = `
"
---`r`n
Mit freundenlichen Grüßen`r`n
$firstname $lastname`r`n
$Department`r`n
`r`n
Fon: $phone`r`n
Fax: $fax`r`n
`r`n
FrankysWeb`r`n
"

#Hier Text für die HTML Signatur festlegen:
#-------------------------------------------------------------------------------------------------------------------------

$htmlsignature = `
"
<b>
---
Mit freundenlichen Grüßen
$firstname $lastname
$Department

Fon: $phone
Fax: $fax

FrankysWeb
</b>
"

#Sigantur zuweisen:
#-------------------------------------------------------------------------------------------------------------------------

write-host "Erstelle Signatur für $SamAccountName"
$signature = Set-MailboxMessageConfiguration $SamAccountName -SignatureText $txtsignature -SignatureHtml $htmlsignature -AutoAddSignature:$true

}

Diese Variablen können zum Erzeugen der Signatur verwendet werden:

$SamAccountName
$UserPrincipalName
$WindowsLiveID
$NetID
$AssistantName
$City
$Company
$CountryOrRegion
$Department
$DisplayName
$Fax
$FirstName
$HomePhone
$Initials
$LastName
$Manager
$MobilePhone
$Notes
$Office
$OtherFax
$OtherHomePhone
$OtherTelephone
$Pager
$Phone
$PhoneticDisplayName
$PostalCode
$PostOfficeBox
$StateOrProvince
$StreetAddress
$Title
$WebPage
$WindowsEmailAddress
$Name

Im unteren Teil des Scripts kann dann mit diesen Variablen eine Signatur erzeugt werden, die entsprechend in OWA angehangen wird. Ähnlich wie in Outlook auch.

Bitte beachten das bei der Nur-Text Signatur ein Zeilenumbruch eingefügt werden muss, damit nicht die komplette Signatur in einer Zeile steht („`r`n“)

Das Script gilt für OWA, nicht für Outlook. Viel Spaß damit.

5 Gedanken zu „Quick & Dirty: Einheitliche E-Mail Signaturen für Outlook Web App (OWA)“

  1. Die Zeile 46 erzeugt eine Fehlermeldung, ich habe sie auskommentiert.

    Außerdem noch ein Tipp für schöne HTML Signaturen inkl. den Variablen darin:
    Beginn mit Zeile 103:
    $htmlsignature = `
    @‘

    Mit freundlichen Grüßen XXXXXXX GmbH
    {0} {1}
    ={2}= Telefon: {3} Mobil: {4}

    ‚@ -f $firstname, $lastname, $Department, $phone, $MobilePhone

    Danach folgt der write-host Befehl

    Mit den @ Zeichen und anschließend dem Parameter -f und den folgenden Variablen werden die Variablen in den HTML Code geschrieben (die geschweiften Klammern)! Außerdem muss man einfache Anführungsstriche für den gesamten HTML Code verwenden weil im HTML Code selber normale Anführungszeichen verwendet werden!
    Getestet mit Exchange 2016 !

    Insgesamt ein super Artikel! Hätte nicht gedacht das ganze so einfach zu realisieren!

    Antworten
  2. Hallo Frank!

    Danke fuer das tolle Skript!
    „Leider“ habe ich dazu noch eine Frage…
    Wir haben ein Konstrukt mit mehreren Windows-Subdomaenen und wenn ich für jede Domaene ein eigenes Skript baue (was ich wegen der unterschiedlichen Signaturinhalte leider machen muss) und das Skript für die erste Subdomaenne durchlaufen lasse (Filterung mit $mailboxes = get-mailbox -resultsize unlimited | where {$_.EmailAddresses -like („*.abc@xyz.de“)}), ist noch alles gut. Wenn ich aber anschl. dann das Skript fuer die zweite Subdomaene anwerfe, steht bei allen OWA-Postfaechern aus der ersten Subdomaene im Signaturfeld nur noch „True“. Was mache ich falsch? Ansonsten ist das genau das, was wir suchen…
    Danke!

    Gruss,

    Max

    Antworten
  3. Hallo Frank,
    vielen Dank für dieses geniale Script um die OWA-Signaturen in den Griff zu bekommen.
    Siehst du eine Möglichkeit das Script so anzupassen, dass man damit auch die Office365-OWA-Accounts mit einer einheitlichen Signatur versehen kann?
    Viele Grüße aus Augsburg
    Roland

    Antworten

Schreibe einen Kommentar