Microsoft SQL Server 15128 „Die Optionen CHECK_POLICY und CHECK_EXPIRATION können nicht auf OFF festgelegt werden, wenn MUST_CHANGE auf ON festgelegt ist“


Problem

Nach der Anlage eines neuen SQL-Benutzers möchte der Admin den Haken bei „Benutzer muss das Kennwort bei der nächsten Anmeldung ändern“ entfernen. Das SQL Management Sudio beschwert sich darauf hin aber, das „MUST_CHANGE auf ON“ festgelegt sei:

Die Optionen CHECK_POLICY und CHECK_EXPIRATION können nicht auf OFF festgelegt werden, wenn MUST_CHANGE auf ON festgelegt ist. (Microsoft SQL Server, Fehler: 15128)

Lösung

Das Kennwort muss geändert werden, erst dann kann man die Optionen wieder anpassen. Die „Änderung“ kann aber auch das selbe Kennwort wie vorher sein.

Kurzfassung in T-SQL:

USE master;
ALTER LOGIN <sqluser> WITH PASSWORD = '<kennwort>';
ALTER LOGIN <sqluser> WITH CHECK_EXPIRATION = OFF; // Kennwortablauf
ALTER LOGIN <sqluser> WITH CHECK_POLICY = OFF; // Kennwortrichtlinie

Install-Module fehlt: Die Benennung „Install-Module“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei …

Als Admin ist man es gewohnt, mit dem PowerShell Cmdlet Install-Module erforderliche Module nachzuinstallieren. Doch das schlägt auf älteren Systemene mit PowerShell 4 mit fehl:

install-module : Die Benennung "install-module" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdateio der eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
 install-module
CategoryInfo : ObjectNotFound: (install-module:String) [], CommandNotFoundException: FullyQualifiedErrorId : CommandNotFoundException 

Die PowerShell Version lässt sich schnell prüfen:

PS C:\> $PSVersionTable.PSVersion
PS C:\Users\.admin> $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
4      0      -1     -1

Lösung

Unter Server 2012R2 gibt es die PowerShell 5, die NuGet als Paketprovider mitbringt, noch nicht automatisch. Also muss man beides manuell installieren.

  1. Download und Installation „Windows Management Framework 5.1“: https://www.microsoft.com/en-us/download/details.aspx?id=54616 (Für „meinen“ Server 2012R2 war das das Paket Win8.1AndW2K12R2-KB3191564-x64.msu)
  2. TLS 1.2 als „Strong Crypto“ aktivieren (nein, 2012R2 kannte das noch nicht, das sprach noch SSL3). Reboot nicht vergessen!
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord

… und am besten auch direkt für 64bit:

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
  1. NuGet Paketprovider installieren:
[PS] C:\>Install-Module PowershellGet -Force

Mailbox von Exchange Online zurück nach Exchange Server on Premises verschieben („Offboarding“)

Es gibtr zwar einen schicken Assistenten der beim Cloud-OnBoarding hilft, aber natürlich kein GUI das beim zurückverschieben von Mailboxen hilft.

Lösung

Auf an die Admin-PowerShell und einen Offboarding-Auftrag erstellen:

# Exchange Online PowerShell Modul importieren
PS C:\> Import-Module ExchangeOnlineManagement

# Exchange Online Credentials in eine Variable legen
PS C:\> $onlinecred = Get-Credential

# Exchange Online PowerShell Verbindug herstellen
PS C:\> Connect-ExchangeOnline -Credential $onlinecred

# On Premises (lokaler Exchange Server) Credentials angeben
PS C:\> $opcred = Get-Credential

# Neuen Move-Request erstellen
PS C:\> Get-Mailbox -Identity <MAILBOXNAME>| New-MoveRequest -Outbound -RemoteTargetDatabase "<LOKALE DATENBANK NAME>" -RemoteHostName <EXCHANGE SERVER FQDN> -RemoteCredential $opcred -TargetDeliveryDomain <DOMAIN>

Outlook Suche in Freigegeben Ordnern liefert keine Ergebnisse (Suche funktioniert nicht in „fremden“ Ordnern)

Die Outlook-Suche verhält sich ja häufiger etwas ungewöhnlich, das man aber sei einer Weile praktisch nicht mehr freigegebene Ordnern (Nicht freigegebene Postfächer) von anderen Nutzern suchen kann, ist merh als ärgerlich. Grade in Zeiten von Exchange Online ist das sehr ärgerlich.

Schuld ist Outlook in Verbindunge mit dem Windows Indexdienst. Freigegebene Ordner werden standartmäßig wie freigegebene Postfächer heruntergeladen; diese landen somit im Index. Leider beauftragt Outllook bei der Sucher nur noch „Eigenes Postfach“ und liefer somit bei freigegebenen Ordnern nur leere Ergebnismengen zurück.

Woraround

Man kann Exchange dazu zwingen, die Serverseitige Suche zu verwenden. Der Zugriff auf Microsoft 365 Exchange Online-Postfächer ist dann zwar etwas langsamer, dafür liefert die Outlook-Suche plötzliche wieder korrekte Ergebnisse. Bonus: Neu vergebene Berechtigungen greifen nun ebenfalls sofort.

Das geht unter den E-Mail Konten > E-Mail > Postfach auswähen und oben „Ändern“ > Weitere Einstellungen > Erweitert > Freigegebene Ordner herunterladen AUS schalten.