KIRDS-Profile zu FSLogix — ohne Umweg
Konvertiert VHDX-Profildatenträger (RDS User Profile Disks, Roaming Profile Disks) in korrekt formatierte FSLogix Profile Container. Mit voller NTFS-ACL-Übernahme (Owner, DACL, SACL, ADS), Registry-Hive-Migration und Read-Only-Mount der Quelle. Native .NET — kein PowerShell-Wrapper.
Funktionen im Überblick
Was VhdxToFsLogix von gescripteten Migrationen unterscheidet.
Vollständige NTFS-ACL-Erhaltung
Owner, DACL, SACL, Alternate Data Streams und Hardlinks bleiben 1:1 erhalten.
Registry-Hive-Migration
NTUSER.DAT und UsrClass.dat inkl. LOG-Files mit Integritätsprüfung.
Batch-Modus
Massenmigration via CSV oder JSON-Konfiguration für ganze Server.
Automatische SID-Auflösung
Aus SAM-Account-Name gegen Domain-Controller — keine manuelle Eingabe.
Post-Conversion-Validierung
Zusammenfassung pro Profil mit OK / Warnung / Fehler.
Native .NET
Eine self-contained EXE — keine PowerShell, keine Module, keine Abhängigkeiten.
FSLogix-konforme Disk-Struktur
Volume-Label, Profile-Ordner-Layout und ProfileData.reg automatisch.
So funktioniert es
Vom Probelauf bis zum fertigen FSLogix-Container in sechs Schritten. Die Befehle lassen sich kopieren.
Als Administrator starten
Die EXE ist self-contained und braucht keine Installation. Windows PowerShell als Administrator öffnen, weil das Einhängen der VHDX-Dateien Administratorrechte verlangt. Läuft unter Windows 10/11 und Windows Server 2016 oder neuer.
Probelauf ohne Schreibzugriff
Mit --dry-run zeigt das Programm den Ablauf, ohne etwas zu schreiben. So lassen sich Pfade, Benutzer und Zielgröße vorab prüfen.
PowerShell.\VhdxToFsLogix.exe convert --source \\server\upd\user1.vhdx --output \\server\fslogix\Profile_jdoe.vhdx --user DOMAIN\jdoe --dry-run
Profil konvertieren
Die Quell-VHDX wird nur lesend eingehängt und nie verändert. Ohne --user ermittelt das Programm die SID aus dem Besitzer der NTUSER.DAT. Bei einem Fehler wird automatisch zurückgerollt und das Ziel bereinigt.
PowerShell.\VhdxToFsLogix.exe convert --source \\server\upd\user1.vhdx --output \\server\fslogix\Profile_jdoe.vhdx --user DOMAIN\jdoe .\VhdxToFsLogix.exe convert -s C:\profiles\user1.vhdx -o C:\fslogix\Profile_jdoe.vhdx
Ergebnis prüfen
Am Ende jeder Konvertierung läuft die Validierung automatisch: Struktur, Ladbarkeit der Registry-Hives und ACL-Vergleich. Für ein vorhandenes FSLogix-Profil lässt sie sich jederzeit erneut starten.
PowerShell.\VhdxToFsLogix.exe validate --source \\server\fslogix\Profile_jdoe.vhdx
Viele Profile im Batch
Für ganze Server genügt eine CSV-Datei oder eine config.json mit Profilliste. Einzelne Profile können eine eigene Zielgröße bekommen, Standardwerte gelten für alle anderen.
PowerShell.\VhdxToFsLogix.exe batch --file profiles.csv .\VhdxToFsLogix.exe batch --config config.json
In FSLogix verwenden
Das Ergebnis folgt den FSLogix-Konventionen: Dateiname Profile_{Benutzername}.vhdx passend zum Standard-VHDNamePattern, Volume-Label Profile, Profilordner \Profile\, GPT-Partition, NTFS, dynamische VHDX.
Batch-Beispiele
Zwei Wege für Massenmigrationen: eine einfache CSV-Liste oder eine Konfiguration mit Standardwerten und Einzelabweichungen.
profiles.csv
SourceVhdx;SamAccountName;OutputPath \\server\upd\user1.vhdx;DOMAIN\jdoe;\\server\fslogix\Profile_jdoe.vhdx \\server\upd\user2.vhdx;DOMAIN\asmith;
Semikolon-getrennt. Bleibt der Benutzer leer, wird die SID aus dem Besitzer der NTUSER.DAT ermittelt. Ohne Ausgabepfad entsteht automatisch Profile_{Benutzername}.vhdx.
config.json
{
"defaults": {
"sizeGb": 30,
"outputDir": "\\\\server\\fslogix\\profiles"
},
"batch": {
"profiles": [
{ "source": "\\\\server\\upd\\user1.vhdx", "user": "DOMAIN\\jdoe" },
{ "source": "\\\\server\\upd\\user2.vhdx", "user": "DOMAIN\\asmith", "sizeGb": 50 }
]
}
}Die Standardwerte (Zielgröße, Ausgabeordner) gelten für alle Profile, jedes Profil kann sie überschreiben. Ohne Größenangabe wird die Zielgröße automatisch aus der Quelle berechnet.
10-Step Migrations-Pipeline
Jeder Schritt nachvollziehbar, dokumentiert, validiert.
- 01
Resolve identity
SAM-Account → SID gegen Domain-Controller auflösen.
- 02
Mount source RO
Quell-VHDX schreibgeschützt mounten.
- 03
Detect structure
Profil-Root und Layout erkennen (UPD vs. Roaming).
- 04
Create target
FSLogix-Container mit korrekter Größe und NTFS anlegen.
- 05
Copy with ACLs
Profil mit voller ACL-Übernahme kopieren.
- 06
Cleanup
Browser-Caches und Temp-Dateien entfernen.
- 07
Migrate hives
NTUSER.DAT + UsrClass.dat + LOG-Files migrieren.
- 08
Stamp metadata
ProfileData.reg für FSLogix-Erkennung schreiben.
- 09
Unmount
Source und Target sauber unmounten.
- 10
Validate
Struktur, ACLs, Hive-Ladbarkeit prüfen.
Highlights
Bereit für die FSLogix-Migration?
Wir besprechen Ihren konkreten Migrationsplan, schätzen Aufwand und liefern eine produktive Migrations-Pipeline.
