PowerShell: Robocopy mit Email Benachrichtigung
PowerShell: Robocopy mit Email Benachrichtigung
Mit diesem PowserShell Script kann man zwei Ordner Synchronisieren und zum Abschluss als Email verschicken. Wird ein SMTP Port ungleich als 25 verwendet muss man Benutzernamen und Passwort für den SSL-Modus zuzüglich nennen.

Es wurden folgende Robobopy Parameter eingetragen:
  • /E Kopiert Unterverzeichnisse, einschließlich leerer Unterverzeichnisse.
  • /COPY:DAT Gibt an, welche Inhalte für Dateien kopiert werden sollen, hier Datum
  • /PURGE Löscht Zieldateien/-verzeichnisse, die in der Quelle nicht mehr vorhanden sind.
  • /MIR Spiegelt eine Verzeichnisstruktur (Entspricht "/E" mit "/PURGE").
  • /NP Kein Status - der Prozentsatz kopierter Elemente wird nicht angezeigt.
  • /R Anzahl von Wiederholungsversuchen bei fehlerhaften Kopiervorgängen. Der Standardwert ist 1 Million.
  • /W Wartezeit zwischen Wiederholungsversuchen. Der Standardwert ist 30 Sekunden.

#   **************************************************************
#   * PowserShell Script                                         *
#   **************************************************************
#   * Script:                                                    *
#   * PowerShell Robocopy script with e-mail notification        *
#   * e-mail notification with SSL support                       *
#   **************************************************************
#   * Autor:                                                     *
#   * D. Stastka, 2011-12-28                                     *
#   **************************************************************

# Variables Backup
$SourceFolder = "c:\MyData"
$DestinationFolder = "d:\MyBackup"
$Logfile = "C:\Scripts\Robocopy\log" + (Get-Date).tostring("yyyy-MM-dd") + ".log"

# Variables Email notification
$EmailFrom = "server@domain.ch"
$EmailTo = "benutzer@domain.ch"
$EmailBody = "Robocopy completed successfully. See attached log file for details"
$EmailSubject = "Robocopy Job"
$SMTPServer = "smtp.domain.ch"
$SMTPPort = "25"
$Username = "MyUserName"
$Password = "MyPassword"


# Mirror Folder with Robocopy
Robocopy $SourceFolder $DestinationFolder /S /E /COPY:DAT /PURGE /MIR /R:1000000 /W:30 /LOG:$Logfile /NP

# Send E-mail message with log file attachment
$Message = New-Object Net.Mail.MailMessage($EmailFrom, $EmailTo, $EmailSubject, $EmailBody)
$Attachment = New-Object Net.Mail.Attachment($Logfile, 'text/plain')
$Message.Attachments.Add($Attachment)
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, $SMTPPort)
If (-not $SMTPPort -eq "25")
{
$SMTPClient.EnableSsl = $true;
     $SMTPClient.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
}
$SMTPClient.Send($Message)

# EOF

Nichts gefunden

Es wurde zur Story PowerShell: Robocopy mit Email Benachrichtigung kein Kommentar gefunden

Information

Werbung oder Ähnliches sind nicht erlaubt, daher wird jeder Beitrag geprüft und freigegeben.
Advertising, etc. are not allowed, so any contribution is reviewed and approved.
Facebook-Webadress are not allowed, Facebook als Webadresse ist nicht erlaubt


* Die E-Mail wird nicht veröffentlicht / The email will not be published
** Bitte Zahl eintragen / Please enter the number
Ihr Kommentar
?
?
captcha Image?
?
 
×

...auch noch interessant

Tippsammlung

Kleine Tippsammlung für mich und dijenige die sich auf meine Webseite verirrt haben.

Archiv

JahrArchiv
Tag(s):