Zum Inhalt springen

Outlook 2003 - Automatische Signaturengenerierung


Empfohlene Beiträge

Geschrieben

Tag,

zukünftig werden bei uns Outlook Signaturen automatisch von einer Software erzeugt und an die entsprechende Stelle im Dateisystem gelegt.

Folgendes Problem besteht allerdings zurzeit noch:

Bei einer neuen E-Mail gibt es den Menüpunkt Einfügen | Signatur. Die Einträge hinter dem Menüpunkt werden nicht automatisch aktualisiert nach Löschen/Erzeugen von Signaturen.

Beispiel: Ich lösche alle vorhandenen Signaturen (in %appdata%\Microsoft\Signatures) mittels der Software. Anschließend legt das Programm die neu generierten Signaturen im selben Verzeichnis ab. Wird jetzt eine neue E-Mail verfasst, erscheinen in dem o.g. Menüeintrag (s. Anhang) weiterhin die Namen der alten Signaturen. Die Einträge verschwinden erst, wenn jeder einzelne Eintrag einmal angeklickt und die entsprechende Fehlermeldung bestätigt wurde.

Kennt einer eine Möglichkeit, diese Einträge automatisiert mittels Skript zu entfernen?

(Die Einträge werden hex-kodiert in der Registry abgespeichert unter "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook", wobei sich die Namen der Schlüssel und Werte von Client zu Client unterscheiden.)

post-41117-14430448431236_thumb.jpg

Geschrieben

Zum entfernen (pro User), muss der folgende Eintrag in der Registry gelöscht werden:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\<profile name>\0a0d020000000000c000000000000046\101f035c

Wenn die Profile alle gleich heißen, sollte es kein Problem sein.

Mich würde hingegen interessieren, die neu erstellte Signatur gleich dort zu verlinken.

Gruss,

tester2k5

Geschrieben

Wenn die Profile alle gleich heißen, sollte es kein Problem sein.

Ja, genau dass ist das Problem. Die Profile heißen wie Sie wollen und ich meine, dass auch die Schlüssel nicht immer gleich heißen.

Mich würde hingegen interessieren, die neu erstellte Signatur gleich dort zu verlinken.

Wäre auch interessant, entspricht aber nicht dem Verhalten, wenn man mittels Outlook, eine Signatur anlegt. Die Namen der Signaturen existieren dort erst, wenn man diese einmal manuell eingefügt hat.

Paar Hilfen habe ich schon gefunden:

OL97: How to Use Command Bars in Outlook Solutions

OutlookCode.com :: Selecting Outlook 2007 signature on send

Re: per VBA das Feld "einfügen>Signatur>MeineSignatur" ansprechen

  • 5 Wochen später...
  • 2 Wochen später...
Geschrieben

Der Code sollte dir weiterhelfen:


Const HKEY_CURRENT_USER = &H80000001


strComputer = "."

Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 

	strComputer & "\root\default:StdRegProv")


strRootKeyPath = "Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles"

objReg.EnumKey HKEY_CURRENT_USER, strRootKeyPath, arrSubKeys


For Each objSubKey In arrSubKeys

	WScript.Echo "Outlook Profile = " & objSubKey

Next


Set objReg = Nothing

Gruss,

tester2k5

  • 3 Wochen später...
Geschrieben

So hier mal mein fertiges Skript, für die, die es interessiert:



' Name: 	OutlookSignaturenCache.vbs

' Datum:	04.10.2009

' 

Set objWSHShell 		= WScript.CreateObject("WScript.Shell")

Set oFS 				= CreateObject("Scripting.FileSystemObject")

Const st_TEMPFILE 		= "signature-temp.reg"


' Variablen definieren

SignatureName 			= "Signatur 1"

RegPath					= "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\"


' Outlook Standardprofil auslesen und mit dem Namen weiterarbeiten

OutlookProfile			= objWSHShell.RegRead(RegPath & "DefaultProfile")


' Der Wert der nachfolgenden Variable legt zwei Signatureinträge "Signatur 1" und "Signatur 2" an.

NeueSignatureEintraege	= "0a,00,00,00,2c,00,00,00,42,00,00,00,44,00,00,00,46,00,00,00,48,00,00,00,4a,00,00,00,4c,00,00,00,4e,00,00,00,50,00,00,00,52,00,00,00,53,00,69,00,67,00,6e,00,61,00,74,00,75,00,72,00,20,00,31,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,53,00,69,00,67,00,6e,00,61,00,74,00,75,00,72,00,20,00,32,00,00,00"


' Auswaehlen, ob neue Cache-Signatureintraege erzeugt werden oder die alten nur entfernt werden sollen.

ErzeugeNeueEintraege	= "1" 


' Erstellen der Registryeintraege fuer die Standard- und Antworte-Signatur

' (Outlook verwendet in der Registry REG_BINARY als Speichertyp. REG_SZ geht auch.)

' objWSHShell.RegWrite RegPath & OutlookProfile & "\9375CFF0413111d3B88A00104B2A6676\00000001\New Signature", SignatureName, "REG_SZ"

' objWSHShell.RegWrite RegPath & OutlookProfile & "\9375CFF0413111d3B88A00104B2A6676\00000001\Reply-Forward Signature", SignatureName, "REG_SZ"


' Alte Cache-Eintraege loeschen (Menuepunkt: Neue E-Mail | Einfügen | Signatur)

objWSHShell.RegDelete RegPath & OutlookProfile & "\0a0d020000000000c000000000000046\101f035c"



' Neue Cache-Eintraege anlegen

' Das Erzeugen neuer Eintraege geschieht ueber einen Umweg, da per VBA kein direktes Schreiben von Binaerwerten in die Registry moeglich ist.

' Als Erstes wird eine temporaere .reg-Datei erzeugt mit dem notwendigen Inhalt erzeugt, die dann in einem zweiten Schritt in die Registry geschrieben wird.

if ErzeugeNeueEintraege = "1" Then

	Set txtStream = oFS.CreateTextFile(st_TEMPFILE, true)

	txtStream.WriteLine("Windows Registry Editor Version 5.00")

	txtStream.WriteLine("")

	txtStream.WriteLine("[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\" & OutlookProfile & "\0a0d020000000000c000000000000046]")

	txtStream.WriteLine(chr(34) & "101f035c" & chr(34) & "=" & "hex:" & NeueSignatureEintraege )

	txtStream.Close

	objWshShell.Run "regedit /s " & st_TEMPFILE, 1, true

	oFS.DeleteFile st_TEMPFILE

End if


Set objWshShell = Nothing

Set oFS = Nothing


' eof

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

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

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

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

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...