Outlook Abwesenheitsassistent Automatische Antworten – Server nicht verfügbar

Problem

Man möchte in seinem Outlook den Autoresponder aktivieren (Automatische Antworten / Abwesenheitsassistent), allerdings bekommt man lediglich folgenden Hinweis:

Ihre Einstellungen für automatische Antworten können nicht angezeigt werden, da der Server zurzeit nicht verfügbar ist.

oder englisch:
Your automatic reply settings cannot be displayed, because the server is currently unavailable. Try again later.

Lösung

Häufig liegt dies an falsch konfigurierten Autodiscover-Einstellungen, Proxys (bzw. fehlende Ausnahmen) vor dem Exchange-Server oder falschen Zertifikaten.

In einigen Fällen, kann es allerdings auch mit Authentifizierungsfehlern zu tun haben (der erste Hinweis in diese Richtung war: https://support.microsoft.com/en-us/help/2596516/your-out-of-office-settings-cannot-be-displayed-because-the-server-is)

In unserem Fall waren die Anmeldedaten an sich allerdings korrekt (das Profil wurde auch via SSO eingerichtet, alles super). Schuld waren letztendlich gespeicherte Windows-Anmeldedaten in der Anmeldeinformationsverwaltung. Sobald diese entfernt wurden klappen auch die Automatischen Antworten wieder.

Vermutlich sind die Anmeldedaten dort gelandet, da vorher ein weiteres Postfach im Outlook eingerichtet war. Sobald hier die Zugangsdaten einmal gespeichert werden, kommt der genannte Fehler wieder zustande.

Windows Server 2019 RRAS startet nicht (8007042a) – NPS Event 4405

Problem

Ein Frisch installierter Windows Server 2019 mit konfigurierter Routing & RAS Rolle möchte den RRAS Dienst nicht starten – „Dienstspezifischer Fehler 8007042a“

Das System-Eventlog zeigt ein paar Events des Netzwerkrichtlinienservers (NPS) – unter Anderem Event-ID 4405

NPS kann die Kontoinformationen nicht im primären Datenspeicher (C:\Windows\system32\LogFiles\IN1906.log) protokollieren. Aufgrund dieses Protokollierungsfehlers verwirft NPS alle Verbindungsanforderungen. Fehlerinformationen: 22.

Lösung

Der RRAS-Dienst muss vor dem NPS starten. Dazu einfach den Starttyp von „Routing und RAS“ auf Automatisch und den vom „Netzwerkrichtlinienserver“ auf Automatisch (Verzögerter Start) stellen und schon funktionieren beide korrekt.

Sollte es noch nicht klappen, könnte auch noch die Windows Defender Firewall schuld sein:

Der Fehler ist mehr oder weniger bekannt (siehe https://windowsserver.uservoice.com/forums/295059-networking/suggestions/35724043-fix-default-nps-firewall-rules-for-server-2019 )

Das Problem sind fehlerhafte Standard-Firewallregeln für den NPS. Fügt man manuell eine Regel hinzu, welche die beiden UDP Ports 1812 und 1813 eingehend erlaubt (das deaktivieren der Firewall hilft hier nicht), reicht ein Neustart des NPS und anschließend klappt auch das starten des RRAS-Dienstes.

Windows Server 2019 Aktivierung – Der eingegebene Produkt Key funktioniert nicht (0x80070490)

Problem:

Man hat gerade frisch aus dem VLSC das Windows Server 2019 ISO heruntergeladen und möchte die installierte Maschine nun mit dem zugehörigen MAK-Schlüssel aktivieren.

Nach Eingabe des Keys zeigt einem der Aktivierungsassistent allerdings nur die Fehlermeldung:

Der eingegebene Produkt Key funktioniert nicht. Überprüfen Sie den Produkt Key, und versuchen Sie es noch einmal, oder geben Sie einen anderen Produkt Key ein. (0x80070490)

Produkt Key Assistent

Lösung:

Es gibt wohl einen Bug in dem Grafischen Produkt Key Assistenten. Man muss den Key entweder bereits während der Installation angeben oder an der Konsole per slmgr installieren:

slmgr /ipk AAAAA-BBBBB-CCCCC-DDDDD-EEEEE

Danach könnte es noch einen Moment dauern, bis die Aktivierung in den Windows Einstellungen auch korrekt angezeigt wird. Von eventuellen Fehlermeldungen, welche dort direkt nach der Key-Installation angezeigt werden, sollte man sich also zunächst nicht irritieren lassen.

Windows Server 2016 RDS Effekte (Black Screen, Startmenü defekt)

Problem:

Ein Terminal Server (RDS Session Host) zeigt nach einiger Zeit verschiedene Effekte, wie z.B. „schwarzer Bildschirm nach der Anmeldung“, „nicht mehr funktionierendes Startmenü“, allgemeine Performance- oder Anmeldeprobleme.

Dies betrifft übrigens nicht zwingend nur RDS Sitzungshosts, sondern prinzipiell alle Windows Server 2016 Maschinen, auf Terminalservern (insbesondere mit User Profile Disks, UPDs) ist das ganze aufgrund potenziell größerer Anmelde-/Benutzeranzahl nur deutlich wahrscheinlicher anzutreffen.

Lösung:

Schuld könnte ein Bug sein, welcher dafür sorgt, dass bei der Benutzeranmeldung erstellte Firewall-Regeln beim löschen des Benutzerprofils (hier kommen die UPDs ins Spiel, unter Einsatz dieser wird das Profil nämlich bei der Abmeldung automatisch wieder vom Server gelöscht) nicht mehr entfernt werden.

Das verursacht einen Registry-Bloat in 

HKLM:\System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules

und/oder

HKLM:\System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\RestrictedServices\Configurable\System

Sind diese Keys bereits „überfüllt“, kann es gut sein, dass sich die Werte nicht mehr per GUI (regedit) entfernen lassen – der Key lädt schlichtweg Ewigkeiten und stürzt bei zu wenig RAM ab.

Abhilfe schafft unser kleines PowerShell-Script, das die Einträge nacheinander löscht:

$profiles = get-wmiobject -class win32_userprofile
Clear-Host
Write-Host "`n`n`n`n`n`n`n`n"
Write-Host "Getting Firewall Rules..."
$Rules1 = Get-NetFirewallRule -All | 
  Where-Object {$profiles.sid -notcontains $_.owner -and $_.owner }
$Rules1Count = $Rules1.count
Write-Host "" $Rules1Count "Rules`n"

Write-Host "Getting Firewall Rules from ConfigurableServiceStore..."
$Rules2 = Get-NetFirewallRule -All -PolicyStore ConfigurableServiceStore | 
  Where-Object { $profiles.sid -notcontains $_.owner -and $_.owner }
$Rules2Count = $Rules2.count
Write-Host "" $Rules2Count "Rules`n"

$Total = $Rules1.count + $Rules2.count
Write-Host "Deleting" $Total "Firewall Rules:" -ForegroundColor Green

$Result = Measure-Command {

  $start = (Get-Date)
  $i = 0.0

  foreach($rule1 in $Rules1){

    # action
    Remove-ItemProperty -Path "HKLM:\System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" -Name $rule1.name

    # progress
    $i = $i + 1.0
    $prct = $i / $total * 100.0
    $elapsed = (Get-Date) - $start
    $totaltime = ($elapsed.TotalSeconds) / ($prct / 100.0)
    $remain = $totaltime - $elapsed.TotalSeconds
    $eta = (Get-Date).AddSeconds($remain)

    # display
    $prctnice = [math]::round($prct,2) 
    $elapsednice = $([string]::Format("{0:d2}:{1:d2}:{2:d2}", $elapsed.hours, $elapsed.minutes, $elapsed.seconds))
    $speed = $i/$elapsed.totalminutes
    $speednice = [math]::round($speed,2) 
    Write-Progress -Activity "Deleting Rules ETA $eta elapsed $elapsednice loops/min $speednice" -Status "$prctnice" -PercentComplete $prct -SecondsRemaining $remain
  }

  foreach($rule2 in $Rules2) {

    # action  
    Remove-ItemProperty -Path "HKLM:\System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\RestrictedServices\Configurable\System" -Name $rule2.name

    # progress
    $i = $i + 1.0
    $prct = $i / $total * 100.0
    $elapsed = (Get-Date) - $start
    $totaltime = ($elapsed.TotalSeconds) / ($prct / 100.0)
    $remain = $totaltime - $elapsed.TotalSeconds
    $eta = (Get-Date).AddSeconds($remain)

    # display
    $prctnice = [math]::round($prct,2) 
    $elapsednice = $([string]::Format("{0:d2}:{1:d2}:{2:d2}", $elapsed.hours, $elapsed.minutes, $elapsed.seconds))
    $speed = $i/$elapsed.totalminutes
    $speednice = [math]::round($speed,2) 
    Write-Progress -Activity "Deleting Rules from ConfugurableServiceStore ETA $eta elapsed $elapsednice loops/min $speednice" -Status "$prctnice" -PercentComplete $prct -secondsremaining $remain
  }
}

$end = Get-Date
Write-Host end $end 
Write-Host eta $eta

Write-Host $result.minutes min $result.seconds sec

Achtung: bei einem bereits länger laufenden Terminalserver, kann das Script schonmal so ein paar Stunden brauchen um alle Regeln zu entfernen. In einem Fall hier knapp 4 Stunden für etwa 95000 Regeln. Je nach CPU kann das natürlich etwas schneller gehen oder länger dauern – es wird wirklich fertig.

Aus jenen Performancegründen löscht das Script die Registry-Werte direkt, anstatt das eigentlich korrekte Remove-NetFirewallRule Cmdlet zu verwenden.

VMware Speicherrichtlinie neu anwenden – Ungültige Konfiguration der virtuellen Maschine.

Problem:

Man hat frisch eine Storage Policy konfiguriert und auf eine VM angewendet. Es wurden allerdings nicht alle Einstellungen sofort übernommen (z.B. die NimbleStorage AppSync Konfiguration).
Nach dem Korrigieren dieser, möchte man die Richtlinie neu anwenden. VMware zeigt einem jedoch den Fehler:

Ungültige Konfiguration der virtuellen Maschine.

Lösung:

Die VM hat vermutlich noch einen Snapshot. Nach dem entfernen klappt das erneute Anwenden der Richtlinien sofort.