blackpearl00
Goto Top

OutlookSignature - Standardsignaturen per Registry setzen ab Office 2010

Hallo,

ich habe folgendes Problem mit OutlookSignature:
(Vielen Dank an den Programmierer - eine sehr geniale Lösung)

Bei Outlook 2010 wird die Signatur angelegt per Logon Script, nur leider nicht als Standard für NEW und REPLAY in der Registrierung gesetzt.
Leider habe ich dazu auch schon Google gefragt, nur es gibt viele ansetze, aber irgendwie noch keine richtige fertige Lösung.

Meine Überlegung war jetzt eine *.reg Datei anzulegen, die genau diesen Schlüssel in der Registrierung setzt und mit dem Logon Script ausgeführt wird.
Leider besteht das Problem, dass verschiedene Outlook Versionen eingesetzt werden.

Vielleicht habt Ihr für mich ein Lösungsansatz wie dies umsetzbar ist ohne an ca. 150 Rechner zu wandern.
Danke Euch schon mal.

Content-Key: 340494

Url: https://administrator.de/contentid/340494

Printed on: April 28, 2024 at 05:04 o'clock

Member: a1b2c3
a1b2c3 Jun 13, 2017 at 11:56:11 (UTC)
Goto Top
Hallo,

du kannst die Standardsignatur per PowerShell-Skript beim Login setzen.

Dazu musst du die Keys NewSignature und ReplySignature (beides erweiterbare Zeichenfolge) in folgendem Zweig setzen

Computer\HKEY_CURRENT_USER\Software\Microsoft\Office\[OFFICE-VERSION]\Common\MailSettings

Die Office-Version könntest du vorher noch abfragen und dann per If-Abfrage die richtigen Keys setzen lassen.

PowerShell Keys setzen

Gruß
Member: blackpearl00
blackpearl00 Jun 14, 2017 at 06:33:42 (UTC)
Goto Top
Danke dir für die Antwort.
Könntest du mir da genauer weiterhelfen, wie die Abfrage der Versionen auszusehen hat,
ist nicht so meine Stärke auf diesem Gebiet.
Member: a1b2c3
a1b2c3 Jun 14, 2017 at 07:56:52 (UTC)
Goto Top
Hi,

da ich auch nicht der Profi bin was die PS angeht, kann es zu umständlich sein. Funktioniert aber soweit.

Das Beispiel wäre jetzt für Office 2016.

#Den Registry-Zweig zugänglich machen
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT

#Auslesen der aktuellen Office-Version
$Version = Get-Itemproperty -Path 'HKCR:\Word.Application\CurVer' | select '(default)'  

if ($Version -match '16')  
	{
        #Dadurch werden die Standardeinstellungen auf das Outlook-Profil angewandt. Ansonsten müssten die Signature-Keys direkt in das jeweilige Profil geschrieben werden
	Remove-ItemProperty -path "hkcu:\software\microsoft\office\16.0\outlook\setup" -name "First-Run"   

	New-ItemProperty -Type "ExpandString" -path "hkcu:\software\microsoft\office\16.0\Common\MailSettings\" -name "NewSignature" -Value "[SIGNATUR-NAME]"  
	New-ItemProperty -Type "ExpandString" -path "hkcu:\software\microsoft\office\16.0\Common\MailSettings\" -name "ReplySignature" -Value "[SIGNATUR-NAME]"  
	}

Gruß
Member: blackpearl00
blackpearl00 Jun 14, 2017 at 11:40:00 (UTC)
Goto Top
Habe diese mal erstellt, leider kommt der Fehler, da das Ausführen von Skripts deaktiviert ist.

Die Datei "C:\...\signatur_outlook.ps1" kann nicht geladen werden, da die Ausführung von Skripts auf diesem System deaktiviert   
ist. Weitere Informationen finden Sie unter "about_Execution_Policies" (http://go.microsoft.com/fwlink/?LinkID=135170).  
    + CategoryInfo          : Sicherheitsfehler: (:) , ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnauthorizedAccess

Da dies ja auf jeden Client per Logon Script ausgeführt werden soll, muss ich ja vorher es aktivieren oder welche Möglichkeit gibt es da?
Member: a1b2c3
a1b2c3 Jun 14, 2017 at 11:57:36 (UTC)
Goto Top
Die Zeile noch an den Anfang des Script. Damit wird festgelegt, dass der Prozess Scripts ausführen darf.

Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned -Force


Hier kannst du nachlesen, welche Optionen noch möglich wären: Set-ExecutionPolicy
Member: blackpearl00
blackpearl00 Jun 14, 2017 at 13:04:25 (UTC)
Goto Top
Geht leider damit nicht.
Vielleicht noch als Anmerkung: Es ist eine Domäne und die GPO wird vom Server gesetzt.
Member: a1b2c3
a1b2c3 Jun 14, 2017 at 13:19:18 (UTC)
Goto Top
Funktioniert das Script prinzipiell erstmal, wenn du es z.B. manuell auf deinem PC ausführst?

Du hast es in der GPO als Anmeldescript für User eingebunden? Auch unter dem Reiter "Powershell-Skripts"?
Member: blackpearl00
blackpearl00 Jun 14, 2017 at 14:00:36 (UTC)
Goto Top
Nein, da kommt diese Meldung, wenn ich das Script in der Powershell abspiele, auch nicht als Administrator.
Member: a1b2c3
a1b2c3 Jun 15, 2017 at 05:04:49 (UTC)
Goto Top
Wenn noch immer die gleiche Meldung erscheint, muss es ja auch an der ExecutionPolicy liegen. Am besten mal eine andere Sicherheitsstufe zum Testen auf deinem PC wählen.
Member: blackpearl00
blackpearl00 Jun 15, 2017 at 12:58:07 (UTC)
Goto Top
Es ja jetzt funktioniert, hatte noch ein Fehler im Script. Vielen Danke euch.

Noch eine Sache, wie funktioniert das mit der Abfrage der Office Versionen,
muss ich jetzt für jede Office Version die if-Schleife darunter setzen?

#Den Registry-Zweig zugänglich machen
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT

#Auslesen der aktuellen Office-Version
$Version = Get-Itemproperty -Path 'HKCR:\Word.Application\CurVer' | select '(default)'  

if ($Version -match '16')  
	{
        #Dadurch werden die Standardeinstellungen auf das Outlook-Profil angewandt. Ansonsten müssten die Signature-Keys direkt in das jeweilige Profil geschrieben werden
	Remove-ItemProperty -path "hkcu:\software\microsoft\office\16.0\outlook\setup" -name "First-Run"   

	New-ItemProperty -Type "ExpandString" -path "hkcu:\software\microsoft\office\16.0\Common\MailSettings\" -name "NewSignature" -Value "[SIGNATUR-NAME]"  
	New-ItemProperty -Type "ExpandString" -path "hkcu:\software\microsoft\office\16.0\Common\MailSettings\" -name "ReplySignature" -Value "[SIGNATUR-NAME]"  
	}

if ($Version -match '14')  
	{
        #Dadurch werden die Standardeinstellungen auf das Outlook-Profil angewandt. Ansonsten müssten die Signature-Keys direkt in das jeweilige Profil geschrieben werden
	Remove-ItemProperty -path "hkcu:\software\microsoft\office\14.0\outlook\setup" -name "First-Run"   

	New-ItemProperty -Type "ExpandString" -path "hkcu:\software\microsoft\office\14.0\Common\MailSettings\" -name "NewSignature" -Value "[SIGNATUR-NAME]"  
	New-ItemProperty -Type "ExpandString" -path "hkcu:\software\microsoft\office\14.0\Common\MailSettings\" -name "ReplySignature" -Value "[SIGNATUR-NAME]"  
	}
Member: a1b2c3
a1b2c3 Jun 15, 2017 at 13:14:13 (UTC)
Goto Top
Ja genau, die If brauchst du für jede Version die ihr nutzt.
Mitglied: 133417
133417 Jun 15, 2017 updated at 13:30:39 (UTC)
Goto Top
Zitat von @a1b2c3:
Ja genau, die If brauchst du für jede Version die ihr nutzt.
Nö, ist unnötig...
#Auslesen der aktuellen Word-Version
$Version = Get-ItemProperty REGISTRY::HKEY_CLASSES_ROOT\Word.Application\CurVer | select -Expand '(Default)'  

if ($version -match '(\d+)$'){  
#Dadurch werden die Standardeinstellungen auf das Outlook-Profil angewandt. Ansonsten müssten die Signature-Keys direkt in das jeweilige Profil geschrieben werden
	Remove-ItemProperty -path "hkcu:\software\microsoft\office\$($matches[1]).0\outlook\setup" -name "First-Run"   

	New-ItemProperty -Type "ExpandString" -path "hkcu:\software\microsoft\office\$($matches[1]).0\Common\MailSettings\" -name "NewSignature" -Value "[SIGNATUR-NAME]"  
	New-ItemProperty -Type "ExpandString" -path "hkcu:\software\microsoft\office\$($matches[1]).0\Common\MailSettings\" -name "ReplySignature" -Value "[SIGNATUR-NAME]"  
}
Und wenn Word nicht installiert ist geht das natürlich nicht. Eine zuverlässige Office-Erkennung ergibt aber eine Google-Suche.

Gruß