Exchange 2016 – Enable & Troubleshoot Certificate Based Authentication for OWA/Active Sync

Um die zertifikatsbasierte Authentifizierung des Exchange 2016 zu aktivieren empfehle ich, sich an folgenden Technet-Artikel zu halten. Dieser beschreibt die Konfiguration schritt für schritt.
Der anschließende Test war jedoch wenig erfolgreich und brachte auf den Client Geräten immer den Fehler „Anmeldung fehlgeschlagen“. Die Analyse des IIS Logfiles bestätigte in dem Fall die Fehlermeldung:

2018-01-17 14:14:41 W3SVC1 MSEXCHSRV 10.0.1.212 OPTIONS /Microsoft-Server-ActiveSync/default.eas Cmd=OPTIONS&User=domain%5CUser.Name&DeviceId=SEC15BF1D9F90A8E&DeviceType=SamsungDevice 443 - 10.0.0.213 HTTP/1.1 Android-SAMSUNG-SM-G955F/101.700 - - oma.fqdn.net 403 16 2148204809 184 375 452
2018-02-22 08:24:54 W3SVC3 EXCHANGESRV 10.0.1.212 GET / - 9943 - 10.0.0.5 HTTP/1.1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/63.0.3239.132+Safari/537.36 - - exchangesrv.fqdn.info:9943 403 16 2148204809 1423 434 4230

Da der Microsoft Exchange Health Manager (+ Recovery) durchgängig Testaufrufe machen, wird das IIS Logfile schnell unübersichtlich gefüllt. Daher hatte ich einfach eine neue Site im IIS Manager erstellt und dort unter einem anderem Port Binding die Authentifizierung via Client Zertifikate getestet. (Unterer Logeintrag) Man kann aber auch den Health Manager Dienst temporär deaktivieren, dass funktioniert auch.
Zurück zur Fehlermeldung, welche im Detail wie folgt aussieht:

403 16 2148204809
  • 403 = HTTP Statuscode (Authentication Failed)
  • 16 = Subfehler (Client certificate is untrusted or invalid.)
  • 2148204809 = Detaillierter Fehlercode (0x800b0109 CERT_E_UNTRUSTEDROOT)

Sucht man nach der Fehlermeldung findet man folgenden Technet-Artikel, der eigentlich auf den IIS 8 bezogen ist. Windows Server verwendet IIS 10 – aber der Artikel trifft auch darauf zu.
Hintergrund: Seit Windows Server 2012 wurden strengere Überprüfungen für die zertifikatsbasierte Authentifizierung eingeführt. Einer dieser Checks prüft ob sich im Zertifikatsspeicher (Trusted Root Certification Authorities) auch wirklich nur sogenannte Root-Zertifikate befinden. Ein Root Zertifikat muss logischerweise immer selbst-signiert sein. Wenn sich dort ein Zertifikat befindet, was von einer anderen Zertifikatstelle ausgestellt wurde, ist dies eigentlich ein „Zwischenzertifikat / Intermediate“ und gehört an einen anderen Zertifikatsspeicherort.
In meinem Fall befand sich das „StartCom Class 3 OV Server CA“ in den Root-CA’s welches den Fehler produzierte. Um den Fehler zu beheben, müssen alle nicht selbst-signierten Zertifikate aus dem Root-CA entfernt bzw. zu den Zwischenzerifikaten verschoben werden.
Um bei der Vielzahl von Zertifikaten nicht alle händisch zu überprüfen kann man dies per Powershell identifizieren:

Get-Childitem cert:\LocalMachine\root -Recurse |
    Where-Object {$_.Issuer -ne $_.Subject}

Um die Zertifikate anschließend in den Speicher für „Intermediate Certification Authorities“ zu verschieben kann man folgenden Befehl nutzen:

Get-Childitem cert:\LocalMachine\root -Recurse |
    Where-Object {$_.Issuer -ne $_.Subject} |
    Move-Item -Destination Cert:\LocalMachine\CA

Anschließend den kompletten Server neustarten. Eventuell reicht auch nur ein Neustart des IIS (W3SVC). Hatte in meinem Fall jedoch nicht ausgereicht.

Winbuilder (Win10PE) hinter Proxy benutzen

Wer sich selbst ein Windows PE erstellen will, kommt um den WindowsBuilder nicht herum. Ein Tool aus der Sammlung, nämlich GetWaikTools (GWT.exe) lädt die Windows Imaging Features (ADK, Dism etc.) herunter und benötigt daher Internetzugriff. Wer hinter einem Proxy sitzt, bekommt hier eine Fehlermeldung und muss den Proxy von Hand konfigurieren.
Das Tool verwendet Curl als Downloader, für den über die Umgebungsvariablen ein Proxy eingerichtet werden kann:

C:\>netsh winhttp set proxy http://1.2.3.4:3128
Aktuelle WinHTTP-Proxyeinstellungen:
    Proxyserver     :  http://1.2.3.4:3128
    Umgehungsliste  :  (keine)

Anschließend funktioniert die Verbindung über den Proxyserver 😉

Windows 10 – Standarddrucker verwalten

Ihr wundert euch warum euer Standard Drucker immer wechselt? Ein neues „Feature“ in Windows 10 setzt den aktuellen Standarddrucker immer auf den zuletzt benutzten Drucker.
Hierbei wird auch berücksichtigt, an welchem Standort sich das Gerät im Moment befindet. Sprich zuhause wird der Heimdrucker automatisch als Standard ausgewählt und im Büro ein anderer.
Das kann ganz praktisch sein, stört aber vielleicht auch. Daher beschreibe ich hier kurz wie ihr die Funktion „Windows verwaltet Standarddrucker“ entweder per Hand oder via Gruppenrichtlinie / Registry deaktivieren könnt.

Von Hand

  1. Öffnet die Einstellungen von Windows 10 (z.B. Windows Taste + i)
  2. Navigiere zu Geräte und anschließend Drucker & Scanner
  3. Entferne den Haken bei „Windows verwaltet Standarddrucker“

Per Registry

  1. Navigiere zu folgendem Pfad:
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows
  2. Ändere den Wert „LegacyDefaultPrinterMode“ (DWORD) auf 1 ab.

 

Per Gruppenrichtlinie

Per GPO findet ihr die Option „Turn off Windows default printer management“ unter:

User Configuration\Administrative Templates\Control Panel\Printers\

Redis Memcache für Owncloud / Nextcloud unter Ubuntu einrichten

Um die Geschwindigkeit der eigenen Owncloud bzw. Nextcloud Installation mithilfe eines Cache aufzubessern gibt es mehrere Techniken die eingesetzt werden können. Hier beschreibe ich kurz wie man Redis einsetzt. Als Betriebssystem wurde ein Ubuntu 17.04 sowie Nextcloud 12.0.3 eingesetzt.

  1. Redis und Modul für PHP installieren
    apt-get install redis-server php7.0-redis
  2. Redis Konfigurieren
    Redis kann entweder über auf einem eigenem Server installiert werden und per IP/Port (6379) angesprochen werden oder aber direkt auf dem gleichen System wie eure Owncloud. In dem Fall bietet sich an die Kommunikation über ein unix Socket einzustellen. Hier folgenden Bereich auskommentieren und die Berechtigungen 770 setzen.

    vi /etc/redis/redis.conf
    # Unix socket.
    #
    # Specify the path for the Unix socket that will be used to listen for
    # incoming connections. There is no default, so Redis will not listen
    # on a unix socket when not specified.
    #
    unixsocket /var/run/redis/redis.sock
    unixsocketperm 770
  3. Apache Benutzer der Redis Gruppe hinzufügen
    Damit nun das PHP-Modul auch auf das unix Socket zugreifen kann, müssen wir den Benutzer des Webservers in die Gruppe „redis“ aufnehmen.

    vi /etc/group

    Unter Ubuntu ist dies für apache2 der Benutzer: www-data.

    redis:x:119:www-data
  4. Owncloud/Nextcloud config.php anpassen
    In der Config fügen wir nun folgende Zeilen ein, damit auch Redis als Caching Software verwendet wird.

    vi config/config.php
     'memcache.locking' => '\OC\Memcache\Redis',
     'memcache.local' => '\OC\Memcache\Redis',
     'redis' => array(
                   'host' => '/var/run/redis/redis.sock',
                   'port' => 0,
                   'dbindex' => 0,
                   'password' => 'secret',
                   'timeout' => 1.5,
                  ),
    
  5. Dienste neustarten
    Schlussendlich nochmal den Redis-Server sowie Apache2 neustarten, damit auch alle Änderungen aktiv werden.

    service redis-server restart
    service apache2 restart

Mögliche Fehler:
Am Anfang hatte ich noch folgenden Fehler, welcher aber auf die fehlende Gruppenzugehörigkeit zurückzuführen war:

Internal Server Error
The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.

Schaut man genau ins error.log sieht man, dass es ein Berechtigungsfehler ist und hier bei Punkt 2 und 3 nochmal angesetzt werden sollte.

[Thu Dec 14 11:34:25.451617 2017] [core:notice] [pid 3333] AH00094: Command line: '/usr/sbin/apache2'
[Thu Dec 14 11:38:05.020250 2017] [:error] [pid 3338] [client 10.0.0.55:32848] PHP Warning:  Redis::connect(): connect() failed: Permission denied in /var/www/owncloud/lib/private/RedisFactory.php on line 82, referer: https://cloud.domain.info/
[Thu Dec 14 11:38:08.363190 2017] [:error] [pid 3339] [client 10.0.0.55:32851] PHP Warning:  Redis::connect(): connect() failed: Permission denied in /var/www/owncloud/lib/private/RedisFactory.php on line 82
[Thu Dec 14 11:38:10.320506 2017] [:error] [pid 3339] [client 10.0.0.55:32851] PHP Warning:  Redis::connect(): connect() failed: Permission denied in /var/www/owncloud/lib/private/RedisFactory.php on line 82, referer: https://cloud.domain.info/
ls /var/run/redis/ -al
total 4
drwxrwsr-x  2 redis redis   80 Dec 14 11:39 .
drwxr-xr-x 32 root  root  1200 Dec 14 11:21 ..
-rw-r--r--  1 redis redis    5 Dec 14 11:39 redis-server.pid
srwxrwx---  1 redis redis    0 Dec 14 11:39 redis.sock

Freenas 11 – Virtuelle Maschine stoppen (cli)

Die aktuelle Version von Freenas 11.0 (Stable) setzt auf die Virtualisierungsumgebung byvhe, welche zumindest was die Web-Oberfläche angeht, noch nicht wirklich ausgereift ist.
Derzeit existiert noch das Problem, dass in manchen Fällen die Virtuelle Maschine nicht über die GUI gestoppt werden kann.
Sollte dass der Fall sein, kann man den Prozess zumindest über die Konsole beenden.
Schritt 1: Prozessliste ausgeben

root@freenas:/mnt/disks # ps aux
USER         PID  %CPU %MEM     VSZ    RSS TT  STAT STARTED      TIME COMMAND
root          11 400.0  0.0       0     64  -  RL   10:06   245:40.26 [idle]
root       15133   0.1  1.2 53 410180 26656 -  I    11:00     1:12.67 bhyve: Windows (bhyve)

Sucht hier nach dem Namen eurer VM und notiert euch die PID. In meinem Fall heißt die Maschine schlicht „Windows“ und die PID ist „15133“.
Schritt 2: Prozess beenden

kill -9 "PID ID"

Anschließend ist die VM hart beendet worden und ihr könnt diese auch wieder starten.

GPO – Fix: Encountered an error while parsing

Mit dem Update der aktuellen Windows 10 ADMX Tempaltes für das Creators Update (1703) bin ich bei uns im Group Policy Editor auf folgende Fehlermeldungen bei älteren GPO’s gestoßen:

Namespace 'Microsoft.Policies.Sensors.WindowsLocationProvider' is already defined as the target namespace for another file in the store.
File
\\domain...\microsoft-windows-geolocation-wlpadm.admx, line 5, column 110


Die gleiche Fehlermeldung kam ebenfalls nochmal für WinStoreUI:

Encountered an error while parsing.
Namespace 'Microsoft.Policies.WindowsStore' is already defined as the target namespace for another file in the store.
File \\domain...\WinStoreUI.admx, line 4, column 80


Problem:
Eine kurze Recherche ergab, dass Microsoft die Templates „WinStoreUI.admx“ in „WinStoreUI.admx“ bzw. „LocationProviderAdm.admx“ in „microsoft-windows-geolocation-wlpadm.admx“ umbenannt hat.
In der Regel werden die ADMX Dateien automatisch bei einem Update überschrieben. In diesem Fall kommt jedoch das neuere File dazu.
Aus diesem Grund gibt 2 admx Dateien mit den gleichen Namespaces, weswegen die Fehlermeldung erscheint.

Lösung:
Die alten ADMX Dateien (WinStoreUI.admx und LocationProviderAdm.admx) können samt der Language Files gelöscht werden. Die neuen ADMX Templates sind mit allen Einstellungen Abwärtskompatibel.

Windows 2008/2012/2016 – DFS Replikation wiederherstellen

Wird der Domaincontroller z.B. durch einen Stromausfall unsauber heruntergefahren, kann es passieren dass die DFS-Replikation anschließend nicht mehr korrekt funktioniert. In dem Fall tauchen im Eventlog Fehlermeldungen mit den ID’s: 6012, 1204, 2203 oder 4012 auf, die das bestätigen.
Wenn die Replikation nicht mehr funktioniert, wird das SYSVOL Verzeichnis nicht mit anderen Domain Controllern synchronisiert. Es werden also keine Gruppenrichtlinen oder Startskripte synchronisiert/aktualisiert.
Die Fehlermeldungen im Detail:

Der DFS-Replikationsdienst hat die Replikation für den Ordner unter dem folgenden lokalen Pfad "C:\Windows\SYSVOL\domain" beendet. Dieser Server wurde von anderen Partnern für 218 Tage getrennt. Dadurch wird die im Parameter "MaxOfflineTimeInDays" zulässige Dauer überschritten (60). Aus diesem Grund geht der DFS-Replikationsdienst davon aus, dass diese Daten veraltet sind, und dieser Ordner wird vom Server erst nach Korrektur dieses Fehlers wieder repliziert.
Verwenden Sie zum Fortsetzen der Replikation dieses Ordners das DFS-Verwaltungs-Snap-Ins zum Entfernen dieses Servers aus der Replikationsgruppe, und fügen Sie ihn dann der Gruppe erneut zu. Dadurch führt der Server einen ersten Synchronisierungstask aus, wodurch die veralteten Daten durch aktuelle Daten der Mitglieder der Replikationsgruppe ersetzt werden.
Weitere Informationen:
Fehler: 9061 (Der replizierte Ordner war zu lange offline.)
Name des replizierten Ordners: SYSVOL Share
ID des replizierten Ordners: 02A2AFE0-7636-4311-8224-7870CA231A31
Replikationsgruppenname: Domain System Volume
ID der Replikationsgruppe: D312232D-1934-4F65-9EC8-3A92F9A1ABEF
Mitglieds-ID: F12B1BC5-158F-48F4-9B36-9585C7F8DF46
Vom DFS-Replikationsdienst wurde die Replikation für das Volume "C:" beendet. Dieser Fall tritt ein, wenn eine DFSR-JET-Datenbank nicht ordnungsgemäß heruntergefahren wird und die automatische Wiederherstellung deaktiviert ist. Sichern Sie zum Beheben dieses Problems die Dateien in den betroffenen replizierten Ordnern, und setzen Sie die Replikation anschließend mithilfe der WMI-Methode "ResumeReplication" fort.
Weitere Informationen:
Volume: C:
GUID: 41230C60-D123-11E2-93E8-123E6F6E6123
Wiederherstellungsschritte
1. Sichern Sie die Dateien in allen replizierten Ordnern auf dem Volume. Andernfalls gehen möglicherweise aufgrund einer unerwarteten Konfliktauflösung im Rahmen der Wiederherstellung der replizierten Ordner Daten verloren.
2. Setzen Sie die Replikation für dieses Volume mithilfe der WMI-Methode "ResumeReplication" der DfsrVolumeConfig-Klasse fort. Geben Sie hierzu an einer Eingabeaufforderung mit erhöhten Rechten beispielsweise den folgenden Befehl ein:
wmic /namespace:\\root\microsoftdfs path dfsrVolumeConfig where volumeGuid="41230C60-D123-11E2-93E8-123E6F6E6123" call ResumeReplication
Weitere Informationen finden Sie hier: http://support.microsoft.com/kb/2663685.

Als erstes kann man folgende Schritte unternehmen um die Replikation zu überprüfen. In meinem Fall handelt es sich um mehrere Domaincontroller, es geht also um das SYSVOL Verzeichnis. (Quelle: Technet)

For /f %i IN ('dsquery server -o rdn') do @echo %i && @(net view \\%i | find "SYSVOL") & echo


Anschließend kann man sich den Status der DFS Replikation ausgeben lassen:

For /f %i IN ('dsquery server -o rdn') do @echo %i && @wmic /node:"%i" /namespace:\\root\microsoftdfs path dfsrreplicatedfolderinfo WHERE replicatedfoldername='SYSVOL share' get replicationgroupname,replicatedfoldername,state

Die Statuscodes haben folgende Bedeutung:

0 = Uninitialized
1 = Initialized
2 = Initial Sync
3 = Auto Recovery
4 = Normal
5 = In Error

[stextbox id=’alert‘]Vorher eine Sicherung des geteilten Ordners machen! Also in meinem Fall: C:\Windows\SYSVOL. Bei der Wiederherstellung kann es vorkommen, dass die Inhalte der Freigabe verloren gehen.[/stextbox]
Nun geht es an die Wiederherstellung der Replikation. Bei mehreren DC’s oder bei neu hinzugefügten DC’s kann es sein, dass das SYSVOL Verzeichnis noch nie synchronisiert wurde und daher leer ist bzw. gar nicht existiert. Daher die folgenden Schritte auf dem „primären“ DC ausführen, von dem aus der Sync erfolgen soll.
Schritt 1: Replikation fortsetzen
Aus der 2. Fehlermeldung von oben ergibt sich, dass die Replikation gestoppt ist. Diese müssen wir wieder fortsetzen. Der passende Befehl dazu findet sich zum Glück direkt im Eventlog.

wmic /namespace:\\root\microsoftdfs path dfsrVolumeConfig where volumeGuid="41230C60-D123-11E2-93E8-123E6F6E6123" call ResumeReplication

Im Eventlog finden sich jetzt weitere Einträge, dass die Replikation zwar fortgesetzt wird – jedoch nicht funktioniert, da der Partner immer noch zulange offline war.
Schritt 2: MaxOfflineTimeInDays hochsetzen
Die Lifetime also den Wert „MaxOfflineTimeinDays“ können wir mit folgenden Befehl für alle DC’s überprüfen:

For /f %i IN ('dsquery server -o rdn') do @echo %i && @wmic /node:"%i" /namespace:\\root\microsoftdfs path DfsrMachineConfig get MaxOfflineTimeInDays

Dieser wird jetzt auf eine Anzahl Tage gesetzt die höher ist, als die im Eventlog vermerkte Anzahl. In meinem Fall wäre das dann 220. Der Befehl muss auf allen DC’s mit dem Fehler ausgeführt werden.

wmic.exe /namespace:\\root\microsoftdfs path DfsrMachineConfig set MaxOfflineTimeInDays=220

Damit die Änderung des Wertes greift muss jeweils noch der Dienst „DFS Replication“ (DFSR) neugestartet werden.

net stop DFSR && net start DFSR

Ab jetzt sollte die Replikation wieder korrekt durchlaufen. Dies kann man über das Eventlog weiter verfolgen.

Schritt 3: MaxOfflineTimeInDays  – back to default
Wenn die Replikation abgeschlossen wurde sollte der Wert „MaxOfflineTimeInDays“ – wie in Schritt 2 – wieder auf den Standard von 60 Tagen zurückgesetzt werden.

Fix: Windows Update Fehler 0x80072f0c mit WSUS Server

Nach einer Neuinstallation des WSUS Servers bin ich auf folgenden Fehler bei einigen Windows Clients gestoßen: 0x80072f0c
Der Fehler bedeutet dass ein Zertifikat für die Authentifizierung notwendig ist. (A certificate is required to complete client authentication)
Besitzt der Client der Updates beziehen möchte also ein Computerzertifikat sollte es funktionieren.
Jedoch benutzt nicht jeder Computerzertifikate, also kann man den Authentifizierungstyp im IIS auch abändern.

  1. Internet Information Services (IIS Manager) starten
  2. Zur Site „WSUS Administration“ wechseln
  3. SSL Settings öffnen
  4. Prüfen dass kein Haken bei „Require SSL“ gesetzt ist und Client Certificates auf „Ignore“ steht.
  5. ggf. per cmd noch einen iisreset machen

2017-07-24	20:09:48:158	 876	950	PT	WARNING: PTError: 0x80072f0c
2017-07-24	20:09:48:158	 876	950	Report	WARNING: Reporter failed to upload events with hr = 80072f0c.
2017-07-24	20:39:36:230	 876	1d0	PT	WARNING: Cached cookie has expired or new PID is available
2017-07-24	20:39:36:230	 876	1d0	PT	Initializing simple targeting cookie, clientId = 1ce7f007-90b6-469f-b045-052a350db63b, target group = , DNS name = client.domain.info
2017-07-24	20:39:36:230	 876	1d0	PT	  Server URL = https://wsus.domain.info:8531/SimpleAuthWebService/SimpleAuth.asmx
2017-07-24	20:39:36:262	 876	1d0	Misc	WARNING: Send failed with hr = 80072f0c.
2017-07-24	20:39:36:262	 876	1d0	Misc	WARNING: SendRequest failed with hr = 80072f0c. Proxy List used: <(null)> Bypass List used : <(null)> Auth Schemes used : <>
2017-07-24	20:39:36:262	 876	1d0	Misc	FATAL: SOAP/WinHttp - SendRequest: SendRequestUsingProxy failed. error 0x80072f0c
2017-07-24	20:39:36:262	 876	1d0	PT	  + Last proxy send request failed with hr = 0x80072F0C, HTTP status code = 0
2017-07-24	20:39:36:262	 876	1d0	PT	  + Caller provided credentials = No
2017-07-24	20:39:36:262	 876	1d0	PT	  + Impersonate flags = 0
2017-07-24	20:39:36:262	 876	1d0	PT	  + Possible authorization schemes used =
2017-07-24	20:39:36:262	 876	1d0	PT	WARNING: GetAuthorizationCookie failure, error = 0x80072F0C, soap client error = 5, soap error code = 0, HTTP status code = 200
2017-07-24	20:39:36:262	 876	1d0	PT	WARNING: Failed to initialize Simple Targeting Cookie: 0x80072f0c
2017-07-24	20:39:36:262	 876	1d0	PT	WARNING: PopulateAuthCookies failed: 0x80072f0c
2017-07-24	20:39:36:262	 876	1d0	PT	WARNING: RefreshCookie failed: 0x80072f0c
2017-07-24	20:39:36:262	 876	1d0	PT	WARNING: RefreshPTState failed: 0x80072f0c
2017-07-24	20:39:36:262	 876	1d0	PT	WARNING: PTError: 0x80072f0c
2017-07-24	20:39:36:262	 876	1d0	Report	WARNING: Reporter failed to upload events with hr = 80072f0c.
2017-07-24	20:52:21:341	 876	1d0	PT	WARNING: Cached cookie has expired or new PID is available
2017-07-24	20:52:21:341	 876	1d0	PT	Initializing simple targeting cookie, clientId = 1ce7f007-90b6-469f-b045-052a350db63b, target group = , DNS name = client.domain.info
2017-07-24	20:52:21:341	 876	1d0	PT	  Server URL = https://wsus.domain.info:8531/SimpleAuthWebService/SimpleAuth.asmx
2017-07-24	20:52:21:387	 876	1d0	Misc	WARNING: Send failed with hr = 80072f0c.
2017-07-24	20:52:21:387	 876	1d0	Misc	WARNING: SendRequest failed with hr = 80072f0c. Proxy List used: <(null)> Bypass List used : <(null)> Auth Schemes used : <>
2017-07-24	20:52:21:387	 876	1d0	Misc	FATAL: SOAP/WinHttp - SendRequest: SendRequestUsingProxy failed. error 0x80072f0c
2017-07-24	20:52:21:387	 876	1d0	PT	  + Last proxy send request failed with hr = 0x80072F0C, HTTP status code = 0
2017-07-24	20:52:21:387	 876	1d0	PT	  + Caller provided credentials = No
2017-07-24	20:52:21:387	 876	1d0	PT	  + Impersonate flags = 0
2017-07-24	20:52:21:387	 876	1d0	PT	  + Possible authorization schemes used =
2017-07-24	20:52:21:387	 876	1d0	PT	WARNING: GetAuthorizationCookie failure, error = 0x80072F0C, soap client error = 5, soap error code = 0, HTTP status code = 200
2017-07-24	20:52:21:387	 876	1d0	PT	WARNING: Failed to initialize Simple Targeting Cookie: 0x80072f0c
2017-07-24	20:52:21:387	 876	1d0	PT	WARNING: PopulateAuthCookies failed: 0x80072f0c
2017-07-24	20:52:21:387	 876	1d0	PT	WARNING: RefreshCookie failed: 0x80072f0c
2017-07-24	20:52:21:387	 876	1d0	PT	WARNING: RefreshPTState failed: 0x80072f0c
2017-07-24	20:52:21:387	 876	1d0	PT	WARNING: PTError: 0x80072f0c
2017-07-24	20:52:21:387	 876	1d0	Report	WARNING: Reporter failed to upload events with hr = 80072f0c.

Exchange 2016 und WMF 5.0 – Management Shell Fehler

Installiert man das Windows Management Framework 5.0 auf einem Windows Server 2012 R2 um z.B. die aktuelle Powershell 5.0 zu bekommen, sollte man vorher prüfen ob nicht auch die Exchange Management Shell verwendet wird.
Sonst führt dies zu folgendem Fehler: „Cannot find path “ because it does not exist.“

VERBOSE: Connecting to TESTDC.domain.info.
New-PSSession : Cannot find path '' because it does not exist.
At line:1 char:1
+ New-PSSession -ConnectionURI "$connectionUri" -ConfigurationName Micr ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], RemoteExc
   eption
    + FullyQualifiedErrorId : PSSessionOpenFailed
VERBOSE: Connecting to TESTDC.domain.info.


Das Windows Management Framework 5.0 findet man unter den installierten Updates (KB3134758).
Und wer lesen kann ist klar im Vorteil: In den System Requirements steht nichts von Powershell 5.0. (Aktueller Stand bei Exchange CU6)


Also Update entfernen und siehe da – alles geht 😉