Per SQL Domänen Name von Mailadressen ändern

Juli 23, 2021 - Lesezeit: ~1 Minute

Mal wieder ein kleines Snippet das viel Arbeit ersparen kann. Ändern sich Firmennamen, Domainnamen oder auch einfach nur die Struktur eine Mailadresse kann man dies in einer Nutzerdatenbank relativ schnell für alle betroffenen ändern. Funktioniert unter MSSQL und MySQL.

ACHTUNG: Wie immer gilt, vorher ein Backup machen, erst in der Testdatenbank probieren oder transactions verwenden usw. Der nachfolgende Befehl schreibt und ändert direkt, ich übernehme keine Verantwortung für Datenverlust.

Grundgerüst:

UPDATE tabellenname 
SET spalte = REPLACE(spalte, 'alt', 'neu') 
WHERE spalte LIKE ('%alt');

Beispiel:

UPDATE usr_data 
SET email = REPLACE(email, '@old-domain.com', '@new-domain.com') 
WHERE spalte LIKE ('%old-domain.com);

Ein Powershellskript über die Aufgabenplanung ausführen

Februar 21, 2019 - Lesezeit: ~1 Minute

Wieder so eine Sache die ich gerne nutze, aber mich immer wieder erinnern muss wie genau es funktioniert. Es reicht nämlich nicht auf dem Windows Server das Powershell Skript in die Aufgabe einzubinden. Stattdessen muss eine Powershell über die Aufgabe gestartet werden, der dann direkt das Skript mitgegeben wird.

Unter Aktion die Powershell starten (Programm/Skript):

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

Über Argument wird dann das eigentliche Skript an die Powershell übergeben:

-executionpolicy bypass -command "C:\Users\admin\Desktop\Script.ps1"

Bildbeschreibung


Eine NFS Freigabe in Windows Server 2016 einbinden

Dezember 6, 2018 - Lesezeit: 2 Minuten

Eine NFS Freigabe, die z.B. auf einem Linux Server liegt, kann man auch problemlos auf einem Windows Server einbinden und nutzen. Dazu muss der NFS Client installiert sein, dies kann man über den Server Manager machen, aber auch über die Power Shell, was wesentlich flotter geht.

  1. Powershell als Administrator starten (z.B. per Rechtsklick auf das Powershell Symbol und dann "Als Administrator ausführen" wählen).
  2. Per Get-WindowsFeature -Name NFS* prüfen ob das Feature vorhanden ist und dann ...
  3. ... mit Install-WindowsFeature -Name NFS-Client installieren.

Das dauert dann ein paar Sekunden und am Ende sollte folgende Ausgabe zu sehen sein:

Bildbeschreibung

Das war es dann schon fast, jetzt gibt es mehrere Möglichkeiten die NFS Freigabe einzubinden, die einfachste ist nach wie vor: über Computer und dann Netzlaufwerk verbinden.

Bildbeschreibung

Bildbeschreibung

Falls es mit der Freigabe nicht so ganz klappt sollte man kontrollieren ob auf dem NFS Server der neue Server auch eingetragen ist, denn das wird gerne vergessen. Unter Linux sollte man dafür in der Datei /etc/exports nachschauen, die man dann nach einer Änderung auch neu einlesen sollte, z.B. mit (sudo) exportfs -ra


MySQL Zufallswert in Spalte eintragen / updaten

März 8, 2018 - Lesezeit: ~1 Minute

Kurzer Schnipsel. Kann durchaus nützlich sein.

Die Basis um einen Zufallswert, der in einem bestimmten Bereich liegt, ist folgende:

SELECT FLOOR(30 + RAND() * 3)

In diesem Fall wird ein Wert zwischen 30 und 32 generiert. Die Addition am Ende muss also immer > 1 des maximal Bereichs sein.

Als komplettes Statement könnte es z.B. so aussehen

UPDATE table_a SET zufallswert = (SELECT FLOOR(30 + RAND() * 3))


Kein Zugriff auf Samba (smb) nach Windows 10 v1709 Update

November 28, 2017 - Lesezeit: ~1 Minute

Wer auf einen Samba Server nach dem Windows 10 v1709 Update nicht mehr zugreifen kann, sollte mal einen Blick in die Registry werfen und nach diesem Schlüssel suchen:

AllowInsecureGuestAuth

Setzt man den Wert auf 1, klappt es wieder.

Fehlermeldung die man zu Gesicht bekam:

Sie können nicht auf diesen freigegebenen Ordner zugreifen, weil der Zugriff nicht authentifizierter Gäste durch die Sicherheitsrichtlinien Ihrer Organisation blockiert werden. Diese Richtlinien helfen, Ihren PC vor unsicheren oder bösartigen Geräten im Netzwerk zu schützen

Link zum Group Policy Administrative Templates Catalog


MySQL Daten aus Tabelle löschen zu denen keine ID in anderer Tabelle exisiert

Januar 9, 2017 - Lesezeit: ~1 Minute

Wer halbwegs darauf achtet das seine MySQL Datenbanken nicht völlig zugemüllt sind, der wird früher oder später auch mal Datensätze löschen müssen. Dabei kommt es zumindest bei mir oft vor das ich vor allem Daten aus Tabellen löschen will, zu denen der Nutzer gar nicht mehr existiert. Optimalerweise entfernt man natürlich alle Datensätzes eines Nutzers sobald man diesen aus dem System entfernt, aber auch da kann es Situationen geben wo dies nicht geht oder wo man es aus diversen Gründen vergessen hat. Mit dem folgenden Befehl enterne ich Datensätze zu denen kein Nutzer mehr existiert. Wichtiger Hinweis: Bevor man einen DELETE Befehl ausführt sollte man ein Backup machen oder mit Transactions arbeiten. Ich übernehme keine Verantwortung für verlorene Daten.

DELETE FROM table_a
WHERE user_id
NOT IN (SELECT user_id FROM users)

Hier werden einfach aus tablea alle Daten gelöscht die einer userid zugeordnet sind, die nicht mehr in der Tabelle users existiert.