Sunny61 806 Geschrieben 4. März 2020 Melden Teilen Geschrieben 4. März 2020 vor 57 Minuten schrieb Mario-HS: Ich habe extra "bbbbb" in unseren Mailserver angelegt, der kein SSL benötigt aber das Ergebnis ist folgendermaßen Was genau hast Du gemacht? Steht die absendende IP-Adresse im richtigen Empfangsconnector? Falls ja, wie genau ist der Connector konfiguriert? Zitieren Link zu diesem Kommentar
Mario-HS 5 Geschrieben 4. März 2020 Autor Melden Teilen Geschrieben 4. März 2020 Hallo Sunny61, du Sprichst vermutlich von ein MS-Exchange. Wir haben ein Kerio MX und "bbbbb" ist ein Benutzer, denn wir extra für Meldungen von fehlerhafte backups, Warnmeldungen etc angelegt haben und das läuft alles über unseren MX. Beantwortet das deine Frage ? Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 4. März 2020 Melden Teilen Geschrieben 4. März 2020 Du siehst, solche Infos gehören gleich immer mit in dei Frage, dann spart man sich solche Postings. ;) Jetzt musst Du feststellen, ob Du von dem Client/Server aus, von dem aus Du das schickst, auch über Port 25 auf den Mailserver zugreifen darfst. Firewall ausgehend vom Client/Server zum Mailserver eingehend. Die Arbeit kann dir niemand abnehmen. Zitieren Link zu diesem Kommentar
Mario-HS 5 Geschrieben 4. März 2020 Autor Melden Teilen Geschrieben 4. März 2020 Ja das ist meine nächste anlaufstelle, ich wollte nur vorher abklären das, dass skript soweit richtig ist. Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 4. März 2020 Melden Teilen Geschrieben 4. März 2020 vor 2 Stunden schrieb Mario-HS: Ja das ist meine nächste anlaufstelle, ich wollte nur vorher abklären das, dass skript soweit richtig ist. Probiert hab ich es nicht, evtl. gibt es ja doch noch eine andere Fehlermeldung wenn der Server das Mail annimmt. Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 4. März 2020 Melden Teilen Geschrieben 4. März 2020 (bearbeitet) Hier noch mal der Tipp, den Code etwas einfacher lesbar zu machen ... $CredPassword = ConvertTo-SecureString "aaaaa" -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential "bbbbb", $CredPassword $SenMailParams = @{ To = '1234@5678.de' Subject = 'HyperV-Replica Alarm' Body = Get-Content $Info_Datei | Out-String SmtpServer = 'ddddd' From = 'Admin@ccccc' Credential = $cred } Send-MailMessage @SenMailParams Der Code macht das Gleiche wie Dein Code ... es ist, wie ich glaube, nur einfacher zu lesen. Der SMTP-Port ist im Standard sowieso 25. Den musst Du nur angeben, wenn er NICHT 25 ist. Kannst Du diesen Schnipsel denn von dem Rechner aus erfolgreich ausführen, von dem das Script laufen soll? bearbeitet 4. März 2020 von BOfH_666 Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 4. März 2020 Melden Teilen Geschrieben 4. März 2020 Ich würde ja mit Telnet anfangen und schauen, ob ich vom Server ein EHLO bekomme... Ohne das ist alles weitere zum Scheitern verurteilt. 1 Zitieren Link zu diesem Kommentar
Mario-HS 5 Geschrieben 5. März 2020 Autor Melden Teilen Geschrieben 5. März 2020 Es läuft der fehler war Zitat $CredPassword = ConvertTo-SecureString "aaaaa" -AsPlainText -Force das Passwort hat Sonderzeichen unter anderen ein $ mit 'aaaaa' läuft es Zitieren Link zu diesem Kommentar
tesso 375 Geschrieben 5. März 2020 Melden Teilen Geschrieben 5. März 2020 Dann ersetz die Doppelten Anführungszeichen durch einfache. Innerhalb doppelter Anführungszeichen werden Variablen ausgewertet und $ zeigt nunmal den Beginn einer Variable an. Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 5. März 2020 Melden Teilen Geschrieben 5. März 2020 Zitat von ganz weit oben: $CredPassword = ConvertTo-SecureString "_____" -AsPlainText -Force Mit nur Unterstrichen hätte es dann auch funktioniert. Schmeiß die Klartextkennwörter aus dem Skript raus und autorisiere die IP des Systems zum Relay-Versenden... 2 Zitieren Link zu diesem Kommentar
Mario-HS 5 Geschrieben 19. März 2020 Autor Melden Teilen Geschrieben 19. März 2020 (bearbeitet) Moin ihr lieben, ich bräuchte nochmal gebaltes Wissen Ich habe das Problem das mein script nur Mails abschicken soll wenn der "Test-Path" nicht false ist. Am script-start lösche ich die Datei die ich bei dem Test-Path abfrage falls die im vorigen durchlauf hängen geblieben ist. in der for-schleife prüfe ich ob die VM-replikation auf Warnung oder Kritisch steht und nur dann wird die Datei erzeugt die benötigt wird damit Test-Path "true" ist. Aber aus einem grund denn ich nicht zu sehen/wissen scheine wird immer eine Mail abgeschickt aber der Mailbody der in der for-Schleife erzeugt wird fehlt also ist doch die Test-Path auch nicht erfüllt. Wäre super wenn Ihr mir sagen könnt was und wo da der Fehler ist. Zitat $Pruefe_HyperV_Replica = Get-VMReplication | select Name,Health,State $Info_Datei = "C:\Powershell\HyperV Infodatei.txt" $Log_Datei = "C:\Powershell\HV Logdatei.txt" $Datum = Get-Date $VMReplication = Get-VMReplication | select Name,Health,State ##Authentifizierung für Mailserver Anmeldung $Cred_Password = ConvertTo-SecureString "__________" -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential "__________", $Cred_Password $MailBetreff_Name = (Get-WmiObject Win32_ComputerSystem).Name $MailBetreff_Domain = (Get-WmiObject Win32_ComputerSystem).Domain $Datum | Out-File $Log_Datei -append ##Skript Start Remove-Item -Path $Info_Datei foreach ($vm in $Pruefe_HyperV_Replica) { $name = $vm.Name if ($vm.Health -Contains "Normal" -and $vm.State -Contains "Replicating") { "$name - Alles OK!" | Out-File $Log_Datei -append } elseif ($vm.Health -eq "Warning") # <-- Schleife für Replikationen mit dem Status Warnung! { New-Item -Path $Info_Datei $Serverbezeichnung = "Der Replikationstatus von Server: $name auf $MailBetreff_Name@$MailBetreff_Domain ist auf WARNUNG gewechselt!" | Out-File $Info_Datei -append GCI -Path "D:\VM\$name\Virtual Hard Disks" -Recurse -Force | Out-File $Info_Datei -append "$name - Replikation meldet Warnung!" | Out-File $Log_Datei -append } elseif ($vm.Health -eq "Critical") # <-- Schleife für Replikationen mit dem Status Kritisch! { New-Item -Path $Info_Datei $Serverbezeichnung = "Der Replikationstatus von Server: $name auf $MailBetreff_Name@$MailBetreff_Domain ist auf KRITISCH gewechselt!" | Out-File $Info_Datei -append GCI -Path "D:\VM\$name\Virtual Hard Disks" -Recurse -Force | Out-File $Info_Datei -append "$name - Kritischer Replikationsstatus!" | Out-File $Log_Datei -append } } $Pruefe_Info_Datei = Test-Path "C:\Powershell\HyperV Infodatei.txt" if ($Pruefe_Info_Datei = "True") { Get-VMReplication | Out-File $Info_Datei -append Get-VM -ComputerName Server-HV | Where-Object {$_.State -eq 'OffCritical'} Get-PSDrive -PSProvider FileSystem | Out-File $Info_Datei -append ## Einstellungen zum Sender der Mail $Mail_Absender = "__________" $Mail_Empfaenger = "__________" $Mail_Betreff = "HyperV-Replica Alarm" $Mail_Server = "__________" $Mail_Kopie = "__________" $SenMailParams = @{ To = '__________' # Cc = '__________' Subject = 'HyperV-Replica Alarm' Body = Get-Content $Info_Datei | Out-String SmtpServer = '__________' From = '__________' # Port = '587' Credential = $cred } Send-MailMessage @SenMailParams } elseif ($Pruefe_Info_Datei = "False") { Write-Host "Alles OK!" } " " | Out-File $Log_Datei -append " ----------------------------------------" | Out-File $Log_Datei -append bearbeitet 19. März 2020 von Mario-HS Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 19. März 2020 Melden Teilen Geschrieben 19. März 2020 (bearbeitet) $Pruefe_Info_Datei = Test-Path "C:\Powershell\HyperV Infodatei.txt" if ($Pruefe_Info_Datei = "True") { Das sieht sehr komisch aus ... normalerweise sieht sowas so aus ... if (Test-Path "C:\Powershell\HyperV Infodatei.txt") { ... grad noch mehr gesehen ... elseif ($Pruefe_Info_Datei = "False") Das Gleichheitszeichen ist eine Zuweisung in Powershell, keine Prüfung auf Gleichheit ... die machst Du mit -eq. Die boolschen Werte sind auch "$true" und "$false" und nicht "true" und "false". Und wenn eine Variable einen boolschen Wert enthält, kannst die so auf $true prüfen: if ($Pruefe_Info_Datei) ... und so auf $false: if (-not $Pruefe_Info_Datei) bearbeitet 19. März 2020 von BOfH_666 Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 19. März 2020 Melden Teilen Geschrieben 19. März 2020 Olaf ist hier immer morgens unterwegs, das läßt ja unsereins arbeitender Bevölkerung kaum Chancen auf hilfreiche Beiträge Aber ja: "=" ist eine Zuweisung, die immer $true liefert. Und "True" ist nur ein String, kein Boolean (wahr/falsch). $False entspricht 0/$null/undefined, $true ist alles -ne 0 oder defined. Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 20. März 2020 Melden Teilen Geschrieben 20. März 2020 vor 54 Minuten schrieb daabm: Olaf ist hier immer morgens unterwegs, ... Eigentlich bin ich eher der Spätaufsteher, aber ich helfe auch schon mal während meiner Arbeitszeit, wenn zwischendurch Zeit ist. Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 20. März 2020 Melden Teilen Geschrieben 20. März 2020 ...und Du hockst genauso wie ich daheim und langweilst Dich Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.