WSUS: Migrate windows internal database to MS-SQL Server

HIer nur in aller Kürze zwei Links zu dem Thema:

https://docs.microsoft.com/en-us/windows-server/administration/windows-server-update-services/manage/wid-to-sql-migration#migrating-the-wsus-database

https://community.spiceworks.com/how_to/126238-migrate-wsus-6-3-from-internal-database-to-sql-server-2014

Im Grunde gehen beide Links den gleichen Weg. WICHTIG!! ist/war aber der Hinweis aus dem unteren Link, dass man den Login für das WSUS-COmputerkonto via TSQL erstellen muss!!


Exchange: Setting up retention tags and retention policies

Was muss man wo einstellen und wo gibt’s weitere Infos? Wirklich alle Infos zu dem Thema findet man bei Microsoft! Alles zu retention tags und retention policies:
https://docs.microsoft.com/en-us/exchange/policy-and-compliance/mrm/retention-tags-and-retention-policies?view=exchserver-2019

Ergänzende Infos dazu (sind aber auch in dem obigen MS-Artikel verlinkt):
https://docs.microsoft.com/en-us/exchange/security-and-compliance/messaging-records-management/default-folders
https://docs.microsoft.com/en-us/exchange/policy-and-compliance/in-place-archiving/in-place-archiving?view=exchserver-2019

Hier noch ein paar Infos zum „ManagedFolderAssistant“. Damit wird die Archivierung am Exchange (zeit-)gesteuert:
https://docs.microsoft.com/en-us/exchange/policy-and-compliance/mrm/configure-managed-folder-assistant?view=exchserver-2019
https://docs.microsoft.com/en-us/powershell/module/exchange/policy-and-compliance-retention/Start-ManagedFolderAssistant?view=exchange-ps

Hier noch ein paar Links, unter denen man auch ein paar gute Infos findet:
https://www.computerweekly.com/de/ratgeber/Archivierung-mit-Exchange-2013-Aufbewahrungsrichtlinien-richtig-einsetzen
https://help.mailstore.com/de/server/E-Mail-Archivierung_von_Microsoft_Exchange_2013
http://kb.mcgill.ca/?portalid=2&articleid=6035#tab:homeTab:crumb:8:artId:6035:src:article

Wichtiger Hinweise zur Benennung von MS, die zu Beginn verwirrend sein können:

MS unterscheidet in den Anleitungen zwischen „Archive policies“ und „retention policies“. Der Unterschied ist schlicht und einfach die „Action“ der Policy:

  • Wenn die Emails mit dieser Policy in das Archiv verschoben werden –> Archive policy
  • Wenn die Emails mit der Policy gelöscht werden –> retention policy

Im Exchange Admin Center heißt der „Menüpunkt“ aber trotzdem nur „retention policies“ 😉

Welche Retention Tags gibt es und wo ist der Unterschied:

  • Es gibt „Default policy tags“.
    • Diese gelten für ALLE Elemente einer Mailbox
    • aber nur wenn diese Elemente noch keine anderen „Tags“ haben
    • werden nur vom Admin zugeweisen und
    • können vom User NICHT geändert werden
  • Es gibt „Retention policy tags“
    • Diese gelten für „default folders“ einer Mailbox
    • werden vom Admin zugeweisen
    • können nur Lösch-Actions haben (Siehe vorheriger Hinweis!)
    • können vom User NICHT geändert werden
  • Es gibt „Personal tags“
    • Diese können vom Admin bereitgestellt werden und dann
    • vom User einzelnen Elementen (egal ob Ordner oder Email) im Postfach zugewiesen werden
      Damit überschreiben dann die „personal Tags“ des Users die anderen Tags des Admins!

Aus dem ersten Link oben:
Users can apply archive policies to default folders, user-created folders or subfolders, and individual items. Users can apply a retention policy to user-created folders or subfolders and individual items (including subfolders and items in a default folder), but not to default folders.

Infos zu den Retention Policies:

Aus dem ersten Link oben:

A retention policy can have the following retention tags:

  • Default policy tag (DPT)
    • One DPT with the Move to archive action
    • One DPT with the Delete and allow Rrecovery or Permanently delete actions
    • One DPT for voice mail messages with the Delete and allow recovery or Permanently delete action
  • Retention policy tags (RPTs)
    • One RPT for each supported default folder  
      Note
      : You can’t link more than one RPT for a particular default folder (such as Deleted Items) to the same retention policy.
  • Personal tags
    • Any number of personal tags
      Note
      : Many personal tags in a policy can confuse users. We recommend adding no more than 10 personal tags to a retention policy.

Was mir hier wichtig erscheint: Man kann sowohl eine DPT für die Archivierung als auch eine DPT für die Löschung in einer Policy haben! Es sollte der Zeiraum für die Löschung halt dann nur größer sein als der Zeitraum für die Archivierung, da es umgekehrt wenig Sinn macht 😉

Letzter Hinweis zu den Postfach-Statistiken

Um die Postfach-Statistiken für die Archivierungs-Postfächer zu bekommen kann man den gleichen Power-Shell Befehl „Get-MailboxStatistics“ verwenden nur mit dem Parameter „-Archive“

Exchange: Get mailbox database stats

Manchmla wäre es interessant zu wissen, wieviel Platz denn noch in den einzelnen Mailbox-DB’s frei ist?

Hier die recht einfache Lösung:

[PS] C:\>Get-MailboxDatabase -Status | select Name,DatabaseSize,AvailableNewMailboxSpace
 
Name    DatabaseSize                      AvailableNewMailboxSpace
----    ------------                      ------------------------
DB01    23.25 GB (24,964,497,408 bytes)   123 MB (128,942,080 bytes)
DB02    25.88 GB (27,783,069,696 bytes)   184 MB (192,970,752 bytes)

Achtung! Beachtet das „-Status“!! Ohne dem sind die Spalten (bis auf den Namen!) leer!

Quelle: https://practical365.com/exchange-server/using-powershell-to-get-mailbox-database-size-and-available-new-mailbox-space/

IIS: Redirect domain to a deep-link

Wie man im IIS eine http-URL zur entsprechenden httpS-URL redirected ist ja bereits bekannt. Nun hatte ich zusätzlich das Problem, dass ich eine URL https://domain.tld weiterleiten sollte zu https://domain.tld/deep/link.html

Die Lösung fiel mir schwer, bis ich begriff, dass der Filter (der überprüft ob die rewrite-rule auf die Anfrage zutrifft) nicht die gesamte URL testet, sondern nur den Teil NACH der Domain!!! Dann war es einfach 😉

Die Lösung, die mir dann auch den Lerneffekt brachte, fand ich hier:

https://stackoverflow.com/questions/7018818/iis7-url-redirection-from-root-to-sub-directory

Win10: Startmenu stopped working

Eines Tages gegen Mittags ging plötzlich das Startmenü meines Win 10 Rechners nicht mehr auf. Erst wenn das passiert merkt man wie oft man das benötigt. Ich habe zwar die Meistverwendeten Programme in der Tastleite angeheftet und einige andere kann ich via „Win“+“R“ (Ausführen Dialog) aufrufen aber eben nicht alle.

Nach langem Googeln und suchen fand ich dann diesen Eintrag:
https://superuser.com/questions/1059411/windows-10-shellexperiencehost-crashes

Die Lösung bestand bei mir jedoch aus 2 Schritten:

  1. Ich musste die lokalen Settings aus meinem Profil-Ordner wegsichern! Der Roaming-Teil war nicht das Problem.
  2. Erst danach zeigten die Powershell-Befehle aus dem Link oben den gewünschten Erfolg!

Vielleicht nicht ungut zu wissen:

  • Der Powershell Befehl funktionierte nur wenn kein anderer User an dem Rechner angemeldet war!
  • Ich habe im Endeffekt zuerst mein Profil von diesem Rechner komplett gelöscht (via Systemsteuerung – System – Erw. Systemsteuerung – Benutzerprofile) und danach nur mehr die benötigten Teile zurückkopiert

 

Sharepoint: Using CSR with activated MDS

MDS ist die „Minimale download strategie“ bei Sahrepoint. Mit CSR ist das „Client side rendering“ gemeint, mit dem man die Darstellung von Sharepoint-Seiten auf dem Client manipulieren kann.

Das eine (MDS) kommt dem anderen in die Quere! Hier gibts die Lösung:

https://blogs.msdn.microsoft.com/sridhara/2013/02/08/register-csr-override-on-mds-enabled-sharepoint-2013-site/

Aber ACHTUNG!!! Ein sehr wichtiger Hinweis findet sich in den Kommentaren darunter (User „armband“):

RegisterModuleInit expects a server relative URL and the url token ‚~sitecollection‘ doesn’t work, so if your CSRFieldType.js file is hosted in the ‚/sites/sitecol1‘ site collection master page gallery, the RegisterModuleInit call is:
RegisterModuleInit(„/sites/sitecol1/_catalogs/masterpage/CSRFieldType.js“, RegisterFavoriteColor);

 

Windows Helferlei: ac’tivAid

Seit gut 10 Jahren gibt es nun schon ein Windows Helferlein namens ac’tivAid. Es ist für mich zum unverzichtbaren Goodie geworden, dass mir im Alltag viel Zeit gespart hat. Bewußt wurde mir das nun wieder, weil ich meinen Rechner getauscht hatte und vergessen hatte ac’tivAid auf dem neuen Recher zu installieren. Da merkte ich erst wie oft ich dieses Tool nutze!

Quellen dazu:

 

Certificates: Create a certificate with the active directory CA/PKI

Wir hatten den Fall, dass wir für eine Sharepoint-Anwendung ein Wildcard-Certificate benötigten. Und zwar für nur intern genutzte Domäne die wir nicht besitzen. Im Grunde ist das nicht schwer. Wer allerdings noch nie die AD-interne Zertifizierungsdienste dazu genutzt hat braucht eine Anleitung dazu. Hier ist sie 😉

https://www.petenetlive.com/KB/Article/0001128

Kleiner Tipp: Falls beim Schritt „Zertifikat- oder Erneuerungsanforderung einreichen“ die Vorlage „Webserver“ nicht findet liegt das daran, dass ihr den IE mit Admin-Rechten starten solltet.

24.8.2018 Update:
Für selbst erstellte Zertifikate müsst ihr (damit diese auch bei Verwendung des Google Chrome Browsers korrekt funktionieren) folgendes beachten:
Der „Common Name“ (CN) und der „Alternative Subject Name“ (DNS) MÜSSEN übereinstimmen!!!
Details dazu findet ihr hier:
http://www.expta.com/2017/06/fix-for-certificate-error-in-chrome.html
https://www.heise.de/security/artikel/Chrome-blockt-Zertifikate-mit-Common-Name-3717594.html

 

Kleine Randnotiz:
Falls Ihr beim Erstellen der Zertifkatsanforderung die Fehlermeldung erhalten „Fehler bei der Analyse der Anforderung. Der angeforderte Antragstellername ist ungültig oder zu lang“ dann gibt es eine einfache Lösung:
Bei mir war der Grund, dass die Daten für den Eintrag „Lang“ mit „Austria“ zu lang war! Als ich das auf „AT“ geändert hatte war alles wieder OK 😉
Die Lösung fand ich hier im ersten User-Kommentar:
https://mxrnz.wordpress.com/2016/08/18/internal-ca-the-request-subject-name-is-invalid-or-too-long/

 

SSIS: Update variable

Wenn man in einem Sql Server Integration Services Paket eine Variable einsetzt, dann hat man mehrere Möglichkeiten den Wert dieser Variable zu setzen.

Zu aller erst natürlich indem man in den SQL Server Data Tool einfach einen Wert (via Expression) vergibt. Des weiteren kann man den Wert natürlich z.B. aus einer Tabelle, aus einem Textfile usw. auslesen. Hier ein paar Links, die mir hilfreich dabei waren:

Soweit ich gesehen habe, kann man auch mit einer Expression Daten aus einer Tabelle auslesen. Da ich dazu aber nur wenig Info im Internet gefunden habe (ich habe aber auch nicht danach gesucht *ggg*) sei das nur am Rande erwähnt!

Die letzten drei Links dienen mir dazu, den zugewiesenen Wert im „Output“ Fenster des debug-Modus anzeigen zu lassen!