Über 25 Jahre Windows-Infrastruktur.
Seit März 2026 baue ich meine eigenen Werkzeuge.
Davon 13 Jahre hauptverantwortlich für das Active Directory einer Körperschaft des
öffentlichen Rechts. Dazu Gruppenrichtlinien, Zertifikatsdienste, Citrix,
Virtualisierung und Netzwerk.
Seit März 2026 arbeite ich mich in KI-gestützte Administration ein. Dabei sind acht
Projekte entstanden. Sie stehen hier in der Reihenfolge, in der ich sie gebaut habe.
Bei den größeren steht dabei, was schiefging.
Projekte 2026
seit März 2026
Ein Berechtigungsmanagement für Active Directory
Ein neuer Mitarbeiter fängt an, und jemand legt sein Konto von Hand an. Das dauert
Stunden bis Tage und wird uneinheitlich: der eine schreibt m.mueller,
der andere mueller_m. Vor allem braucht es dafür ein Konto mit
Vollzugriff auf das ganze Verzeichnis. Wer diese Zugangsdaten erbeutet, dem gehört
das Netz. So laufen die Verschlüsselungsangriffe ab, von denen man in der Zeitung
liest.
Was entstanden ist
Aus der reinen Kontenanlage wurde ein Berechtigungsmanagement mit sechs Bausteinen.
Eintritt, Abteilungswechsel und Austritt decken den Lebenszyklus
ab. Dazu kamen drei Teile, die man erst später vermisst: eine Übersicht, wer
worauf Zugriff hat, eine Rezertifizierung, mit der Berechtigungen regelmäßig
bestätigt werden müssen, und ein durchgehendes Protokoll. Sicherheitstechnisch
ist der Austritt der wichtigere Fall. Vergessene aktive Konten ehemaliger Mitarbeiter
sind ein verbreitetes Problem.
Zwei Entscheidungen, auf die es ankam
Der naheliegende Weg wäre gewesen, die Zugangsdaten eines Administrators irgendwo zu
hinterlegen und ein Programm damit arbeiten zu lassen. Dieses Programm kann dann
alles, was der Administrator kann. Bei mir führt der Zugang zum Domain Controller
genau einen Befehl aus und sonst nichts. Das ist technisch erzwungen und nicht
bloß vereinbart. Beim Test habe ich nachgesehen, welche Befehle in dieser Sitzung
sichtbar sind: neun. Der eine Provisionierungsbefehl und acht Standardfunktionen, die
das System zum Betrieb braucht.
Der zweite klassische Fehler ist ein Dienstkonto mit festem Passwort in einer
Konfigurationsdatei. Solche Passwörter werden nie geändert und stehen irgendwann in
einer Dokumentation. Bei mir erzeugt das System das Passwort selbst, wechselt es alle
30 Tage und gibt es nur an namentlich freigegebene Server heraus. Kein Mensch
kennt es. Es lässt sich also weder weitergeben noch aus einer Datei stehlen.
Berechtigt ist das Konto außerdem nur für einen eng begrenzten Zweig des
Verzeichnisses.
Der Dienst darf nur drei Befehle und nur in einem Zweig des Verzeichnisses — und läuft unter einem Dienstkonto, dessen Passwort niemand kennt.
Was der erste echte Testlauf gefunden hat
Sechs Fehler, die auf dem Papier unsichtbar waren. Zwei davon steckten in meinem
eigenen Konzept. Ein Beispiel: Ein Anmeldename darf höchstens 20 Zeichen lang sein.
Der Testname traf diese Grenze genau. Als die Automatik zur Unterscheidung eine Ziffer
anhängen wollte, waren es 21, und das System verweigerte die Anlage. Unentdeckt wäre
das erst aufgefallen, wenn zwei Mitarbeiter mit langem Namen gleich heißen. Also
selten und mitten im Tagesgeschäft.
Beide Konzeptfehler sind mir nur aufgefallen, weil die Übersichtsseite den
tatsächlichen Zustand im Verzeichnis anzeigt und nicht den geplanten. Ich baue diese
Ansicht seitdem früh und nicht am Ende.
seit Juli 2026
Ein Vokabeltrainer im Dauerbetrieb
Angefangen hat das als Werkzeug für mein tägliches Englisch. Inzwischen läuft es
dauerhaft: 177 Tage Lernstoff, 589 Wörter, von unterwegs erreichbar, eigene Adresse,
gültiges Zertifikat. Namensauflösung, Zertifikat und Webserver laufen auf einer
Maschine, die ich selbst betreibe.
Die Rückseite einer Lernkarte: Aussprache, Übersetzung, ein Satz aus dem Lernstoff.
Den Lernstand halte ich im Browser statt auf dem Server. Damit brauche ich keine
Datenbank und keine personenbezogenen Daten. Sichern muss der Nutzer dann selbst,
deshalb steht das in der Anleitung.
Einmal meldete jemand, die Sprachausgabe gehe nicht. Ich habe zwei Runden im Code
gesucht und nichts gefunden. Es lag am Gerät: eines mit einer Beta-Version des
Betriebssystems, zwei andere liefen normal. Heute frage ich bei einem gemeldeten
Fehler zuerst, wo er nicht auftritt. Mit einem zweiten Gerät ist das in zwei
Minuten geklärt.
seit August 2026
Ein CCNA-Fragentrainer mit Erklärungen
Ich bereite mich selbst auf den CCNA vor. Bei den vorhandenen Fragensammlungen hat
mir immer dasselbe gefehlt: Sie sagen nur, welcher Buchstabe richtig ist. Damit lernt
man, welcher Buchstabe zu welcher Frage gehört, und steht in der Prüfung vor
derselben Sache in anderer Verpackung. Also habe ich einen eigenen gebaut. Inzwischen
sind es 143 Fragen über alle 29 Prüfungsthemen des Blueprints 200-301 v2.0,
zweisprachig.
Nach jeder Antwort steht da, warum sie richtig ist und warum die anderen nicht.
Zu jeder Frage steht, warum die richtige Antwort richtig ist und warum die anderen
drei es nicht sind. Dazu ein Rezept, um den Fall im Labor selbst nachzubauen. Die
Fragen sind selbst geschrieben, entlang der veröffentlichten Prüfungsthemen. Jeden
Befehl habe ich vorher gegen die offiziellen Cisco-Referenzen geprüft. Wo eine Ausgabe
noch nicht an einem laufenden Gerät nachgestellt wurde, steht das offen dabei.
Läuft auf derselben Maschine wie der Vokabeltrainer, unter eigener Adresse mit
eigenem Zertifikat. Es gibt keine Anmeldung und keine Statistik. Der Lernstand bleibt
im Browser, und die Schrift kommt vom eigenen Server statt von Google. Damit brauche
ich kein Einwilligungsbanner.
Der Fragenkatalog wuchs über Wochen von 103 auf 143 Fragen. Der Server stand die
ganze Zeit bei 103, ohne dass es jemand merkte. Jeder Commit war grün, das
Übertragungsskript meldete jedes Mal „Fertig“. Nachgesehen hatte niemand. Das Skript
zählt seitdem nach dem Übertragen die Fragen am Server nach und meldet erst dann
„Fertig“, wenn die Zahl mit dem lokalen Stand übereinstimmt.
August 2026
Der Server, der das Netz im Haus versorgt
Dieselbe Maschine beantwortet die Namensauflösung für alle Geräte im Netz. Das sind
gut 65.000 Anfragen am Tag von rund 30 Geräten, etwa 14 Prozent davon gefiltert.
Fällt sie aus, hat niemand mehr Internet, auch wenn die Leitung steht. Der Werbefilter
ist dabei nur die Zugabe. Wichtiger ist, dass hier ein zentraler Infrastrukturdienst
läuft, und entsprechend vorsichtig ist er eingerichtet.
Sicherheitsupdates: automatisch, aber nicht überall
Das realistische Risiko für einen Server am Internet ist nicht der Scanner, der
WordPress-Pfade abklopft. Es ist eine ungepatchte Lücke in einer der Komponenten,
während genau danach automatisiert gesucht wird. Deshalb kommen die Sicherheitsupdates
der Distribution automatisch. Kernel und Firmware mache ich weiter von Hand.
Von dort kommen auch Funktionsänderungen, und ein Kernel, der im Hintergrund wechselt
und beim nächsten Start nicht hochkommt, wäre auf dem Gerät mit dem zentralen DNS ein
schlechter Tausch. Neu gestartet wird nach Entscheidung und nicht nach Zeitplan.
Auswertung ohne Einwilligungsbanner
Für die Zugriffsstatistik habe ich mich gegen die üblichen Werkzeuge entschieden, die
per JavaScript im Browser messen. Stattdessen werte ich die Serverprotokolle direkt
aus. Das kommt ohne Cookies und ohne Einwilligungsbanner aus, ändert nichts an der
Seite und zählt auch die Besucher, die JavaScript blockieren. Das sind hier die
meisten, denn der Großteil der Zugriffe stammt von automatischen Scannern. Die
Auswertung führt einen eigenen Bestand, weil die Protokolle nach zwei Wochen gelöscht
werden. Sonst gäbe es nie mehr als zwei Wochen Historie.
Nach einer Migration meldete der Filterdienst „aktiv“ und filterte trotzdem nichts.
Er hatte seine Datenbank in der falschen Reihenfolge geöffnet. Sichtbar wurde das nur,
weil ich dieselbe Abfrage zusätzlich gegen die alte, noch laufende Maschine gestellt
habe. Seitdem lasse ich bei Migrationen den Vorgänger stehen, bis der Nachfolger gegen
ihn geprüft ist.
August 2026
Nextcloud selbst betrieben, Sicherung zweimal zurückgespielt
Eine Datensicherung, die nie zurückgespielt wurde, taugt wenig. Diese hier habe ich
zweimal vollständig wiederhergestellt. Beim zweiten Mal nicht ich selbst, sondern
jemand anderes nach meiner Anleitung, und mit 1.295 echten Fotos statt eines
Testdatensatzes: 1.340 Dateien, kein einziger Fehler.
Dass es jemand anderes gemacht hat, war der eigentliche Test. Er stolperte sofort
über eine Meldung, die ich für selbstverständlich gehalten und deshalb nirgends
erwähnt hatte. In meiner eigenen Anleitung hätte ich diese Lücke nie gefunden.
Die Aufbewahrungsregel lautete „alles älter als 30 Tage löschen“. Das klingt
vernünftig, löscht aber vor Tag 31 überhaupt nichts. Bei der tatsächlichen Größe eines
Laufs wäre die Platte nach gut einer Woche voll gewesen, ohne dass je aufgeräumt wird.
Im Test mit ein paar hundert Megabyte war das unsichtbar. Aufbewahrung nach
Anzahl statt nach Alter macht den belegten Platz rechenbar. Dazu
gehört eine Platzprüfung vor dem ersten Schreibvorgang. Eine Sicherung, die
mitten im Schreiben an einer vollen Platte scheitert, hinterlässt ein halbes Archiv,
das im Verzeichnis aussieht wie ein gültiges.
September 2026
Eine Sprechtafel, die man mit dem Gesicht bedient
Ein Freund kann nicht mehr sprechen. Für ihn habe ich eine Sprechtafel gebaut, die er
nur mit dem Gesicht bedient. Auf dem Bildschirm stehen große Felder mit Themen und
Sätzen. Hebt er die Augenbrauen, springt die Markierung ein Feld weiter. Schließt er
die Augen, geht es zurück. Öffnet er den Mund, ist das Feld ausgewählt, und das Tablet
spricht den Satz laut aus.
Die Oberfläche mit Beispielinhalt. Die echten Sätze bleiben privat.
Die Tafel läuft im Browser auf dem Tablet. Das Kamerabild bleibt auf dem Gerät und
wird nirgends hingeschickt.
Oktober 2026
Eine Lichtsteuerung für die Wohnung
Damit schalte ich die Lampen in der Wohnung vom Rechner aus: ganze Räume an und aus,
Helligkeit, Farbe und gespeicherte Lichtstimmungen. Die Oberfläche hat eine KI gebaut.
Ich habe sie auf meinem eigenen Server eingerichtet. Dort läuft sie ständig, und jeder
Rechner im Haus öffnet sie im Browser, ohne dass vorher etwas gestartet werden muss.
Die Räume mit Schalter, Helligkeit und Szenen.
Oktober 2026
Ein KI-Assistent, der lokal auf dem eigenen Rechner läuft
Die KI-Werkzeuge, mit denen ich arbeite, schicken ihre Daten in die Cloud. Für vieles
ist das in Ordnung, für sensible Daten nicht. Also habe ich mir einen Assistenten
gebaut, der ganz auf meiner eigenen Hardware läuft: ein offenes Sprachmodell (Qwen) und
darüber ein selbst geschriebener Client, über den ich mit ihm arbeite. Nichts davon
verlässt den Rechner.
Was entstanden ist
Zwei Teile. Zuerst habe ich das Modell lokal zum Laufen gebracht und auf die
Grafikkarte abgestimmt, bis das Tempo für den täglichen Gebrauch reichte. Darauf sitzt
die „Werkbank“, eine Oberfläche in Python: Sie führt das Gespräch mit dem Modell, lässt
es Dateien lesen und schreiben, Befehle ausführen und sich über Sitzungen hinweg Dinge
merken. Für verschiedene Aufgaben habe ich Rollen angelegt, etwa einen Webdesigner und
einen Linux-Administrator, die jeweils nur das dürfen, was sie brauchen.
Die Entscheidung, auf die es ankam
Ein Assistent, der selbst Befehle ausführt, ist nützlich und gefährlich zugleich. Bevor
ich ihm das erlaubt habe, habe ich ihn eingegrenzt: Er schreibt nur in seinem eigenen
Arbeitsordner, und bestimmte Dateien kann er gar nicht erst lesen. Beim Einrichten fiel
mir auf, dass er sonst an einen Schlüssel gekommen wäre, der ihm vollen Zugriff auf
einen anderen Rechner im Haus gegeben hätte. Das habe ich geschlossen, bevor es darauf
ankam. Jede Änderung legt er außerdem vorher vor und lässt sich mit einem Befehl wieder
zurücknehmen.
Dieselbe Programmieraufgabe habe ich einmal über ein fertiges, universelles Werkzeug an
das Modell gegeben und einmal über die Werkbank. Die Werkbank war rund dreimal
schneller, weil sie dem Modell nur schickt, was es für den nächsten Schritt wirklich
braucht.
Ob die erzeugten Oberflächen flüssig liefen, wollte ich zuerst mit einem schnellen
Abzug im Hintergrund prüfen. Der zeigte aber noch das Standbild und meldete alles als
ruckelig, obwohl es das nicht war. Bewegung sehe ich mir seitdem nur noch im echten
Fenster an und nicht in einem Schnelltest, der die Frage gar nicht beantworten kann.
Wie ich dabei arbeite
Alles hier ist mit KI-Unterstützung entstanden, überwiegend mit Claude. Das nimmt einem
die Arbeit nicht ab, es verschiebt sie. Code entsteht in Minuten, die Zeit geht in die
Frage, ob er das Richtige tut. Deshalb steht bei den größeren Projekten oben, was schiefging.
Erzeugter Code sieht immer plausibel aus, und plausibel heißt nicht richtig.
Vier Entscheidungen habe ich dabei nicht an die Maschine abgegeben:
Passwörter landen nicht in Dateien.Sie bleiben eine Eingabe von Hand, auch wenn es im Testsystem bequemer wäre.
Die Trennung der Schutzzonen bleibt bestehen.Ein direkter Zugriff auf den Domain Controller hätte manches abgekürzt. Genau diese Grenze ist aber der Kern dessen, was das Projekt zeigen soll.
Nichts gilt als fertig, bevor es einmal echt gelaufen ist.Im Testsystem läuft vieles, was auf der richtigen Maschine dann doch abbricht.
Jede Zahl in einer Dokumentation wird gegen die laufende Maschine geprüft.Aus dem Gedächtnis geschriebene Größenangaben lagen bei mir durchweg zu niedrig.
Womit ich arbeite
Windows-Infrastruktur
Active Directory
Gruppenrichtlinien
DNS, DHCP
Zertifikatsdienste (PKI)
WSUS, WDS
Windows Server 2008–2019
Virtualisierung und Clients
VMware
Citrix XenApp / XenDesktop
Windows 10/11
M365
Microsoft Intune
Automatisierung
PowerShell
JEA
Python
Bash
SQL
PHP
KI
Claude, Claude Code
Lokale Sprachmodelle
Selbst gebaute KI-Agenten
MCP
Rechteverwaltung und Netzwerk
tenfold Access Management
VLANs, WLAN
HP-Procurve-Switches
Linux und Web
Debian
nginx, Apache
Docker
MySQL, PostgreSQL
Postfix
Beruflicher Werdegang
seit 03/2026
Berufliche Neuorientierung & WeiterbildungKI-gestützte Administration und Automatisierung, die Projekte oben
2024 – 2026
IT-SystemadministratorRHEINTACHO Messtechnik GmbH, Freiburg — gesamte Infrastruktur, Benutzer- und Rechteverwaltung, M365
2024
Fachliche Leitung Backoffice-ITInxmail GmbH, Freiburg — Priorisierung und Planung im Team, Helpdesk-Betrieb
2011 – 2024
IT-SystemadministratorKassenzahnärztliche Vereinigung Baden-Württemberg — hauptverantwortlich für die Active-Directory-Infrastruktur, Citrix-Umgebung, Netzwerk, Schulungen
2009 – 2011
SelbstständigIT-Dienstleistungen und Webentwicklung
2000 – 2008
IT-SystemadministratorLexware GmbH & Co. KG, Freiburg — Internetdienste unter Linux, Intra- und Internetserver
Zertifizierungen
tenfold Certified System Manager— 2023
MCITP: Server Administrator— 2009
MCSA Windows Server 2003— 2009
MCTS— Windows Server 2008 AD & Netzwerkinfrastruktur, SQL Server 2005, 2008/2009