Jump to content

Outlook Signatur mit PowerShell automatisieren


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hi all

 

Folgendes Skript habe ich mir zusammengestellt und in meiner Testumgebung mit Server 2016 und Windows 10 erfolgreich getestet.

Dieses möchte ich gerne in meiner Firma anwenden.

Wie nachfolgend erklärt, haben wir bereits einen Mechanismus auf .vbs Basis, jedoch für mich/ uns Mitarbeitenden im ICT Team als NICHT vbs Programmierer nicht ganz einfach in Bezug Troubleshooting.

 

1. In meiner Firma haben wir im Gegensatz zu mir Privat 2 DCs, basierend auf Server 2016. Sowohl die Server Privat wie auch die im Geschäft werden stets mit den neusten Updates installiert. Privat sind die Server OS EN, im Geschäft auf DE.

2. Im Geschäft existiert bereits eine ähnliche Lösung, jedoch auf .vbs Basis. Damit werden im Moment zwei unterschiedliche Signaturen mit unterschiedlichen Corporate Design erstellt, funktioniert soweit auch.

3. Möchte das gleiche Ziel mit PowerShell erreichen, weiss aber nicht wie ich zwei verschiedene Signaturen auf sehr einfache Art und Weise so sowohl als Default Signatur wie auch als Antwort/ Weiterleitung Signatur verwenden könnte?!

4. Bevor Punkt 3 ein Thema wird, müsste zuerst die ganze Geschichte mit einer Signatur funktionieren (Signatur wird als Antwortadresse automatisch definiert, Signatur wird auch als Antwort/ Weiterleitung Antwort automatisch hinterlegt)

Wie schon am Anfang geschildert, funktioniert genau dieses Szenario bei mir Privat - im Geschäft jedoch nicht.

Im Geschäft beinhaltet z.B. die kopierte Signatur.htm (wird nach %AppData%\Microsoft\Signatures kopiert) im Zielordner, wenn ich die htm Datei öffne und im Browser anschaue so komische Zeichen, sprich, alle Umlaute werden nicht mehr korrekt angezeigt.

Die Default HTM Datei, welche auf dem Server ja im einem Share liegt, zeigt alle Umlaute korrekt an. Dies, weil ich in der Signatur.htm Vorlage im HTML Code folgende Zeile hinterlegt habe.

5. Der Abschnitt #Set the signature as default for new emails

Welchen ich im Internet irgendwo gefunden habe und mir so auf ganz einfache Art und Weise die Signatur im Outlook als automatische Antwort Signatur hinterlegt, arbeitet mit dem -ComObject (was leider in der bereits vorhandenen .vbs Lösung bei uns im Geschäft auch schon angewendet wurde).

 

Müsste ich in meinem Geschäft quasi auf grüner Wiese beginnen, die Lösung wäre auch nicht bereits durch .vbs programmiert worden, ich müsste nur eine Signatur als Standard definieren und nicht zwei unterschiedliche Signaturen, würde wohl mein Beispiel auf anhieb funktionieren (bis auf die kopierte Signatur Template Datei nach %AppData%\Microsoft\Signatures, welche die Umlaute nun plötzlich als komische Zeichen anzeigt)

 

Dieser Teil hier löst in der htm Datei (Signatur Vorlage das Problem). Ist wie erwähnt auch in der kopierten, neu erstellten/ generierten .htm Signatur Datei enthalten.

-------------

<html lang="de">
<head>
<meta charset="utf-8">
</head>

-------------

 

Warum zum Geier wird dann die Signatur.htm Datei, welche dadurch entsteht, dass das PS Skript alle darin enthaltenen Platzhalter durch die richtige Werte abfüllt und dabei im %AppData%\Microsoft\Signatures ablegt, dort falsch angezeigt?

Editiere ich diese Datei, beinhaltet dies natürlich wie die Vorlage Datei genau auch diesen Abschnitt hier, welche ja dafür sorgt oder sorgen sollte, dass Umlaute korrekt dargestellt werden.

 

Als Randbemerkung: Als ich angefangen habe, mit PowerShell zu testen, hatte ich am Anfang nie mit diesem Problem zu kämpfen, da hatte ich andere Dinge, welche nicht auf Anhieb funktioniert hatten.

Dieses nun geschilderte Problem ist neu dazugekommen, wie auch immer, warum auch immer, verstehe es nicht wirklich. Aber vielleicht versteht z.B. dieses Phänomen sonst Jemand hier im Forum? :-)

 

Und zum Schluss betreffend Punkt 5. Da ergibt im PowerShell die Eingabe von $EMailSignature eine Ausgabe mit diversen Parametern Und: Da stellte ich eben z.B. Fest, dass hier auch schon ein Wert für ReplyMessageSignature: definiert ist und das ist wohl auch der Grund, warum dann der nächste Abschnitt (#Set the signature as default for answers/ forwarding.) genau einen Fehler ausgibt

 

Hier der Ausschnitt betreffend Punkt 5

---------------------

#Set the signature as default for new emails.

$MSWord = New-Object -ComObject word.application

$EmailOptions = $MSWord.EmailOptions

$EmailSignature = $EmailOptions.EmailSignature

$EmailSignature.NewMessageSignature = “Signatur-FirmaX” #insert the signature Name

------------------------------

 

#Set the signature as default for answers/ forwarding.

$EmailSignature.ReplyMessageSignature = “Signatur-FirmaX" #insert the signature name

$MSWord.Quit()

 

Lasse ich diesen Abschnitt im PowerShell rauschen, wird mir ein Fehler ausgeben (Unerwartetes Token "" in Ausdruck oder Anweisung.)

Das liegt wie erwähnt nach meinem Verständnis wohl daran, dass der Parameter ReplyMessageSignature anscheinend schon einen Wert definiert hat (wurde anscheinend im .vbs Skript schon verwendet), also einen anderen, als ich hier definiert habe und führt wohl darum zum Problem?!

 

Link zu diesem Kommentar

Da fällt mir nur eins ein, auch wenns zynisch klingt: Warum erfindet man ein Rad, wenn man schon eines hat? :-)

Und zum Thema Outlook-Skripting: http://www.dimastr.com/redemption/home.htm

Gibt soweit ich weiß nichts besseres.

 

Du kannst natürlich auch mal schauen, was $EmailSignature | Get.-Member so an Membern ausspuckt. Vielleicht ist die Property ReplyMessageSignature ja Readonly, und Du kannst sie per Set_ReplyMessageSignature setzen? Ne, ist nur ein String, grad geschaut. Aber da gibt es noch EmailSignatureEntries - da mußt wohl ein wenig durch das Objektmodell forschen :-)

Link zu diesem Kommentar

Ab Outlook 2016 kannst du den Signaturname als String in der Registry setzen. Vor 2016 musst dies in Hex oder Binary konvertieren (bin mir grad nicht sicher).

 

Abgesehen davon funktioniert anders besser. Erstelle eine Word Vorlage mit deinem Design und Variablen Namen als Platzhalter für die Details.

Diese kannst du dann einfach per Powershell ersetzen.

 

Aus dem Word kannst du dann HTML,RTF und TEXT erstellen

bearbeitet von nemonix
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...