Jump to content

Simeonitron

Members
  • Gesamte Inhalte

    2
  • Registriert seit

  • Letzter Besuch

Fortschritt von Simeonitron

Rookie

Rookie (2/14)

  • Erste Antwort
  • Erster eigener Beitrag
  • Eine Woche dabei
  • Einen Monat dabei
  • 1 Jahre dabei

Neueste Abzeichen

0

Reputation in der Community

  1. Danke für den Hinweis! Das Passwort wurde mit folgenden Befehlen im lokalen Administrator (Welcher auch in der Aufgabenplanung hinterlegt ist) erstellt: (Get-Credential).password | ConvertFrom-SecureString > mailpwcrypted.txt
  2. Hallo Forum, dies ist mein erster Beitrag zuvor war ich nur anonymer Nutznieser. Mein Problem: Das folgende Powershellskript lässt sich via Aufgabenplanung ausführen, kommt aber nie zum Ende (es steht dann dauerhaft "wird ausgeführt" da) . Das Skript lässt sich in einer Admin Powershell starten und läuft dort problemlos durch (Export OK, Mailversand OK). In der Aufgabenplanung wird das Skript wie folgt gestartet: powershell.exe -ExecutionPolicy ByPass -command C:\Backup\Skripte\export.ps1 Der Fehler tritt erst seit der Änderung beim Mailversand auf (zuvor über lokales Relay ohne Auth) und lässt sich auf folgende Zeilen eingrenzen (wenn diese Zeilen auskommentiert sind läuft Skript in der Aufgabenplaung sauber durch - natürlich ohne Mail versand): $smtpauthpw = Get-Content C:\Backup\Skripte\mailpwcrypted.txt | ConvertTo-SecureString $smtpauthcred = New-Object System.Management.Automation.PSCredential "mail@domain.tld", $smtpauthpw Send-MailMessage -encoding ([System.Text.Encoding]::UTF8) -SmtpServer $PSEmailServer -to $BackupMailTo -from $BackupMailFrom -Subject "Backup $BackupName $VMName" -Credential $smtpauthcred -body "Das Backup lieferte folgendes Ergebnis: `r`n Kunde: $BackupName `r`n Virtuelle Maschine: $VMName `r`n Backup Pfad: $BackupPath `r`n Backup Destination: $BackupDestination `r`n Backup Dauer: $BackupDuration `r`n Backup Datenmenge: $BackupSize GB`r`n" Ich denke es handelt sich um ein Berechtigungsproblem, welches sich nicht über den ByPass schalter lösen lässt. Woran kann es noch liegen? Einstellungen in der Aufgabenplanung: Lokaler Administrator, erhöhte Rechte, Kennwort hinterlegt Hier das komplette Skript: #Variablen Definition inkl. Ausgabe $BackupName = "Kunde1" Write-Host $(Get-Date -f yyyy-MM-dd_HH:mm:ss): Kunde: $BackupName $VMName = "TestVM" Write-Host $(Get-Date -f yyyy-MM-dd_HH:mm:ss): Virtuelle Maschine: $VMName $BackupPath = "E:\" #mit '\' am Ende Write-Host $(Get-Date -f yyyy-MM-dd_HH:mm:ss): Backup Pfad: $BackupPath $PSEmailServer = "host.domain.tld" Write-Host $(Get-Date -f yyyy-MM-dd_HH:mm:ss): Mailserver: $PSEmailServer $BackupMailTo = "mail@host.domain.tld" Write-Host $(Get-Date -f yyyy-MM-dd_HH:mm:ss): Mailempfänger: $BackupMailTo $BackupMailFrom = "backup@kundendomain.de" Write-Host $(Get-Date -f yyyy-MM-dd_HH:mm:ss): Mailversender: $BackupMailFrom #Zeitstempel Anfang $BackupTimestampStart = Get-Date #Definition Variable Pfad inkl. Ausgabe $BackupStarttime = Get-Date -f _yyyy-MM-dd_HHmm $BackupStarttimeString = $BackupStarttime.ToString()+"\" $BackupDestination = "$BackupPath$VMName$BackupStarttimeString" Write-Host $(Get-Date -f yyyy-MM-dd_HH:mm:ss): Backup Destination: $BackupDestination #Alle Verzeichnisse im $BackupPath löschen welche mit dem $VMName beginnen Write-Host $(Get-Date -f yyyy-MM-dd_HH:mm:ss): Alle Backupverzeichnisse der VM $VMName in $BackupPath löschen rd -recurse -force "$BackupPath$VMName*" #Backupverzeichnis anlegen Write-Host $(Get-Date -f yyyy-MM-dd_HH:mm:ss): Backup Verzeichnis anlegen md $BackupDestination | Out-Null #Export starten Write-Host $(Get-Date -f yyyy-MM-dd_HH:mm:ss): Starte Export von $VMName #Export-VM -Name $VMName -Path $BackupDestination Write-Host $(Get-Date -f yyyy-MM-dd_HH:mm:ss): Export von $VMName abgeschlossen #Zeitstempel Ende $BackupTimestampStop = Get-Date #Dauer berechnen und ausgeben $BackupDuration = ($BackupTimestampStop - $BackupTimestampStart) Write-Host $(Get-Date -f yyyy-MM-dd_HH:mm:ss): Dauer des Backups: $BackupDuration #Datenmenge berechnen und ausgeben $BackupSize = 0 ((gci $BackupDestination -Recurse -File) | % { $BackupSize += $_.Length / 1Gb }) #Mailversand vorbereiten #Die Passwortdatei lässt sich mit folgendem Befehl anlegen (neu Powershell öffnen und eingeben, dann startet der Eingabedialog): (Get-Credential).password | ConvertFrom-SecureString > mailpwcrypted.txt $smtpauthpw = Get-Content C:\Backup\Skripte\mailpwcrypted.txt | ConvertTo-SecureString $smtpauthcred = New-Object System.Management.Automation.PSCredential "mail@domain.tld", $smtpauthpw Send-MailMessage -encoding ([System.Text.Encoding]::UTF8) -SmtpServer $PSEmailServer -to $BackupMailTo -from $BackupMailFrom -Subject "Backup $BackupName $VMName" -Credential $smtpauthcred -body "Das Backup lieferte folgendes Ergebnis: `r`n Kunde: $BackupName `r`n Virtuelle Maschine: $VMName `r`n Backup Pfad: $BackupPath `r`n Backup Destination: $BackupDestination `r`n Backup Dauer: $BackupDuration `r`n Backup Datenmenge: $BackupSize GB`r`n" Write-Host $(Get-Date -f yyyy-MM-dd_HH:mm:ss): Mail an $BackupMailTo versenden Danke für eure Hilfe! Eine Anpassung auf Plaintext Passwort lässt das Skript durchlaufen, allerdings steht es dann im Klartext im Skript. Nich so gut:-) $smtpauthpw = "supergeheimespasswort" | ConvertTo-SecureString -asPlainText -Force $smtpauthcred = New-Object System.Management.Automation.PSCredential "mail@host.domain.tld", $smtpauthpw Send-MailMessage -encoding ([System.Text.Encoding]::UTF8) -SmtpServer $PSEmailServer -to $BackupMailTo -from $BackupMailFrom -Subject "Backup $BackupName $VMName" -Credential $smtpauthcred -body "Das Backup lieferte folgendes Ergebnis: `r`n Kunde: $BackupName `r`n Virtuelle Maschine: $VMName `r`n Backup Pfad: $BackupPath `r`n Backup Destination: $BackupDestination `r`n Backup Dauer: $BackupDuration `r`n Backup Datenmenge: $BackupSize GB`r`n"
×
×
  • Neu erstellen...