coma11
Goto Top

Script basierte Mail an Benutzer passend zum Computernamen

Hallo zusammen,

ich brauche eure Hilfe bei der Erstellung eines Powershell-Scripts.

Ein Teil davon soll es sein, dass jeder Benutzer eine Mail bekommt.
Dieser Benutzer hat auch generell einen ihm zugewiesenen PC.

PC-Name: H-MÜLLER-PC

Mail-Adresse: müller@domain.de
Ausnahme wenn der Nachname mehrmals auftritt: b-müller@domain.de

Der Mail-Versand funktioniert an eine einzelne Mail-Adresse.
Da ich das aber in eine ForEach-Schleife setzen möchte, weiß ich nicht wie das genau umsetze.

Gruß,
coma11

Content-ID: 367423

Url: https://administrator.de/contentid/367423

Ausgedruckt am: 08.11.2024 um 20:11 Uhr

emeriks
emeriks 08.03.2018 um 16:55:07 Uhr
Goto Top
Hi,
das liest sich auf den ersten Blick so, als würde es mal wieder max. kompliziert gemacht.

Vielleicht solltest Du mal den Hintergrund für diese Mails erläutern. Vielleicht können wir Alternativen nennen.
Weiterhin: Welche Datenbasis? Liste von Computernamen oder Liste von Mail-Adressen oder Liste mit beidem oder eine AD-Abfrage oder was?

Da ich das aber in eine ForEach-Schleife setzen möchte, weiß ich nicht wie das genau umsetze.
Es wäre hilfreich, wenn Du uns mal Deine entsprechenden Code-Zeilen zeigst. Dann könnte man darauf gezielt antworten.

E.
coma11
coma11 08.03.2018 um 17:03:36 Uhr
Goto Top
Import-Module ActiveDirectory
ForEach(($COMPUTER in $(Get-ADComputer -Filter * -Searchbase 'CN=xxx,DC=xxx,DC=xxx'))   
{
$PSEmailServer = "xxx.mailserver.com"  
        Send-MailMessage -to "Benutzer" -from "xxx" -Subject "xxx" -body "xxx"  
}

Hintergrund der Geschichte ist, dass alle PCs verschlüsselt werden und die Nutzer ihr Passwort per Mail geschickt bekommen sollen.

Gruß,
coma11
emeriks
Lösung emeriks 08.03.2018 um 17:11:54 Uhr
Goto Top
Diese Passwörter versendest Du im Voraus? Oder haben die Benutzer Mailempfang am Smartphone o.ä.?

Wie wäre es mit einer Textdatei. Zeilenweise die Daten. Kommagetrennt.
PCNAME,Email-Adresse,Passwort
PCNAME,Email-Adresse,Passwort
PCNAME,Email-Adresse,Passwort
...

Im PowerShell
$PSEmailServer = "xxx.mailserver.com"  

$FileText = Get-Content -Path "DateiPfad"  
FoeEach($Line in $FileText)
{
  $PC = $Line.Split(",")(0)  
  $Email = $Line.Split(",")(1)  
  $Pw = $Line.Split(",")(2)  
  Send-MailMessage -to $Email -from "xxx" -Subject "xxx" -body "....$Pw......"  
 }
coma11
coma11 08.03.2018 um 17:17:28 Uhr
Goto Top
Deine Idee gefällt mir schon mal sehr gut, danke dafür!

Ja die Passwörter werden im Voraus versendet, da ich die Nutzer ja auch über die Verschlüsselung informieren möchte.
Bisher lasse ich im Script ein zufälliges Passwort generieren welches sie per Mail geschickt bekommen.

Das heißt, ich kann über die Textdatei einem PC-Namen die jeweilige Mail-Adresse zuordnen?

Gruß,
coma11
emeriks
emeriks 08.03.2018 um 17:26:56 Uhr
Goto Top
Das heißt, ich kann über die Textdatei einem PC-Namen die jeweilige Mail-Adresse zuordnen?
Ja.
coma11
coma11 08.03.2018 um 18:17:09 Uhr
Goto Top
Alles klar, dann werde ich mal schauen wie das funktioniert. Danke dir!