Exchange+Outlook:Outlook.prf
Aus znilwiki
Gültig für Outlook XP, 2003, 2007, 2010
Beim ersten Start von Outlook (egal welche Version) will das Programm ein neues Profil anlegen und fragt die weiteren daten wie Mailserver und Postfach ab.
Seit Outlook XP kann man diesen Vorgang mit folgenden Schritten automatisieren:
- Erstellung einer passenden Outlook.prf Datei (Media:Outlook.prf) - neue Version für Outlook 2010: Media:Outlook2010.zip (sollte auch mit 2007 funktionieren)
- Eintrag in die Registry des Benutzers wo diese Outlook.prf zu finden ist.
- Start von Outlook
Das ganze lässt sich auch für Umstellungen nutzen, wenn der Mailserver bzw. die Maildomäne gescshwenkt werden soll. In diesem Fall ist schon ein Outlookprofil vorhanden das wir entweder überschreiben - oder besser ein neues daneben setzten und dieses als das aktive setzen.
Bei Outlook 2013 setzt einfach nur folgenden Registry Schlüssel:
HKCU\Software\Microsoft\Office\15.0\Outlook\AutoDiscover DWORD: ZeroConfigExchange Wert: 1
Outlook.prf
Die Outlook.prf ist eine normale Textdatei die Outlook als Antwortdatei nutzt.
Eine voll funktionsfähige Beispieldatei, die bisher mit allen oben genannten Outlook Versionen funktionierte könnt ihr nachfolgend herunterladen:
Es sind zwar viele viele Einträge in dieser Datei - doch interessieren uns eigentlich nur bestimmte:
ProfileName=Exchange Postfach : Der Name des Profils in den Email-Einstellungen auf dem Client HomeServer=exchange.domain.local : Der Name des Mailservers Diesen Eintrag findet Ihr 2x in der Datei, beide vorkommen ändern!
ProfileName
findet Ihr gleich am Anfang im ersten Abschnitt:
************************************************************************ ; Section 1 - Profile defaults. [General] Silent=Yes Custom=1 ;-- Required. Indicates that this is a customized PRF file. ProfileName=Exchange Postfach DefaultProfile=Yes OverwriteProfile=No
und bezeichnet den Namen des Outlook Profils. Er ist frei wählbar - Ich empfehle jedoch, nur Groß- und Kleinbuchstaben und Zahlen zu verwenden - und keine Leerzeichen.
In unserem Beispiel heisst das neue Profil dann also "Exchange Postfach".
Solltet Ihr das Problem bekommen, das Ihr bei jeder Neuanmeldung und anschliessenden Neustart von Outlook in den Profilen "Backup von ..." angelegt werden, so ergänzt diesen Abschnitt noch um ein
BackupProfile=No
HomeServer
findet Ihr in der Mitte der Datei:
[ServiceEGS1] MailboxName=%USERNAME% HomeServer=exchange.domain.local
und etwas tiefer
[Service1] OverwriteExistingService=No UniqueService=No MailboxName=%USERNAME% HomeServer=exchange.domain.local
Hier tragt Ihr den DNS-Namen des Exchange-Servers bzw. den Namen des Cluster-Knoten ein. Es würde zwar auch der NetBIOS Name funktionieren - aber so ist es eine Fehlerquelle weniger. Es geht NICHT die IP-Adresse!
Falls Ihr RPC over HTTPS nutzen wollt entfernt das Kommentarzeichen im Abschnitt ServiceEGS1 bei den folgenden Zeilen und tragt den externen DNS Namen ein:
RPCoverHTTPflags=0x002f RPCProxyServer=extern.domain.de RPCProxyPrincipalName=msstd:extern.domain.de RPCProxyAuthScheme=0x0001
also die ; (Semikolon) davor entfernen!!!
Einträge in die Registry
Outlook prüft beim Start ob folgender Registrywert existiert und welchen wert er hat:
HKEY_CURRENT_USER\Software\Microsoft\Office\xx.x\Outlook\Setup ImportPRF = REG_SZ \\server\freigabe\outlook.prf
Die xx.x stehen dabei für die Office Version:
9.0 = Office 2000 10.0 = Office XP 11.0 = Office 2003 12.0 = Office 2007 14.0 = Office 2010 15.0 = Office 2013
Die alten Versionen von Outlook ignorieren ihn aber falls es an gleicher Stelle einen Registrywert First-Run gibt:
First-Run = REG_BINARY bb b3 b4 5b 44 66 77 88 99 00 11 12 13 14 15 16
Was auch immer Outlook geheimes in diesen Schlüssel speichert - wenn dieser Schlüssel fehlt, wird die Outlook.prf abgearbeitet.
ACHTUNG: Die neueren Versionen scheinen eine gesetzten ImportPRF Schlüssel immer abzuarbeiten. Hier darf der Schlüssel also wirklich nur bei Bedarf gesetzt werden. Eine genaue Grenze zwischen alter und neuer Version kann ich dabei schwer ziehen - es scheint ab 2007 so zu sein.
Wollen wir also einem Benutzer ein neues Outlook-Profil verpassen (oder einem Benutzer die Informationen für die erste Anmeldung bereitstellen), so ist eine einfach Lösung folgende Registrierungsdatei zu importieren:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook\Setup] "ImportPRF"="\\\\server\\freigabe\\outlook.prf" "First-Run"=-
[HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\Setup] "ImportPRF"="\\\\server\\freigabe\\outlook.prf" "First-Run"=-
[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Setup] "ImportPRF"="\\\\server\\freigabe\\outlook.prf" "First-Run"=-
[HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Outlook\Setup] "ImportPRF"="\\\\server\\freigabe\\outlook.prf" "First-Run"=-
[HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Setup] "ImportPRF"="\\\\server\\freigabe\\outlook.prf" "First-Run"=-
Wenn ihr nur die Information bereitstellen wollt müsst ihr je nach Anwendungsfall entscheiden - dann solltet ihr den "First-Run"=- löschen. Die Datei setzt für alle Office Versionen den Schlüssel - Outlook sucht sich schon den passenden für seine Version heraus.
Importieren lässt sich die Reg-Datei in einer Batchdatei z.B. mit
regedit /s \\server\freigabe\outlookfirstrun.reg
ohne Nachfrage.
Outlook_New_Profile.cmd
Wie schon im Abschnitt zuvor beschrieben reagieren die neueren Office Versionen empfindlich darauf wenn der ImportPRF gesetzt ist. Also sollten wir diesen nur setzen wenn er auch gebraucht wird.
Nachfolgende Batch-datei wurde im Rahmen einer Exchange-Migration geschrieben. Die Batch-Datei prüft ob das aktive Exchangeprofil einen bestimmten Namen hat (geleichbedeutend mit dem neuen Exchangeserver), wenn nein wird das neue vorbereitet. So konnten wir das Script im Migrationszeitraum bei jeder Anmeldung laufen lassen. Das alte Profil, welches den Standardnamen "Outlook" hat blieb dabei unangetastet - so konnte im Einzelfall auf das alte Profil umgeschaltet werden um noch mal etwas nach zu sehen:
@echo off
cls
REM ###########################################################################################
REM Batch Datei, die
REM
REM 1. prüft ob das Default Outlook Profil einen bestimmten Namen hat, wenn ja sich beendet
REM 2. Die Registry-Schlüssel für Outlook setzt das es beim nächsten Start die PRF abarbeitet
REM
REM 2011 von Bernhard Linz, Bernhard.Linz@datagroup.de
REM Wiki: www.znil.net
REM ###########################################################################################
REM Name des neuen Profils - muss mit dem Namen in der Outlook.prf übereinstimmen
Set NEWPROFILE=Exchange2007
Set OUTLOOKPRFPATH=\\server\freigabe\outlook.prf
REM Teil 1: prüft ob das Default Outlook Profil einen bestimmten Namen hat, wenn ja sich beendet
REM Achtung - das Ganze funktioniert in dieser Version nicht wenn der Profilname Leerzeichen enthält.
set REGSCHLUESSEL="HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles"
set REGWERT=DefaultProfile
for /f "tokens=3" %%i in ('reg query %REGSCHLUESSEL% /v %REGWERT%^|find /i "%REGWERT%"') do @set "DEFAULTPROFILE=%%i"
echo Echo Standardprofil ist: %DEFAULTPROFILE%
if "%DEFAULTPROFILE%"=="%NEWPROFILE%" GOTO ENDE
REM ####################################################################################################
REM 4. Die Registry-Schlüssel für Outlook setzt das es beim nächsten Start die PRF abarbeitet
:RegistrySchreiben
echo Setze Registrierungswert ImportPRf und lösche First-Run ...
echo ... fuer Outlook XP
reg add "HKCU\Software\Microsoft\Office\10.0\Outlook\Setup" /v ImportPRF /t REG_EXPAND_SZ /d %OUTLOOKPRFPATH% /f
reg delete "HKCU\Software\Microsoft\Office\10.0\Outlook\Setup" /v First-Run /f
echo ... fuer Outlook 2003
reg add "HKCU\Software\Microsoft\Office\11.0\Outlook\Setup" /v ImportPRF /t REG_EXPAND_SZ /d %OUTLOOKPRFPATH% /f
reg delete "HKCU\Software\Microsoft\Office\11.0\Outlook\Setup" /v First-Run /f
echo ... fuer Outlook 2007
reg add "HKCU\Software\Microsoft\Office\12.0\Outlook\Setup" /v ImportPRF /t REG_EXPAND_SZ /d %OUTLOOKPRFPATH% /f
reg delete "HKCU\Software\Microsoft\Office\12.0\Outlook\Setup" /v First-Run /f
echo ... fuer Outlook 2010
reg add "HKCU\Software\Microsoft\Office\14.0\Outlook\Setup" /v ImportPRF /t REG_EXPAND_SZ /d %OUTLOOKPRFPATH% /f
reg delete "HKCU\Software\Microsoft\Office\14.0\Outlook\Setup" /v First-Run /f
REM ####################################################################################################
:ENDE
echo Verarbeitung abgeschlossen.
Anpassen müsst Ihr den Profilnamen
Set NEWPROFILE=Exchange2007
und den Pfad zur .PRF Datei
Set OUTLOOKPRFPATH=\\server\freigabe\outlook.prf
Der Profilname muss natürlich mit dem in der outlook.prf übereinstimmen.
--Bernhard Linz 10:35, 7. Sep. 2012 (CEST)