Ein im lokalen ActiveDirectory gelöschter Benutzer wird nicht von AADConnect in Microsoft 365 gelöscht

Es tritt manchmal das Problem auf, das ein gelöschtes AD-Objekt (Benutzer) aus dem lokalen („OnPremises“) ActiveDirectory (EXAMPLE.LOCAL) nicht in das AzureAD synchronisiert wird, also dort nicht ebenfalls entfernt wird. „Normalerweise“ sollte das aber der Fall sein.

Das Objekt ist in diesem Fall weiterhin in Microsoft 365 sichtbar, kann aber auch im Portal (https://portal.office.com) nicht entfernt werde. Das passiert dann, wenn die Verzeichnissynchronisierung ein bestimmtes Cloud-Objekt „unerwartet“ nicht löschen kann und führt zu einem verwaisten Azure AD-Objekt, das von einem Administrator direkt entfernt werden muss.

Lösung (Windows 10+)

  • Wenn nicht vorhanden, AzureAD/MSOnline PowerShell Modul installieren
    Install-Module -Name MSOnline
  • Mit dem AzureAD (Microsoft 365 Tenant) als „Globaler Administrator“ verbinden
    Connect-MsolService
  • Objekt suchen mit
    Get-MsolUser -UserPrincipalName [email protected]
    … oder mit
    Get-MsolUser -SearchString "nam"
  • Wenn gefunden, Objekt(e) entfernen
    Get-MsolUser -UserPrincipalName [email protected] | Remove-MsolUser

Microsoft 365 und Office 365 neue Namen

Die ist eine Notiz an mich selber, weil ich die neuen Bezeichner für die Microsoft/Office 365 Produkte noch immer och so sicher verwenden kann, wie die alten 🤯

Office 365 Business Essentials ➡ Microsoft 365 Business Basic

Office 365 Business Premium ➡ Microsoft 365 Business Standard

Microsoft 365 Business ➡ Microsoft 365 Business Premium

Office 365 Business ➡ Microsoft 365 Apps for Business

Office 365 ProPlus ➡ Microsoft 365 Apps for Enterprise

PowerShell installation von NuGet schlägt fehl („Es kann kein Download von URI…“)

Problem

Für viele Dinge in der PowerShell, beispielsweise auch das MSOnline Modul, wird der NuGet Paketmanager benötigt. Die Module wissen das normalerweise auch und wollen diesen gleich mitinstallieren. Dieser vorgang schlägt aber recht oft fehl:

PS C:> Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201
WARNUNG: Es kann kein Download von URI "https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409" nach "" durchgeführt werden.
WARNUNG: Die Liste der verfügbaren Anbieter kann nicht heruntergeladen werden. Überprüfen Sie Ihre Internetverbindung.

Install-PackageProvider : Für die angegebenen Suchkriterien für Anbieter "NuGet" wurde keine Übereinstimmung gefunden. Der Paketanbieter erfordert das PackageManagement- und
Provider-Tag. Überprüfen Sie, ob das angegebene Paket über die Tags verfügt.
In Zeile:1 Zeichen:1
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201
~~~~~~~~~~~~~ CategoryInfo : InvalidArgument: (Microsoft.Power…PackageProvider:InstallPackageProvider) [Install-PackageProvider], Exception
FullyQualifiedErrorId : NoMatchFoundForProvider,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackageProvider

Lösung

Eine funktionierende Internetverbindung vorausgesetzt, liegt es vermutlich an dem „Upgrade“ des Azureedges, der den Lookup-Provider stellt (onegetcdn.azureedge.net/providers). Der Endpunkt lässt seit etwa April 2020 keine TLS1.0 Verbindungen mehr zu und wurde auf „TLS1.2 min“ konfiguriert. Die PowerShell (<14393.3474) spricht per Default aber nur TLS1.1.

Dieser PS-Befehl stellt die PowerShell ebenfalls auf 1.2 um:

[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12

Danach funktioniert sofort der Modulinstaller wieder – und alles andere auch.

„Die Druckereinstellungen konnten nicht gespeichert werden.“ Dieser Vorgang wird nicht unterstützt.

Auf Windows Druckserver schlägt es manchmal fehl, den Treiber eines Druckers zu aktualisieren oder neu zu installieren. Die Einrichtung läuft scheinbar zuerst fehlerfrei durch, doch nach dem „OK“ Klick am Ende erschient die Fehlermeldung „Die Druckereinstellungen konnten nicht gespeichert werden. Dieser Vorgang wird nicht unterstützt.“

Lösung

Abhilfe schafft es, die Option „Drucker freigeben“ aus- und wieder ein zu schalten.

Bevor der Treiber geändert werden kann, muss die Freigabe des Druckers aufgehoben werden, nach der Aktualisierung kann der Haken wieder rein.

Im neuen Edge Browser PDF-Dateien nicht mit dem integrierten Viewer öffnen, sondern mit einer externen Anwendung

Unter Windows 10 werden PDF-Dateien Standartmäßig im neuen Edge geöffnet. Auch in Webseiten verlinkte PDFs werden stets im Browser integriert geöffnet. Leider scheint der interne Betrachter des öfteren Problem mit dem Druck von PDF-Dateien zu haben (vor allem seit dem großen Update 2004) und stellt auch sonst nicht alle PDF-Features fehlerfei dar.

So aktiviert man externe PDF-Tools in Edge, wie den Adobe Reader

Auf das „…“ Menü klicken > Einstellungen

Dann unter den „Webseitenbrechtigungen“ auf „PDF-Dokumente“ und den Schalter von „PDF-Dateien immer extern öffnen“ nach rechts („ein“) schieben.

Schon werden beim nächsten öffnen alle PDFs an den In den Windows-Einstellungen konfigurierten Betrachter weitergereicht.

Windows Server 2019 „Einstellungen“ geht nicht (mehr) auf

Ich hatte grade auf mehreren Maschienen den überaus ärgerlichen Effekt, das die „Einstellungen“ App nicht mehr freiwillig aufgehen wollte. Ich konnte auf das Zahnrädchen im Startmenü klicken so oft ich wollte, es passierte nichts. Es ging auch überhaupt keine Settings-App mehr aus, auch über den Desktop oder den Defender nicht.

Lösung

  1. PowerShell (oder CMD) „als Administrator“ starten
  2. start ms-settings: (mit dem Doppelpunkt am Ende)

Es hat einen Moment gedauert, aber „Einstellungen“ ist dann fehlerfrei gestartet und funktioniert seitdem wieder einwandfrei.

Was die wirkliche Ursache davon ist weiß ich nicht und ich kann auch nicht sagen ob das die totale Lösung für alle Fehler dieser Art ist; aber in diesem (überaus nervigen) wars sehr hilfreich.

IIS ARR Reverse Proxy mit Redirects und Ausnahmen für Let’s Encrypt

Problem

Man möchte einen Webserver hinter einem IIS als „Frontend“ Reverse Proxy via ARR (Application Request Routing) betrieben und dem IIS das SSL-Offloading überlassen.

Der reverse Proxy ist schnell eingerichtet, aber wie vermeidet man, das ein ACME-Tool (beispielsweise win-acme) an der Validierung des Zertifikates scheitert, weil der IIS die Requests an /.well-known/acme-challenge/* ebenfalls an den Webserver weiterleitet?

Lösung

Man verwendet verschiedene Regeln um das zu verhindern. Entweder erstellt man diese im wundervollen IIIS GUI oder bearbeitet die zugehörige web.config:

<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <clear />


<!-- Letsencrypt-Ausnahme -->
                <rule name="LetsEncryptException" stopProcessing="true">
                    <match url=".well-known/acme-challenge/*" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                    <action type="None" />
                </rule>


<!-- Redirect auf HTTPS -->
                <rule name="Redirect-HTTPS" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{HTTPS}" pattern="^OFF$" />
                    </conditions>
                    <action type="Redirect" url="https://DEINEDOMAIN.COM/{R:1}" appendQueryString="false" redirectType="Found" />
                </rule>


<!-- Redirect root "/" in Verzeichnis (oft hilfreich bei Tomcat Apps) -->
		<rule name="redirect-to-subdir" stopProcessing="true">
			<match url="^$" />
			<action type="Redirect" url="https://DEINEDOMAIN.COM/DEINVERZEICHNIS/WHATEVER" />
		</rule>


<!-- Reverse Proxy -->
                <rule name="ReverseProxy" stopProcessing="false">
                    <match url="(.*)" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                    <action type="Rewrite" url="http://INTERNERSERVER:8059/{R:1}" />
                </rule>


            </rules>
        </rewrite>
    </system.webServer>
</configuration>