pctechnik.ch Herisau

pctechnik.ch Herisau

Exchange 2016 die komplette Installation Rene Grüter logo

In Folge des Desaster vom März 2021 (Hafnium)ist  darauf zu achten ist, dass nur gepatchte Vollversionen von Exchange verwendet werden sollten.

Die Server 2012 R2 oder 2016 Datei auf einen Stick mit dem Windows USB Boot DVD Tool erstellen. Ich partitioniere immer ein Laufwerk C und eines mit dem Laufwerkbuchstaben D. C für das Betriebsystem und D für Daten und für den der es möchte, die Exchange DB und das Systembackup, welches ich mit der äusserst schlanken R-Drive Backup-Software so einstelle, dass jede Nacht ein Backup automatisiert durchläuft.

Als erstens wird der Rechner für RDP hergerichtet und das Netzwerk von diesem Rechner wird von Öffentlich auf Privat umgestellt, falls die Installation und die Anbindung an das Netzwerk, dies nicht richtig gemacht hätte.

Ein Servername muss vergeben werden zum Beispiel "srvdc01" für einen Domänen-Controller, was dann einen FQDN ergeben würde mit dem Domainname "srvdc01.adname.ihredomain.ch". adname steht für die Organisation, (wird bei der Rolle Active-Directory und Domänendienste angegeben) neben der Stammdomain "ihredomain.ch". Richtet man einen weiteren Server ein, kann man diesem den FQDN "SRVDC02.CORP02.ihredomain.ch" zuweisen usw.

Ich bin mir bewusst, dass es von Vorteil wäre, einen "eigenen" Domänen - Controller im Netzwerk laufen zu lassen, jedoch kommt immer wieder die Frage auf, ob es möglich wäre, ohne VM einen Exchange, auf nur einer Maschine laufen zu lassen. Microsoft empfiehlt diese Vorgehensweise nicht, trotzdem funktioniert sie tadellos und nicht zuletzt kommt mir dazu in den Sinn, dass wir noch vor kurzer Zeit, von Microsoft den SBS haben konnten, auf dem dann zusätzlich auch noch Share-Point oben war. Gerade Kleinfirmen, schätzen die Funktion eines Exchanges, wollen aber nicht unnötig viele Lizenzen kaufen und meistens schreckt auch eine Virtualisierung eher ab (Klumpenrisiko mangels Fachkenntnisse).

Ok, nun das Netzwerk umstellen:

Mit der Abfrage Get-NetConnectionProfile in der Windows PowerShell:

PS C:\Users\Administrator> Get-NetConnectionProfile

Name             : Netzwerk
InterfaceAlias   : Ethernet
InterfaceIndex   : 12
NetworkCategory  : Public
IPv4Connectivity : Internet
IPv6Connectivity : LocalNetwork

wird der Interface Index ausgelesen, um danach mit Set-NetConnectionProfile auf Privat umzustellen, folglich den InterfaceIndex anpassen, hier wäre es der Index 12. Also so:

PS C:\Users\Administrator> Set-NetConnectionProfile -InterfaceIndex 12 -NetworkCategory Private

Danach wieder mit dem Befehl die Kontrolle durchführen:

PS C:\Users\Administrator> Get-NetConnectionProfile

Name             : Netzwerk
InterfaceAlias   : Ethernet
InterfaceIndex   : 12
NetworkCategory  : Private
IPv4Connectivity : Internet
IPv6Connectivity : LocalNetwork

PS C:\Users\Administrator>

Wir vergeben der Netzwerkkarte eine Fix-IP zum Beispiel:

192.168.1.100

255.255.255.0

mit dem Gateway, den man sicher kennt:

192.168.1.1

Unter DNS geben wir als ersten die eigene IP Adresse ein:

192.168.1.100


Aus dem Server machen wir einen DC, dazu führen wir im Servermanager mit dem Assistenten, die Serverrolle - Active Directory-Domänendienste - aus. Wir lassen alles auf Standard, kontrollieren, ob der Haken bei "Verwaltungtools einschliessen", ausgewählt ist.

Nach der Installation stufen wir die Maschine zu einem Domänencontroller DC hoch. Dazu klicken wir auf das gelbe Ausrufezeichen im Servermanager. Da ich den ersten DC im Netz habe, wähle ich, neue Gesamtstruktur hinzufügen und benenne meine Domäne corp01.ihredomain.ch. Wie oben erklärt.
Im Assistenten werden wir nach dem DNS gefragt. Wir lassen den Hacken bei DNS-Server stehen und geben das Kennwort des Administrators des Rechners 2x ein. Die Delegierungsoption überspringen wir. Der NetBIOS-Name der Domäne ist in unserem Fall corp01. Die Stammpfade lasse ich stehen, da ich nächtlich immer das ganze Laufwerk C sichere.
Und hier der Script:

#
# Windows PowerShell-Skript für AD DS-Bereitstellung
#

Import-Module ADDSDeployment
Install-ADDSForest `
-CreateDnsDelegation:$false `
-DatabasePath "C:\Windows\NTDS" `
-DomainMode "Win2012R2" `
-DomainName "corp01.ihredomain.ch" `
-DomainNetbiosName "corp01" `
-ForestMode "Win2012R2" `
-InstallDns:$true `
-LogPath "C:\Windows\NTDS" `
-NoRebootOnCompletion:$false `
-SysvolPath "C:\Windows\SYSVOL" `
-Force:$true

Konfiguriert diesen Server als ersten Active Directory-Domänencontroller in einer neuen Gesamtstruktur.
Name der neuen Domäne: corp01.ihredomain.ch. Dies ist auch der Name der neuen Gesamtstruktur.
NetBIOS-Name der Domäne: corp01.
Gesamtstrukturfunktionsebene: Windows Server 2012 R2
Domänenfunktionsebene: Windows Server 2012 R2
Zusätzliche Optionen:

Globaler Katalog: Ja
DNS-Server: Ja
DNS-Delegierung erstellen: Nein

Datenbankordner: C:\Windows\NTDS
Protokolldateiordner: C:\Windows\NTDS
Ordner "SYSVOL": C:\Windows\SYSVOL

Der DNS-Serverdienst wird auf diesem Computer konfiguriert.
Der Computer wird so konfiguriert, dass dieser DNS-Server als bevorzugter DNS-Server verwendet wird.
Das Kennwort des neuen Domänenadministrators entspricht dem Kennwort des lokalen Administrators dieses Computers.

Jetzt wird überprüft und danach gehts mit Installieren zum Abschluss.


Alle notwendigen Features installieren wir mittels Power-Shell:

Install-WindowsFeature Net-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation, RSAT-ADDS

Auf der Microsoft Website gab es diese Variante, die ich aber erst im Nachhinein gesehen habe:

Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation


Danach folgt dieser Par:
-> das Unified Communications Managed API 4.0 Runtime, die Datei UcmaRuntimeSetup.exe muss installiert werden.
-> Ich gehe davon aus, dass das Net-Framework 4.2.2 oder höher bereits installiert wurde wie oben angegeben. Es darf auf keinen Fall das Net-Framework 4.2.1 verwendet werden. Dies würde bedeuten, dass man nochmals von vorne beginnen muss mit der ganzen Exchange Installation. Zu diesem Thema findet man genug Info' s im Web.


Ich habe die Installationsdateien neu heruntergeladen. Mitlerweile ist das CU20 veröffentlicht und auch gepatcht (Folge der Hafnium Geschichte) und ich führe das Setup mit der Maus aus. Nach dem die Lizenzbestimmungen bestätigt wurden, installiere ich die Postfachrolle und setze einen Hacken bei den zusätzlichen Tools. Ist die Installation abgeschlossen, setzen wir den Hacken "Exchange Administration Center" öffnen und melden uns mit den Administrator-Zugangsdaten an. Können wir uns anmelden, in dem wir den Zertifikatsfehler umgehen, ist erst mal alles ok.


Im Servermanager sehen wir aber, dass nach der Exchange-Installation ein Neustart aussteht, den wir nachholen. Vorher schaue ich alle Ereignisse noch durch und kann feststellen, dass keine schwerwiegenden Fehler festzustellen sind. Im Ereigniss Manager, sehe ich auch die Exchange spezifischen Protokolle durch. Ich gehe auch im AD auf die Organisation und unter Ansicht mache ich die Erweiterten Features sichtbar, das geschieht unter Active Benutzer und Computer. Es wird überprüft, ob die Exchange Server Objekte eingeschrieben wurden und ob unser Computer unter Exchange Install Domain Server, Mitglied ist.


Diesen Stand sichere ich mit besagtem R-Drive. R-Drive ist ein ganz schmales Tool, welches mir jedes beliebige Microsoft Betriebssystem sichert. Es macht Disk-Clones, sichert Partitionen, es erstellt Datei-Sicherungen und vorallem, es stellt IMMER auch wieder her und man kann selbstverständlich Sicherungs-Jobs vergeben. Ich kann nichts mehr anfangen, mit Backup-Lösungen, die einen SQL Server benötigen, Lizenzverfahren anwenden, bei denen ich einen Lehrgang besuchen muss, um sie zu verstehen und Anwendungen, die 5 Gbyte auf die Festplatte müllen, um dann, wenn ich darauf angewiesen bin, zu versagen. Ich habe alle diese bekannten Backup Hersteller hinter mir gelassen und habe mich für R-Drive entschieden, ein 50 Dollar Tool. Nicht etwa wegen des Preises, sondern weil ich arbeiten will und ich will mich nicht um "Software Monster" kümmern, bei denen das Gefahren-Potenzial durch die Komplexität zum Desaster wird. Den blauen Riesen hatte ich Jahre im Einsatz, leider wurde gerade diese Suite immer mehr aufgeblasen und es wurde in einem eigentlich kleinen Problem dadurch zum Desaster. Es war sein letzter Einsatz in meiner Firma.


Zu einem Dienst der sich immer wieder beendet, der Nachrichtenbroker, ist folgendes zu sagen: Der Benachrichtigungen Broker-Dienst stoppt nach 30 Sekunden. Wenn man den Exchange-Server neu startet, erfolgt diese Meldung eben, dass der Dienst beendet wurde, starten wir ihn manuel, beendet er sich wieder nach einer gewissen Zeit. Keine Fehler oder Warnungen werden im Ereignisprotokoll enthalten sein, bezüglich dieses Dienstes.

Dieses Verhalten soll in lokalen Installationen von Exchange 2016 erwartet werden. Der Benachrichtigungen Broker-Dienst, führt eine Konfigurationsprüfung durch wenn der Server gestartet wird. Wenn es nichts für diesen Dienst zum tun gibt, stoppt er automatisch bis zum nächsten Neustart. Das ist auch schon alles.


Nun möchte ich die Datenbank noch vernünftig anschreiben. Dazu öffne ich Exchange Management Shell.
Get-MailboxDatabase -Server SRVDC01 | Set-MailboxDatabase -Name DBEXCORP
Ob es geklappt hat fragen wir so ab: Get-MailboxDatabase -Server SRVDC01. Das alles kann man auch im Exchange "Admin Center" tun.


Die Konfiguration des Exchange Server 2016 beginnt

Limitierungen Datenbank

Wir gehen dazu im Exchange Admin Center zu -> Server -> Datenbank -> Grenzwerte
Warnmeldung erhöhe ich auf 6 Gbyte und gelöschte Elemente aufbewahren setze ich auf 180 Tage. Die Möglichkeit "Elemente nicht entgültig zu löschen, bevor die Datenbank entgültig gesicherst ist" aktiviere ich.

Mail Limitierungen

Unter -> Nachrichtenfluss -> Empfangsconnectors können wir bei den Rollen, die wir im Einsatz haben, die Mailgrösse angeben. Standarmässig ist alles auf 35 Mbyte eingestellt, was mir als erstens mal gefällt.


Akzeptierte Domänen

Nun fügen wir die akzeptierten Domänen hinzu. Dazu gehen wir -> Nachrichtenfluss -> Akzeptierte Domänen und klicken auf das + Zeichen. ich vergebe unter "Name" den URL der Domäne an und setze auf "Externes Relay".


-> Nachrichtenfluss -> Sendeconnectors

Wir wählen die benutzerdefinierte Variante, setzen den Namen und klicken auf weiter. E-Mail über Smarthosts weiterleiten und das + Zeichen anklicken. Nach dem Weiter klicken, wählen wir Standardauthentifizierung und geben die Daten an, die wir vom Provider erhalten haben.

Sendeconnectoren

-> Nachrichtenfluss -> Sendeconnectors -> neuer Sendeconnector durch das +.
-> Name eingeben (unwichtig, ich verwende immer den Domänenname).
-> Benutzerdefiniert auswählen dann Weiter...
-> E-Mail über Smarthosts weiterleiten und das + Zeichen anklicken.
-> Netzwerkeinstellungen Email über folgenden Smarthost leiten: Vollqualifizierter Domänenname FQDN angeben vom Mailserver -> mail.ihredomain.ch smtp.nichtaddomain.ch je nach Provider danach weiter...
-> Smarthostauthentifizierung. auf -> Standardauthentifizierung: Daten gleich gleich wie beim Provider "Anmeldename und Kennwort" ist ja meistens die verwendete Emailadresse und Ihr Kennwort also so, wie bei Outlook angegeben und weiter...
-> im SMTP Adressraum + wählen und ein * Stern setzen bei *Vollqualifizierter Domänenname". Somit sind alle Domains über diesem Sendeconnector berechtigt zu empfangen und dann auf speichern und weiter...
-> Bei "Quellserver mit dem + den neuen Server auswählen, ok klicken und auf "Fertig stellen" klicken.


-> Nachrichtenfluss -> Empfangsconnectors

Den Empfangsconnector für eingehende Email konfigurieren

Wichtig! Bei Exchange 2013: Der Windows Dienst "Simple Mail Transport Protocol" darf nicht installiert sein! Ich habe beim 2016er keinen Fehler bemerkt und habe keine Einstellungen diesbezüglich vorgenommen. Dieser Dienst blockiert den Exchange SMTP Dienst unter Exchange 2013,  in dem er sich vor dem Exchange SMTP den Port 25 aneignet.

-> Den Empfangsconnector mit der Rolle -> Default Hub-Transport doppelklicken und erweitern und unter -> Sicherheit bei den Berechtigungsgruppen "Anonyme Benutzer" den Hacken setzen. Diese Einstellung erfordert unser Program Pullution, welches zuständig ist, um uns die Emails von den Providern abzuholen.
-> Allgemein die Begrenzung auf 100MB erhöhen falls gewünscht.


Empfänger

Benutzerpostfach wählen und das + klicken
-> Alias angeben, wir geben hier den Anmeldenamen an. Heisst Ihre Emailadresse Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!, geben wir heinzgerhard ein. Die Email ist dann Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
-> Vorname Nachname und Initialien
-> Passwort und danach speichern wir
-> Nach erneutem öffnen des Benutzers fügen wir die richtige Emailadresse an, die wir mit Exchange verwalten möchten. Also hier käme Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! rein. Wir müssen diese auch als die Hauptadresse bezeichnen. Dazu entfernen wir bei der fettgedruckten Emailadresse den Hacken "E-Mail-Adressen basierend auf der E-Mail-Adressrichtlinie für diesen Empfänger automatisch aktualisieren", sonst können wir die neue Emailadresse nicht als Standard wählen, da dies ja in den Richtlinien so festgelegt ist. Selbstverständlich können wir auch eine Richtlinie anlegen. Doppelklicken die neu erstellte Email und wählen "Diese Adresse als Antwortadresse verwenden". Die primäre E-Mail-Adresse des Benutzers wird fett markiert angezeigt, aber die gesendeten E-Mails werden von allen Adressen in dieser Liste empfangen.

So können wir später alle Emailadressen die wir mit Exchange verwalten möchte durch das Hinzufügen der Empfänger erweitern.

Und jetzt sollten wir uns Anmelden an OWA https://corp01.ihredomain.ch/owa den Aliasnamen angeben und das Passwort und Sie befinden sich nach der Zonen und Zeitabfrage im Exchange Konto.


Pullution einrichten

pullution.net gibt die Möglichkeit Emails aus beliebig vielen POP3-Mailboxen herunterzuladen und übermittelt diese an einen oder mehrere interne Mail-Server. Es bildet somit die perfekte Schnittstelle zwischen POP3-Postfächern und internen Email-Konten in der Mailumgebung.

pullution.net zeichnet sich durch intuitives Design und Stabilität aus und integriert sich perfekt in die Windows-Server-Umgebung.
Nachteil: Kann nicht als Dienst installiert werden

-> Dowmload http://sodacore.net und installieren
-> Pullution ausführen
-> unter Konten neues Konto anlegen und ausfüllen bei Exchange-Server die Domain angeben, also CORP02.domain.ch
    -> Bezeichnung - einen Namen angeben Bsb. Emailadresse
    -> Aktiv - Hacken setzen
    -> Abrufintervall - 10
    -> Update - 10
    -> POP-Server - mail.domain.ch gemäss Provider
    -> POP-User - Emailadresse gemäss Provider
    -> Passwort - gemäss Provider
    -> Port - 110 gemäss Provider
    -> Timeout - 300
    -> APOP und SSL lehr lassen
    -> Exchange-Server - corp.ihredomain.ch Betrifft die Exchange Domain, als AD-Domain und nicht die Mailserver Domain
    -> Exchange-Zieladresse - Emailadresse
    -> Port - 25 gemäss Provider
    -> Timeout - 300

    -> Wichtig: Unter Optionen Weiterletungsemailadresse anlegen welche nur für Systemnachrichten gebraucht wird also Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
 

-> Pullution Verknüpfung in den Autostart Ordner kopieren im aktiven Zustand.
-> Bei einem Neustart wird Pullution nicht vor dem Login gestartet da es kein Dienst ist, also werden auch keine Mails mehr verarbeitet
!! Es muss nach einem Neustart wieder eingeloggt werden, danach kann man den Server Sperren
!! Nach automatischen Server Updates von Microsoft geschieht es, dass der Server am Login steht und somit keine Mails abgerufen werden

Port 443 muss auf dem Router im NAT offen sein für OWA


Ereinisse überprüfen

In der Ereignisanzeige Windows-Protokolle Anwendung und System Protokolle löschen kann oft mühsam sein, da es viele Einträge sind und man ewig klicken müsste. Gerade wenn ich ein Server neu aufgesetzt habe, überprüfe ich von Grund auf einmal alles und dazu will ich eine komplett leere Ereignisanzeige haben.

Mit diesem Patch kann man alle Ereignisse auf einmal löschen:

http://www.wintotal.de/tipparchiv/?id=1880

Inhalt der Batch-Datei: (wevutil.bat)
@echo off
FOR /F "tokens=1,2*" %%V IN ('bcdedit') DO SET adminTest=%%V
IF (%adminTest%)==(Access) goto noAdmin
for /F "tokens=*" %%G in ('wevtutil.exe el') DO (call :do_clear "%%G")
echo.
echo goto theEnd
:do_clear
echo clearing %1
wevtutil.exe cl %1
goto :eof
:noAdmin
exit


Sehr gute Übersicht aller Dienste und Verzeichnisse des Exchange Servers 2016
http://www.msxfaq.de/e2013/e2016_default_konfiguration.htm

Im unteren Bereich gibt es eine Liste mit Lösungen zu Problemen die auftauchen können nach der Installation
http://www.msxfaq.de/e2013/e2016_installation.htm

Nach der Installation kann man sich nicht im ECP anmelden
https://support.microsoft.com/en-us/kb/3099532


Errors

Event id 4

DependentAssemblyGenerator.exe -exchangePath "%ExchangeInstallPath%\bin" -exchangePath "%ExchangeInstallPath%\FrontEnd\HttpProxy" -configFile "%ExchangeInstallPath%\FrontEnd\HttpProxy\SharedWebConfig.config"
DependentAssemblyGenerator.exe -exchangePath "%ExchangeInstallPath%\bin" -exchangePath "%ExchangeInstallPath%\ClientAccess" -configFile "%ExchangeInstallPath%\ClientAccess\SharedWebConfig.config"


Event id 106

Method 1: Use a script to reload all the performance counters

    Copy the following script to Notepad, and then save the file as Perfcounters.ps1. Make sure that you change the "$path" value in the script if the Exchange Server is installed in a different location. (This script also applies to Exchange Server 2010.)

    add-pssnapin Microsoft.Exchange.Management.PowerShell.Setup
    $path = "C:\Program Files\Microsoft\Exchange Server\V15\Setup\Perf"
    $items = Get-ChildItem -Recurse $path
     
    $files = $items | ?{$_.extension -eq ".xml"}
     
    Write-Host "Registering all perfmon counters in $path"
    Write-Host
     
    $count = 0;
     
    foreach ($i in $files)
    {
       $count++
       $f =  $i.directory, "\", $i.name -join ""
     
       Write-Host $count $f -BackgroundColor red
     
       New-PerfCounters -DefinitionFileName $f
    }

    In Exchange Management Shell, run the file that you created in step 1. For example, run the following command:

    c:\perfcounters.ps1



Zertifikate

In den folgenden Speichern
Benutzer
-> Eigene Zertifikate
-> Vertrauenswürdige Zertifikate
-> Organisationsvertrauen
Computer


Und die ersten Probleme:

Slow installation on Windows Server 2012 R2 On computers running Windows Server 2012 R2 with Windows update KB3097966 installed, it can take up to 50% longer for Setup to complete.

To work around this issue, do the following on each server where you'll install Exchange 2016 before you run Setup. You only have to do this once on each server.

        Open an elevated command prompt.

        Run the following command.

        "%windir%\Microsoft.NET\Framework64\v4.0.30319\ngen.exe update"

        importantImportant:
        This command can generate many warnings or errors. This is expected and doesn't mean the command has failed.

        Run the following command. If the number returned is 0, the ngen.exe command completed successfully.

        echo %errorlevel%


Dieses Tutorial wird immer wieder angepasst. Stand 20.03.2021

pctechnik.ch Herisau CMS und Ecommerce
Ohne Cookies würden die wenigsten Websites funktionieren. Auch diese Website verwendet Cookies. Was Cookies sind, können Sie unter - Weitere Informationen - nachlesen. Durch das Akzeptieren erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
Weitere Informationen