Aktionen

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:

  1. Erstellung einer passenden Outlook.prf Datei (Media:Outlook.prf) - neue Version für Outlook 2010: Media:Outlook2010.zip (sollte auch mit 2007 funktionieren)
  2. Eintrag in die Registry des Benutzers wo diese Outlook.prf zu finden ist.
  3. 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:

Media:Outlook2010.zip

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:

Media:Outlookfirstrun.reg

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:

Media:Outlook new profile.cmd

@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)


Kommentare

Loading comments...