# --- Modul-Check ---
if (!(Get-Module -ListAvailable ActiveDirectory)) {
    Write-Error "Das Active Directory Modul ist nicht installiert. Bitte RSAT installieren."
    return
}

# --- Konfiguration ---
$csvPath = "C:\Temp\datei2.csv" # Pfad prüfen
$PSEmailServer = "smtp.int.n-ergie"
$absender = "alin.sennewald@n-ergie.de"
$betreff = "WICHTIG: Prüfung IT-Services (Abschaltung H-Laufwerk 2026)"

# CSV importieren (Spalte 1: User, Spalte 2: Anwendungen)
$daten = Import-Csv -Path $csvPath -Delimiter ","

foreach ($zeile in $daten) {
    $samAccountName = $zeile.User.Trim()
    $anwendungenRaw = $zeile.Anwendungen
    
    try {
        # E-Mail-Adresse aus dem AD abrufen
        Write-Host "Suche Mailadresse für $samAccountName..." -ForegroundColor Yellow
        $adUser = Get-ADUser -Identity $samAccountName -Properties EmailAddress, extensionAttribute3                                                       
        $empfaenger = $adUser.EmailAddress
        $anrede = $adUser.extensionAttribute3
        $nachname = $adUser.Surname


        # Adjektivattribut vor Herr / Frau bestimmen und in Variable schreiben
        if ($anrede -eq "Herr") {
            $vanrede = "geehrter"
        }
        elseif ($anrede -eq "Frau") {
            $vanrede = "geehrte"
        }
        else {
        # Fallback, falls das Geschlecht unbekannt ist
            $vanrede = "geehrte/r"
        }


        if (-not $empfaenger) {
            Write-Warning "Keine E-Mail-Adresse für User '$samAccountName' im AD hinterlegt. Zeile wird übersprungen."
            continue
        }

        # HTML-Liste aus den Anwendungen bauen
        $anwendungenHtml = "<ul>"
        $anwendungenRaw.Split(';') | ForEach-Object { 
            $item = $_.Trim()
            if ($item) { $anwendungenHtml += "<li>$item</li>" }
        }
        $anwendungenHtml += "</ul>"

        # HTML-Body
        $htmlBody = @"
<html>
<body style="font-family: Calibri, Arial, sans-serif;">
    <p>Sehr $vanrede $anrede $nachname,</p>
    <p>im IT-Servicekatalog (Stand Q1 2026) sind Sie als serviceverantwortliche Person für folgende(n) Service(s) hinterlegt:</p>
    <div style="background-color: #f4f4f4; padding: 10px; border-left: 4px solid #005bb7;">
        $anwendungenHtml
    </div>
    <p>Da das <b>H-Laufwerk bis Ende Q4 2026 abgeschaltet wird</b>, prüfen wir derzeit, ob der oben genannte Service auf das User-Home-Laufwerk angewiesen ist.</p>
    <p>Sollte der Service das H-Laufwerk benötigen, bitten wir um Rückmeldung bis zum <b>31.03.2026</b>.</p>
    <p>Mit freundlichen Grüßen<br>Ihr IT-Service</p>
</body>
</html>
"@

        # Versand
        Write-Host "Sende an $empfaenger ($samAccountName)..." -ForegroundColor Green
        Send-MailMessage -To $empfaenger `
                         -From $absender `
                         -Subject $betreff `
                         -Body $htmlBody `
                         -BodyAsHtml `
                         -Encoding UTF8

    } catch {
        Write-Warning "Fehler bei User '$samAccountName': $($_.Exception.Message)"
    }
}