# import_User_to_group.ps1 PowerShell GUI-Tool zum Importieren von Benutzern aus einer CSV-Datei in eine Active Directory Gruppe. ## Voraussetzungen | Anforderung | Details | |---|---| | PowerShell | 5.1 oder neuer | | ActiveDirectory-Modul | Wird automatisch installiert (RSAT), falls nicht vorhanden | | Berechtigungen | Normaler Benutzer reicht aus – Adminrechte werden **nur** benötigt, wenn das ActiveDirectory-Modul noch nicht installiert ist | ## CSV-Format Die CSV-Datei muss eine Spalte namens `Username` **oder** `SamAccountName` enthalten: ```csv Username jdoe mwende asmith ``` Weitere Spalten in der CSV werden ignoriert. Leere Zeilen werden automatisch übersprungen. ## Verwendung ### GUI starten ```powershell .\import_User_to_group.ps1 ``` ### Optionaler Parameter ```powershell # Eigenen Log-Pfad angeben .\import_User_to_group.ps1 -LogPath "C:\Logs\mein_import.txt" ``` ### GUI-Bedienung 1. **Browse** – CSV-Datei auswählen 2. **Load Groups** – alle AD-Gruppen laden und in der Dropdown-Liste anzeigen (mit Autovervollständigung); alternativ Gruppenname direkt eintippen 3. **Import Users** – Import starten ## Verhalten beim Import | Situation | Aktion | |---|---| | Benutzer erfolgreich hinzugefügt | Eintrag in der Ausgabe (weiss) | | Benutzer bereits Mitglied der Gruppe | Wird übersprungen (gelb) | | Benutzer nicht in AD gefunden | Wird übersprungen (gelb) | | Fehler beim Hinzufügen | Fehlermeldung (rot), restliche Benutzer werden weiter verarbeitet | Am Ende wird eine Zusammenfassung angezeigt: ``` Done. Added: 5 | Skipped: 2 | Not found: 1 | Errors: 0 ``` ## Logging Jeder Lauf erzeugt automatisch eine Log-Datei im selben Verzeichnis wie das Skript: ``` import_log_20260618_143022.txt ``` Der Pfad zur Log-Datei wird in der Statusleiste der GUI angezeigt. ## Automatische RSAT-Installation Falls das ActiveDirectory-Modul fehlt, versucht das Skript die automatische Installation: - **Windows Server** – `Add-WindowsFeature RSAT-AD-PowerShell` - **Windows 10/11** – `Add-WindowsCapability` (RSAT optionales Feature) Dafür sind Adminrechte erforderlich. Ohne Adminrechte bricht das Skript mit einem klaren Hinweis ab.