in meinem Skript möchte ich gerne meine zuvor eingegebene E-Mail Adresse auf einen Punkt "." und das Zeichen "@" überprüfen, ob dieser vorhanden ist.
Beispielweise sieht die Mail so aus:
[email protected]
Mein bisheriges Skript sieht so aus:
function test_Owner_Mail_auf_gueltigkeit { param ( [string] $Personennamen ) $TestMail=$Personennamen if($inputtempString=$TestMail -match '.'){ if($inputString=$TestMail -match '@'){ <# if($inputString -and $inputtempString -eq $false ){ Write-Host "`n Fehlerhafte E-Mail. Skript wird beendet !!" break; }elseif($inputString -eq $false -and $inputtempString -eq $true){ Write-Host "`n Fehlerhafte E-Mail. Skript wird beendet !!" break; }elseif($inputtempString -eq $false -and $inputString -eq $true){ Write-Host "`n Fehlerhafte E-Mail. Skript wird beendet !!" break; }#> if($inputString -and $inputtempString -eq $true){} }elseif($inputString -eq $false){ Write-Host "`n Fehlerhafte E-Mail. Skript wird beendet !!" break; } }elseif($inputtempString -eq $false){ Write-Host "`n Fehlerhafte E-Mail. Skript wird beendet !!" break; } }
Die Funktion test_Owner_Mail_auf_gueltigkeit wird mit Übergabe der Variable $Personennamen aufgerufen.
Die Abfrage, ob das Zeichen "@" vorhanden ist, funktioniert ohne Probleme und löst bei fehlenden Zeichen ein False und somit ein Break aus.
Nun verstehe ich nicht, warum die Abzweigung und das Auslesen von "." nicht funktioniert.
Das Skript wird dennoch ausgeführt, auch wenn ich bei der Eingabe der Mail diese nicht gültige Mail MaxMustermann@Firmade eintrage.
In dieser Mail ist nirgends ein Punkt zu sehen somit sollte ein false angegeben und das Skript soll abgebrochen werden.
Hoffentlich könnt ihr mir dabei weiterhelfen.
Finde auch nichts diesbezüglich im Internet.
Mit freundlichen Grüßen
Alex