Microsoft 365 Exchange online Mailbox neu mit einem lokalen Benutzer verbinden

Es kommt in Hybrid-Szenarien schon mal vor, dass ein Admin einen synchronisierten AD-Benutzer nachträglich innerhalb von Microsoft 365 mit einem Postfach versieht. Das ist nicht „supported“, das Postfach taucht nicht im Exchange ECP auf und es drohen fiese Konflikte, wenn Attribute synchronisiert werden. Außerdem kann es auf einmal doppelte Mailadressen geben, weil beide Exchange-Server auf unterschiedliche Adresslisten zugreifen.

Da sollen/müssen die Benutzer wieder auftauchen.

Lösung

Eine „offizielle“ Lösung gibt es nicht so richtig. Exchange Online verwaltet Postfächer etwas anders als der „on Premises“ Exchange, man kann daher Postfächer eigentlich nicht auf die Schnelle ab- und wieder anhängen. Vor allem nicht mit verbundenen Benutzern (Outlook oder Applegeräte).

Es gibt aber einen (bisher) ganz brauchbar funktionierenden Trick.

  • Wenn eine Mailbox in EXO angelegt wurde
  • UND diese On-Premises im ECP [noch] nicht existiert (Postfachtyp „Office 365“)
  • DANN kann man die Mailbox „noch einmal“ On-Premises als Remote-Mailbox enablen. ACHTUNG: Dabei werden die im Exchange Online erstellten Attribute (SMTP-Adressen, Kontaktinformationen, Berechtigungen …) bei der nächsten Synchronisation überschrieben.

Schritt für Schritt geht das so

  1. Exchange GUID der Mailbox aus Exchange Online holen:
    Get-Mailbox <NAME> | fl ExchangeGuid
  2. Primäre E-Mail-Adresse der Mailbox auslesen (wenn nötig):
    Get-Recipient <NAME>| fl PrimarySmtpAddres
  3. Alle weiteren E-Mail-Adressen der Mailbox auslesen (wenn nötig):
    Get-Recipient <NAME> -ResultSize Unlimited | fl @{Name="EmailAddresses";Expression={($_.EmailAddresses | Where-Object {$_ -clike "smtp*"} | ForEach-Object {$_ -replace "smtp:",""}) -join ", "}}
  4. Mailbox On-Premises „neu“ in Exchange Online enabeln
    Connect-ExchangeOnline
    Enable-RemoteMailbox <NAME> -RemoteRoutingAddress @domain.mail.onmicrosoft.com

    Set-RemoteMailbox <NAME> -ExchangeGuid <GUID AUS SCHRITT1>
  5. Im ECP (On-Premises) die E-Mail Adressen aus Schritt 2 und 3 der Mailbox wieder hinzufügen und einen „Entra ID Connect“ Sync („initial“) starten.

Wenn das erledigt ist, kann es eine Weile dauern, bis das Online-Adressbuch das Postfach wieder korrekt anzeigt. In meinem letzten Fall hier etwas weniger als 24 Stunden.

Windows Server 2019/2022 RRAS (VPN) Fehler „8007042a“

Microsoft hat mit einem der Updates aus 2023 eine mehr oder weniger folgenschwere Änderung eingeführt. Auf die Änderung an der Protokollierungsschnittstelle geht dieser Artikel nicht ein – aber auf die Folge.

Nach einem Reboot eines RRAS Servers funktioniert die VPN-Einwahl plötzlich nicht mehr. Auf dem Server ist der „Routing und RAS“ Dienst seltsamerweise nicht mehr gestartet und lässt sich auch nicht mehr starten. Das Ereignisprotokoll sowie die Fehlermeldung beim manuell Start zeigen den Fehler 8007042a an.

Lösung

Es liegt an der Startreihenfolge. Zuerst muss der RRAS-Dienst gestartet sein, dann darf der NPS (Netzwerkrichtlinienserver) folgen.

Quick-Fix: Beide Dienste beenden, Routing und RAS starten, dann NPS:

sc stop rasman
sc stop IAS
sc start rasman
timeout /t 3
sc start IAS

Eine dauerhafte Lösung, die auch beim nächsten Reboot funktioniert, ist die Abhängigkeit des NPS vom RRAS hinzuzufügen:

sc config IAS depend= RpcSS/RemoteAccess 

Dann klappt’s auch mit dem nächsten Neustart.

Vielleicht hätte Nadella bei Microsoft die QS-Abteilung für Updates doch nicht komplett hinauswerfen sollen …

PowerShell „FIND: Parameterformat falsch“

Alte Admins tippen auch an der PowerShell gerne mal das gute alte find anstelle von select-string. Obwohl das Parameterformat nahzu idetisch ist, wird man alte Angewohnheiten ja nicht so schnell los ☺️

Allerdings beschwert sich die PowerShell über die ungewohnten Anführungszeichen:

PS C:\> arp -a | find /i "00"
FIND: Parameterformat falsch

Lösung

Die „korrekte“ PowerShell-Variante nutzt nur select-string oder die Kurzform sls.

Das ist auch gar nicht so schlecht, denn selbiges beherrscht unter anderen auch regex und Simple Pattern Matching. Es ist aber auch die gute alte Form möglich, die nur zusätzlich mit dem Apostoph escaped werden muss:

# Die ausgeschriebene Form
arp -a | Select-String -Pattern "00"

# Verkürzte Form
arp -a | sls "00"

# Wie-von-Batch-gewohnt Form
arp -a | find /i '"00"'

Windows Notepad (Editor) zeigt Text plötzlich rechts an (Lesererichtung Rechts-nach-Links (RTL))

Wenn notepad.exe plötzlich „Allen Text rechts anzeigt“ ist etwas schiefgelaufen. Ich hatte grade so einen Fall und musste erst schmunzeln, weil das lustig aussah und dann etwas länger suchen, bis die Lösung dafür gefunden war.

Auf einmal ist „Alles nur noch rechts“

Lösung: Tastenkombination zum Umschalten

Die Lösung sind die STRG+Umschalt Tastenkombinationen zur Umschaltung der RTL/LTR Leserichtung:

[Strg] + [Umschalt rechts] Leserichtung von „rechts nach links“
[Strg] + [Umschalt links] Standard (DE): Leserichtung von „links nach rechts“

Man kann unterschiedliche Tabs sogar in unterschiedlichen Richtungen benutzt. Die Umschaltung ist on-the-fly.

vmWare vCenter „Die STS-Signaturzertifikate laufen demnächst ab“

In der vCenter Server Appliance (VCSA) und/oder dem vSphere GUI wird diese Fehlermeldung angezeigt:

Die STS-Signaturzertifikate laufen demnächst ab

Wenn man die VSCA rebootet, wird der Dienst vmware-vpxd nicht mehr gestartet. Jede erneute Anmeldung am vSphere-Client funktioniert mit diesem Fehler nicht mehr:

HTTP-Status 400 – Bad Request Message BadRequest
Signaturzertifikat ist ungültig

In /var/log/vmware/vpxd-svcs/vpxd-svcs.log gibt es Einträge wie diesen:

com.vmware.vim.sso.client.impl.SecurityTokenServiceImpl$RequestResponseProcessor opId=] Server rejected the provided time range. Cause:ns0:InvalidTimeRange: The token authority rejected an issue request for TimePeriod

Lösung

Dieses Problem tritt auf, wenn das Security Token Service (STS)-Zertifikat abgelaufen ist. Das führt dazu, dass interne Dienste keine gültigen Tokens mehr erwerben können und nicht mehr funktionieren. Wenn das STS-Zertifikat abläuft, geschieht das auch gerne mal ohne Vorwarnung (8.0.2.400+ fixt das wohl).

Es gibt von vmware einen guten Fix, der leider aktuell in der Broadcom-Umstellung nicht erreichbar ist. Hier ist der Mirror 🙂

  1. fixsts.sh (Hier als ZIP) herunterladen
  2. Auf der VCSA als root anmelden. Wenn das nicht mehr funktionieren sollte (Timeout und/oder Verbindungsabbruch), einfach als „[email protected]“ anmelden, die shell mit shell.set --enabled true einschalten und eine rootshell via sudo /bin/bash starten.
  3. Das Script fixsts.sh in /tmp ablegen und ausführbar machen:
    chmod +x /tmp/fixsts.sh
  4. Das Script ausführen:
    /tmp/fixsts.sh
  5. Das Script generiert neue STS-Zertifikate und tauscht diese aus. Der Vergang braucht nicht lange. Danach muss man nur noch die vCenter Dienste neu starten:
    service-control --stop --all && service-control --start --all