mail_csv_senden.ps1
Mail versenden über eine CSV Datei.
This commit is contained in:
parent
6f7eaf8889
commit
2b1b565dc6
67
Mail/mail_csv_senden.ps1
Normal file
67
Mail/mail_csv_senden.ps1
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
# --- Modul-Check ---
|
||||||
|
if (!(Get-Module -ListAvailable ActiveDirectory)) {
|
||||||
|
Write-Error "Das Active Directory Modul ist nicht installiert. Bitte RSAT installieren."
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- Konfiguration ---
|
||||||
|
$csvPath = "C:\Temp\datei.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
|
||||||
|
$empfaenger = $adUser.EmailAddress
|
||||||
|
|
||||||
|
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 geehrte Damen und Herren,</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)"
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user