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-ID: 340494

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

Ausgedruckt am: 22.11.2024 um 19:11 Uhr

a1b2c3
a1b2c3 13.06.2017 um 13:56:11 Uhr
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ß
blackpearl00
blackpearl00 14.06.2017 um 08:33:42 Uhr
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.
a1b2c3
a1b2c3 14.06.2017 um 09:56:52 Uhr
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ß
blackpearl00
blackpearl00 14.06.2017 um 13:40:00 Uhr
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?
a1b2c3
a1b2c3 14.06.2017 um 13:57:36 Uhr
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
blackpearl00
blackpearl00 14.06.2017 um 15:04:25 Uhr
Goto Top
Geht leider damit nicht.
Vielleicht noch als Anmerkung: Es ist eine Domäne und die GPO wird vom Server gesetzt.
a1b2c3
a1b2c3 14.06.2017 um 15:19:18 Uhr
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"?
blackpearl00
blackpearl00 14.06.2017 um 16:00:36 Uhr
Goto Top
Nein, da kommt diese Meldung, wenn ich das Script in der Powershell abspiele, auch nicht als Administrator.
a1b2c3
a1b2c3 15.06.2017 um 07:04:49 Uhr
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.
blackpearl00
blackpearl00 15.06.2017 um 14:58:07 Uhr
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]"  
	}
a1b2c3
a1b2c3 15.06.2017 um 15:14:13 Uhr
Goto Top
Ja genau, die If brauchst du für jede Version die ihr nutzt.
133417
133417 15.06.2017 aktualisiert um 15:30:39 Uhr
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ß