robocopy email benachrichtigung

Hier kann gesichert und wiederhergestellt werden.
Coolzero
Foren-Mitglied
Beiträge: 575
Registriert: 11. Jun 2012, 19:24

robocopy email benachrichtigung

Beitrag von Coolzero »

Hallo, ich habe mir eine kleine robocopy batch Datei angelegt welche ich über die Aufgabenplanung ausführe, die Datei sieht so aus:

Code: Alles auswählen

cmd /k robocopy.exe F:\ \\SERVER-BACKUP\Server-Backup\Sicherung_F /xd "System Volume Information" "Clientcomputersicherungen" $recycle.bin /xf pagefile.sys NTUSER.Dat /mir /a-:sh /fft /LOG+:C:\Logs\Backup.log /NDL /TEE pause
Wie kann ich noch eine emai benarichtigung einbauen die mir nur den Abschlussstatus mitteilt?

Danke
FritzBox6590 FRITZ!OS 7.02, Freetz
Laptop DEll Latitude i5, OpenSuse Leap 15.x, Win10 64
PC Intel Skylake 6700k,16GB, Geforce GTX 970, 512 GB SSD, OpenSuse Tumbleweed 64, Win 10 64
NAS WinServer 2016 64 Bit,4GB Ram, 20 TB
Backup Server WinServer 2019 64Bit, Intel Pentium G3420, 8GB RAM,20 TB Speicher
Reciver Vu+ Uno OpenATV6.0, VU+ Ultimo OpenATV 6.0, Wetek Play 2 CoreElec
Internet Kabel 150000
noxx
Foren-Mitglied
Beiträge: 125
Registriert: 5. Aug 2009, 20:35

Re: robocopy email benachrichtigung

Beitrag von noxx »

http://stastka.ch/knowledge-base/Roboco ... /story/299

Vielleicht so?

Gesendet von meinem GT-I9195 mit Tapatalk
Server:
BitFenix Phenom M - ASRock B75 Pro3-M - 8GB-Kit Crucial Ballistix Sport - Intel G2140 - Corsair CX Series Modular CX430M - 2x 2TB Western Digital WD20EARX - WHS 2011
Coolzero
Foren-Mitglied
Beiträge: 575
Registriert: 11. Jun 2012, 19:24

Re: robocopy email benachrichtigung

Beitrag von Coolzero »

Danke für den Tip, aber irgendwie mache ich noch was falsch.
Meine Batch für die Sicherung von Laufwerk D sieht so aus:

Code: Alles auswählen

cmd /k robocopy.exe D:\ \\SERVER-BACKUP\Server-Backup\Sicherung_D /xd "System Volume Information" $recycle.bin /xf pagefile.sys NTUSER.Dat /mir /a-:sh /fft /LOG+:C:\Logs\Backup.log /NDL /TEE pause
Hab den jetzt malversucht in das Skript von der von dir geposteten Seite einzubauen, sieht dann so aus:

Code: Alles auswählen

#   **************************************************************
#   * 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 = "D:\"
$DestinationFolder = "\\SERVER-BACKUP\Server-Backup\Sicherung_D"
$Logfile = "/LOG+:C:\Logs\Backup.log" + (Get-Date).tostring("yyyy-MM-dd") + ".log"

# Variables Email notification
$EmailFrom = "xxx@googlemail.com"
$EmailTo = "xxx@googlemail.com"
$EmailBody = "Robocopy completed successfully. See attached log file for details"
$EmailSubject = "Robocopy Job"
$SMTPServer = "smtp.gmail.com"
$SMTPPort = "465"
$Username = "xxx@googlemail.com"
$Password = "xxx"

# Mirror Folder with Robocopy
cmd /k Robocopy $SourceFolder $DestinationFolder /xd "System Volume Information" $recycle.bin /xf pagefile.sys NTUSER.Dat /mir /a-:sh /fft /LOG:$Logfile /NDL /TEE
# 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
Dann bekomme ich aber immer diese Fehler:

Code: Alles auswählen

C:\Logs>#   **************************************************************
Der Befehl "#" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>#   * PowserShell Script                                         *
Der Befehl "#" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>#   **************************************************************
Der Befehl "#" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>#   * Script:                                                    *
Der Befehl "#" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>#   * PowerShell Robocopy script with e-mail notification        *
Der Befehl "#" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>#   * e-mail notification with SSL support                       *
Der Befehl "#" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>#   **************************************************************
Der Befehl "#" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>#   * Autor:                                                     *
Der Befehl "#" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>#   * D. Stastka, 2011-12-28                                     *
Der Befehl "#" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>#   **************************************************************
Der Befehl "#" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs># Variables Backup
Der Befehl "#" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>$SourceFolder = "D:\"
Der Befehl "$SourceFolder" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>$DestinationFolder = "\\SERVER-BACKUP\Server-Backup\Sicherung_D"
Der Befehl "$DestinationFolder" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>$Logfile = "/LOG+:C:\Logs\Backup.log" + (Get-Date).tostring("yyyy-MM-dd") + ".log"
Der Befehl "$Logfile" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs># Variables Email notification
Der Befehl "#" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>$EmailFrom = "xxx@googlemail.com"
Der Befehl "$EmailFrom" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>$EmailTo = "xxxt@googlemail.com"
Der Befehl "$EmailTo" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>$EmailBody = "Robocopy completed successfully. See attached log file for details"
Der Befehl "$EmailBody" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>$EmailSubject = "Robocopy Job"
Der Befehl "$EmailSubject" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>$SMTPServer = "smtp.gmail.com"
Der Befehl "$SMTPServer" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>$SMTPPort = "465"
Der Befehl "$SMTPPort" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>$Username = "xxx@googlemail.com"
Der Befehl "$Username" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>$Password = "xxx"
Der Befehl "$Password" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs># Mirror Folder with Robocopy
Der Befehl "#" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Logs>cmd /k Robocopy $SourceFolder $DestinationFolder /xd "System Volume Information" $recycle.bin /xf pagefile.sys NTUSER.Dat /mir /a-:sh /fft /LOG:$Logfile /NDL /TEE

 Protokolldatei: C:\Logs\$Logfile

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robustes Dateikopieren für Windows
-------------------------------------------------------------------------------

  Gestartet: Mon Apr 21 21:41:11 2014

   Quelle : C:\Logs\$SourceFolder\
     Ziel : C:\Logs\$DestinationFolder\

    Dateien : *.*

Ausführbare Dateien : pagefile.sys
            NTUSER.Dat

 Ausf. Verzeichnisse : System Volume Information
            $recycle.bin

  Optionen: *.* /FFT /NDL /TEE /S /E /COPY:DAT /PURGE /MIR /A-:SH /R:1000000 /W:30

------------------------------------------------------------------------------

2014/04/21 21:41:11 FEHLER 2 (0x00000002) Zugriff auf Quellverzeichnis C:\Logs\$SourceFolder\
Das System kann die angegebene Datei nicht finden.

C:\Logs>
FritzBox6590 FRITZ!OS 7.02, Freetz
Laptop DEll Latitude i5, OpenSuse Leap 15.x, Win10 64
PC Intel Skylake 6700k,16GB, Geforce GTX 970, 512 GB SSD, OpenSuse Tumbleweed 64, Win 10 64
NAS WinServer 2016 64 Bit,4GB Ram, 20 TB
Backup Server WinServer 2019 64Bit, Intel Pentium G3420, 8GB RAM,20 TB Speicher
Reciver Vu+ Uno OpenATV6.0, VU+ Ultimo OpenATV 6.0, Wetek Play 2 CoreElec
Internet Kabel 150000
Benutzeravatar
larry
Moderator
Beiträge: 10000
Registriert: 22. Dez 2007, 16:13

Re: robocopy email benachrichtigung

Beitrag von larry »

Sieht für mich so aus, als ob du das ganze als Batchdatei und nicht als Powershell Script gespeichert und ausgeführt hast.
Hauptserver: Intel I3-2100, MSI H67MA-E45, WHS 2011
System: Corsair Force GT 90GB - Datenplatten: 2*Seagate 3TB + ext. WD 500 GB für Serversicherung(nur System),8 GB Ram, Fractal Design R3, be quiet! L7-300W, 2*Digital Devices cineS2(Mediaportal)
Archivserver: Intel Cel.G530, Intel DB65AL, WHS 2011, Drivebender
System: SamsF4 320GB - Datenplatten: 5*2TB SamsF4. + VHD für Serversicherung(nur System), 4 GB Ram, Lancool K-11X, be quiet! L7-300W
Backupserver: AMD Athl. X2 4850e, Gigabyte GA-MA780G-UD3H, 3*Asrock SATA3 + 1* DeLOCK 70154 SATA Controller, WHS 2011, Drivebender
System: SamsF4 320 GB - Datenplatten: 15 diverse Platten + VHD für Serversicherung(nur System) ,4 GB Ram, Seasonic ss 330 Watt
Router: AVM FRITZ!Box 7270, Kabel Deutschland
Clients: 2* HTPC, Win7 HP 32 Bit - 2*Arbeitsrechner Win7 HP 64 Bit - 1*Laptop Win7 HP 32-Bit
stastka
Foren-Einsteiger
Beiträge: 1
Registriert: 21. Apr 2014, 22:26

Re: robocopy email benachrichtigung

Beitrag von stastka »

Besten Dank für das ausprobieren des Scripts.
Wie schon angemerkt, ist das Script ein Powershell-, und keine Batch-Script, daher Endung ps1.
Du kannst es einfach als robocopy.ps1 abspeichern und dann via Rechte Maustaste als Powershell ausführen.

Wer es dann als Task z.B. täglich lassen will, der kann es via folgendem Befehl :

Code: Alles auswählen

powershell -noprofile -command C:\myscripts\robocopy.ps1
Schöne Grüsse
Dany
Coolzero
Foren-Mitglied
Beiträge: 575
Registriert: 11. Jun 2012, 19:24

Re: robocopy email benachrichtigung

Beitrag von Coolzero »

Hallo,
ok, als .ps1 funktioniert es, nur leider wird keine Email gesendet, was kann noch falsch sein?
FritzBox6590 FRITZ!OS 7.02, Freetz
Laptop DEll Latitude i5, OpenSuse Leap 15.x, Win10 64
PC Intel Skylake 6700k,16GB, Geforce GTX 970, 512 GB SSD, OpenSuse Tumbleweed 64, Win 10 64
NAS WinServer 2016 64 Bit,4GB Ram, 20 TB
Backup Server WinServer 2019 64Bit, Intel Pentium G3420, 8GB RAM,20 TB Speicher
Reciver Vu+ Uno OpenATV6.0, VU+ Ultimo OpenATV 6.0, Wetek Play 2 CoreElec
Internet Kabel 150000
Benutzeravatar
Nobby1805
Moderator
Beiträge: 21381
Registriert: 6. Jun 2009, 17:40
Wohnort: Essen

Re: robocopy email benachrichtigung

Beitrag von Nobby1805 »

und du hast die für deine Umgebung notwendigen Anpassungen alle durchgeführt ?
WHS:inzwischen abgeschaltet Acer H340 mit 1x 1 TB (WD10EAVS), 3x 2 TB (2 WD20EARS und 1 ST2000DM001), PP3+UR2
Server:
Intel Celeron J3455 auf Gigabyte Board, Win 10 Pro x64 21H2, 640 GB (System), 16 TB (Backup), 4 TB (Daten), Lindenberg Backup und LightsOut 3
5 Clients:
1 Intel i5-4670K, ASUS H87-PRO, 32 GB, 250 GB SSD, 2x 500 GB, Win 10 Pro x64 21H2
1 Lüfterlos fürs Wohnzimmer, Intel Celeron N4100, 4 GB, 128 GB, Win 11 Pro x64 21H2
1 AMD Ryzen 7 3700X, Gigabyte AORUS, 32 GB, Win 10 Pro x64 2009
1 Sony Vaio EB 2H4E, Win 10 Home x64 2009
1 Samsung NP-R540-JS09DE, Win 10 Pro x64 2009


WHSListTombstones, ein Tool zur Auflistung aller Tombstones
WHSDisks, ein Tool zur Darstellung und Prüfung der DriveExtender-Konfiguration
WHSDiskNames, ein Tool zur Änderung der Plattennamen in der Konsole
WHSBackup, Infos und Tool zur Backup-DB (2011-Version (auch für WSE2012))
Bitte schreibt bei Fragen und Problemen eure Konfig in die Signatur
Coolzero
Foren-Mitglied
Beiträge: 575
Registriert: 11. Jun 2012, 19:24

Re: robocopy email benachrichtigung

Beitrag von Coolzero »

Sieht halt wie oben dargestellt aus,hab alles nach bestem wissen und gewissen geändert
FritzBox6590 FRITZ!OS 7.02, Freetz
Laptop DEll Latitude i5, OpenSuse Leap 15.x, Win10 64
PC Intel Skylake 6700k,16GB, Geforce GTX 970, 512 GB SSD, OpenSuse Tumbleweed 64, Win 10 64
NAS WinServer 2016 64 Bit,4GB Ram, 20 TB
Backup Server WinServer 2019 64Bit, Intel Pentium G3420, 8GB RAM,20 TB Speicher
Reciver Vu+ Uno OpenATV6.0, VU+ Ultimo OpenATV 6.0, Wetek Play 2 CoreElec
Internet Kabel 150000
Benutzeravatar
Nobby1805
Moderator
Beiträge: 21381
Registriert: 6. Jun 2009, 17:40
Wohnort: Essen

Re: robocopy email benachrichtigung

Beitrag von Nobby1805 »

Da würde ich wetten, dass das
$EmailFrom = "xxx@googlemail.com"
$EmailTo = "xxx@googlemail.com"
nicht OK ist
WHS:inzwischen abgeschaltet Acer H340 mit 1x 1 TB (WD10EAVS), 3x 2 TB (2 WD20EARS und 1 ST2000DM001), PP3+UR2
Server:
Intel Celeron J3455 auf Gigabyte Board, Win 10 Pro x64 21H2, 640 GB (System), 16 TB (Backup), 4 TB (Daten), Lindenberg Backup und LightsOut 3
5 Clients:
1 Intel i5-4670K, ASUS H87-PRO, 32 GB, 250 GB SSD, 2x 500 GB, Win 10 Pro x64 21H2
1 Lüfterlos fürs Wohnzimmer, Intel Celeron N4100, 4 GB, 128 GB, Win 11 Pro x64 21H2
1 AMD Ryzen 7 3700X, Gigabyte AORUS, 32 GB, Win 10 Pro x64 2009
1 Sony Vaio EB 2H4E, Win 10 Home x64 2009
1 Samsung NP-R540-JS09DE, Win 10 Pro x64 2009


WHSListTombstones, ein Tool zur Auflistung aller Tombstones
WHSDisks, ein Tool zur Darstellung und Prüfung der DriveExtender-Konfiguration
WHSDiskNames, ein Tool zur Änderung der Plattennamen in der Konsole
WHSBackup, Infos und Tool zur Backup-DB (2011-Version (auch für WSE2012))
Bitte schreibt bei Fragen und Problemen eure Konfig in die Signatur
Coolzero
Foren-Mitglied
Beiträge: 575
Registriert: 11. Jun 2012, 19:24

Re: robocopy email benachrichtigung

Beitrag von Coolzero »

Nobby1805 hat geschrieben:Da würde ich wetten, dass das
$EmailFrom = "xxx@googlemail.com"
$EmailTo = "xxx@googlemail.com"
nicht OK ist
Wieso? Ich kann mir doch von einer Adresse auf die gleiche eine Email schicken! Habs gerade noch mal auf dem Handy versucht, mit der Adresse als Sender und Empfänger, und die Mail kommt an
FritzBox6590 FRITZ!OS 7.02, Freetz
Laptop DEll Latitude i5, OpenSuse Leap 15.x, Win10 64
PC Intel Skylake 6700k,16GB, Geforce GTX 970, 512 GB SSD, OpenSuse Tumbleweed 64, Win 10 64
NAS WinServer 2016 64 Bit,4GB Ram, 20 TB
Backup Server WinServer 2019 64Bit, Intel Pentium G3420, 8GB RAM,20 TB Speicher
Reciver Vu+ Uno OpenATV6.0, VU+ Ultimo OpenATV 6.0, Wetek Play 2 CoreElec
Internet Kabel 150000
Benutzeravatar
Nobby1805
Moderator
Beiträge: 21381
Registriert: 6. Jun 2009, 17:40
Wohnort: Essen

Re: robocopy email benachrichtigung

Beitrag von Nobby1805 »

Ok, das xxx hatte mich verwirrt ... Ich hatte mit einer ähnlichen Prozedur mal Probleme als die beiden Mailadressen gleich waren ... Kommt den eine Fehlermeldung/-code?
Probier es doch einfach mal mit verschiedenen Adressen aus
WHS:inzwischen abgeschaltet Acer H340 mit 1x 1 TB (WD10EAVS), 3x 2 TB (2 WD20EARS und 1 ST2000DM001), PP3+UR2
Server:
Intel Celeron J3455 auf Gigabyte Board, Win 10 Pro x64 21H2, 640 GB (System), 16 TB (Backup), 4 TB (Daten), Lindenberg Backup und LightsOut 3
5 Clients:
1 Intel i5-4670K, ASUS H87-PRO, 32 GB, 250 GB SSD, 2x 500 GB, Win 10 Pro x64 21H2
1 Lüfterlos fürs Wohnzimmer, Intel Celeron N4100, 4 GB, 128 GB, Win 11 Pro x64 21H2
1 AMD Ryzen 7 3700X, Gigabyte AORUS, 32 GB, Win 10 Pro x64 2009
1 Sony Vaio EB 2H4E, Win 10 Home x64 2009
1 Samsung NP-R540-JS09DE, Win 10 Pro x64 2009


WHSListTombstones, ein Tool zur Auflistung aller Tombstones
WHSDisks, ein Tool zur Darstellung und Prüfung der DriveExtender-Konfiguration
WHSDiskNames, ein Tool zur Änderung der Plattennamen in der Konsole
WHSBackup, Infos und Tool zur Backup-DB (2011-Version (auch für WSE2012))
Bitte schreibt bei Fragen und Problemen eure Konfig in die Signatur
Coolzero
Foren-Mitglied
Beiträge: 575
Registriert: 11. Jun 2012, 19:24

Re: robocopy email benachrichtigung

Beitrag von Coolzero »

Hab es jetzt mal von einen anderen account( Web.de) gesendet, weder kommt was an, noch gibts Eine Fehlermeldung. Ich hoffe es hat noch einer eine Idee. Danke
FritzBox6590 FRITZ!OS 7.02, Freetz
Laptop DEll Latitude i5, OpenSuse Leap 15.x, Win10 64
PC Intel Skylake 6700k,16GB, Geforce GTX 970, 512 GB SSD, OpenSuse Tumbleweed 64, Win 10 64
NAS WinServer 2016 64 Bit,4GB Ram, 20 TB
Backup Server WinServer 2019 64Bit, Intel Pentium G3420, 8GB RAM,20 TB Speicher
Reciver Vu+ Uno OpenATV6.0, VU+ Ultimo OpenATV 6.0, Wetek Play 2 CoreElec
Internet Kabel 150000
Benutzeravatar
larry
Moderator
Beiträge: 10000
Registriert: 22. Dez 2007, 16:13

Re: robocopy email benachrichtigung

Beitrag von larry »

Einfach wäre es vermutlich, wenn du dein Script hier mal als Dateianhang anfügen würdest. Das Passwort und die Mailadresse kann du ja entfernen. Ansonsten kann recht wenig dazu sagen, da ja keine Fehlermeldung kommt.
Hauptserver: Intel I3-2100, MSI H67MA-E45, WHS 2011
System: Corsair Force GT 90GB - Datenplatten: 2*Seagate 3TB + ext. WD 500 GB für Serversicherung(nur System),8 GB Ram, Fractal Design R3, be quiet! L7-300W, 2*Digital Devices cineS2(Mediaportal)
Archivserver: Intel Cel.G530, Intel DB65AL, WHS 2011, Drivebender
System: SamsF4 320GB - Datenplatten: 5*2TB SamsF4. + VHD für Serversicherung(nur System), 4 GB Ram, Lancool K-11X, be quiet! L7-300W
Backupserver: AMD Athl. X2 4850e, Gigabyte GA-MA780G-UD3H, 3*Asrock SATA3 + 1* DeLOCK 70154 SATA Controller, WHS 2011, Drivebender
System: SamsF4 320 GB - Datenplatten: 15 diverse Platten + VHD für Serversicherung(nur System) ,4 GB Ram, Seasonic ss 330 Watt
Router: AVM FRITZ!Box 7270, Kabel Deutschland
Clients: 2* HTPC, Win7 HP 32 Bit - 2*Arbeitsrechner Win7 HP 64 Bit - 1*Laptop Win7 HP 32-Bit
Coolzero
Foren-Mitglied
Beiträge: 575
Registriert: 11. Jun 2012, 19:24

Re: robocopy email benachrichtigung

Beitrag von Coolzero »

Hallo,
im Anhang die gewünschte Datei, ich hab sie in .txt umbenannt, damit ich sie hochladen konnte

Danke für die Hilfe
Dateianhänge
Sicherung_D2.txt
(1.83 KiB) 338-mal heruntergeladen
FritzBox6590 FRITZ!OS 7.02, Freetz
Laptop DEll Latitude i5, OpenSuse Leap 15.x, Win10 64
PC Intel Skylake 6700k,16GB, Geforce GTX 970, 512 GB SSD, OpenSuse Tumbleweed 64, Win 10 64
NAS WinServer 2016 64 Bit,4GB Ram, 20 TB
Backup Server WinServer 2019 64Bit, Intel Pentium G3420, 8GB RAM,20 TB Speicher
Reciver Vu+ Uno OpenATV6.0, VU+ Ultimo OpenATV 6.0, Wetek Play 2 CoreElec
Internet Kabel 150000
Benutzeravatar
Nobby1805
Moderator
Beiträge: 21381
Registriert: 6. Jun 2009, 17:40
Wohnort: Essen

Re: robocopy email benachrichtigung

Beitrag von Nobby1805 »

Die Datei "C:\Users\Norbert\Desktop\Sicherung_D2.ps1" kann nicht geladen werden, da die Ausführung von Skripts auf diesem System deaktiviert ist. Weitere Informationen erhalten Sie mit "get-help about_signing".
At line:0 char:0

_______________________________________________________________________________________________________________________________________________________________________________________________________________________________
PS C:\Users\Norbert\Desktop> get-help about_signing
THEMA
about_signing

KURZBESCHREIBUNG
Erklärt, wie Skripts signiert werden, damit sie den Windows
PowerShell-Ausführungsrichtlinien entsprechen.

DETAILBESCHREIBUNG
Die Ausführungsrichtlinie "Restricted" lässt keine Ausführung von
Skripts zu.
Die Ausführungsrichtlinien "AllSigned" und "RemoteSigned"
verhindern, dass Windows PowerShell Skripts ohne digitale
Signatur ausführt.

In diesem Thema wird erläutert, wie ausgewählte nicht signierte
Skripts trotz der Ausführungsrichtlinie "RemoteSigned" ausgeführt
werden und wie Sie Skripts für die eigene Verwendung signieren können.

Weitere Informationen über Windows PowerShell-Ausführungsrichtlini
en finden Sie unter "about_Execution_Policy".


SO LASSEN SIE DAS AUSFÜHREN SIGNIERTER SKRIPTS ZU
-------------------------------
Wenn Sie Windows PowerShell erstmals auf einem Computer starten,
ist vermutlich die Ausführungsrichtlinie "Restricted"
(Standardeinstellung) gültig.

Die Richtlinie "Restricted" lässt keine Ausführung von Skripts zu.

Um die gültige Ausführungsrichtlinie auf dem Computer zu suchen,
geben Sie Folgendes ein:

get-executionpolicy

Um nicht signierte Skripts, die Sie auf dem lokalen Computer
schreiben, und signierte Skripts anderer Benutzer auszuführen,
verwenden Sie den folgenden Befehl, um die Ausführungsrichtlinie
auf dem Computer in "RemoteSigned" zu ändern:

set-executionpolicy remotesigned

Weitere Informationen finden Sie unter "Set-ExecutionPolicy".


AUSFÜHREN NICHT SIGNIERTER SKRIPTS (AUSFÜHRUNGSRICHTLINIE "REMOTESIGNED")
--------------------------------------------------------
Wenn Sie in Windows PowerShell die Ausführungsrichtli
nie "RemoteSigned" festgelegt haben, werden keine aus dem Internet
heruntergeladenen Skripts ohne Signatur ausgeführt (einschließlich
nicht signierter Skripts, die Sie über E-Mail- und Instant
Messaging-Programme empfangen).

Wenn Sie ein heruntergeladenes Skript ausführen möchten, wird
folgende Fehlermeldung von Windows PowerShell angezeigt:

Die Datei <Dateiname> kann nicht geladen werden. Die Datei
<Dateiname> ist nicht digital signiert. Das Skript
wird auf dem System nicht ausgeführt. Weitere Informationen
erhalten Sie mit "Get-Help about_signing".

Überprüfen Sie den Code auf Vertrauenswürdigkeit, bevor Sie das
Skript ausführen.
Skripts haben die gleichen Auswirkungen wie ausführbare Programme.

So führen Sie ein nicht signiertes Skript aus

1. Speichern Sie die Skriptdatei auf Ihrem Computer.
2. Klicken Sie auf "Start" und anschließend auf "Arbeitsplatz",
und suchen Sie die gespeicherte Skriptdatei.
3. Klicken Sie mit der rechten Maustaste auf die Skriptdatei,
und klicken Sie dann auf "Eigenschaften".
4. Klicken Sie auf "Zulassen".

Wenn Sie ein Skript mit einer digitalen Signatur aus dem Internet
heruntergeladen, aber noch nicht angegeben haben, ob Sie dem
Herausgeber vertrauen, zeigt Windows PowerShell folgende Meldung an:

Möchten Sie Software dieses nicht vertrauenswürdigen Herausgebers
ausführen? Die Datei <Dateiname> wurde von "CN=<Name des
Herausgebers>" veröffentlicht. Dieser Herausgeber gilt auf Ihrem
System als nicht vertrauenswürdig. Führen Sie ausschließlich Skripts
vertrauenswürdiger Herausgeber aus.

[E] Nie ausführen [N] Nicht ausführen [M] Einmal ausführen
[A] Immer ausführen [?] Hilfe ("N" ist die Standardeinstellung):

Wenn Sie dem Herausgeber vertrauen, wählen Sie "Einmal
ausführen" oder "Immer ausführen" aus. Wenn Sie dem
Herausgeber nicht vertrauen, wählen Sie entweder "Nie
ausführen" oder "Nicht ausführen" aus. Wenn Sie "Nie
ausführen" oder "Immer ausführen" auswählen, wird von Windows
PowerShell für diesen Herausgeber keine weitere Bestätigung
angefordert.


METHODEN ZUR SKRIPTSIGNIERUNG
--------------------------
Sie können selbst erstellte Skripts und Skripts, die Sie aus
anderen Quellen erhalten, signieren. Überprüfen Sie jeden Befehl
im Hinblick auf eine sichere Ausführung, bevor Sie ein Skript
signieren.

Best Practices zu Codesignaturen finden Sie in "Best Practices zu
Codesignaturen" unter "http://go.microsoft.com/fwlink/?LinkId=119096"
(möglicherweise auf Englisch).

Weitere Informationen über das Signieren einer Skriptdatei finden
Sie unter "Set-AuthenticodeSignature".

Um ein Skript digital zu signieren, müssen Sie es mit einem
Codesignaturzertifikat versehen. Dazu stehen zwei Arten von
Zertifikaten zur Verfügung:

-- Zertifikate von einer Zertifizierungsstelle:

Gegen eine Gebühr wird Ihre Identität von einer
öffentlichen Zertifizierungsstelle überprüft, und Sie
erhalten ein Codesignaturzertifikat. Wenn Sie ein
Zertifikat von einer renommierten Zertifizierungsstelle
erwerben, können Sie Ihr Skript mit anderen Benutzern
gemeinsam verwenden, auf deren Computern Windows
ausgeführt wird, da diese der Zertifizierungsstelle vertrauen.

-- Selbst erstellte Zertifikate:

Wenn Sie ein Zertifikat mit eigener Signatur erstellen,
stellt Ihr Computer die Zertifizierungsstelle dar.
Dieses Zertifikat ist gebührenfrei und ermöglicht es
Ihnen, Skripts auf Ihrem Computer zu schreiben, zu
signieren und auszuführen. Ein Skript mit einem selbst
signierten Zertifikat wird jedoch auf anderen Computern
nicht ausgeführt.

In der Regel verwenden Sie ein selbst signiertes Zertifikat nur
zum Signieren von Skripts für die eigene Verwendung und von
Skripts, die Sie aus anderen Quellen abrufen, deren Sicherheit
Sie überprüft haben. Dies ist nicht geeignet für Skripts, die
freigegeben werden, auch wenn dies nur innerhalb eines
Unternehmens erfolgt.

Wenn Sie ein Zertifikat mit eigener Signatur erstellen, müssen
Sie eine hohe Sicherheit für den privaten Schlüssel des
Zertifikats aktivieren. Dadurch wird verhindert, dass Skripts in
Ihrem Namen von bösartigen Programmen signiert werden.
Anweisungen hierzu erhalten Sie am Ende dieses Themas.


ERSTELLEN EINES EIGENEN ZERTIFIKATS
--------------------------------
Um ein Zertifikat mit eigener Signatur zu erstellen, verwenden Sie das
Zertifikaterstellungstool ("MakeCert.exe"). Dieses Tool ist im
Microsoft .NET Framework SDK (Version 1.1 und höher) und dem
Microsoft Windows SDK enthalten.

Weitere Informationen über die Syntax und die Parameterbeschreibun
gen des Tools "MakeCert.exe" finden Sie in der MSDN (Microsoft
Developer Network) Library im Thema "Certificate Creation-Tool
(Makecert.exe)" unter "http://go.microsoft.com/fwlink/?LinkId=1190
97" (möglicherweise auf Englisch).

Um mit dem Tool "MakeCert.exe" ein Zertifikat zu erstellen,
führen Sie die folgenden Befehle in einem Eingabeaufforderungsfens
ter des SDK aus.

Hinweis: Mit dem ersten Befehl wird eine lokale Zertifizierungsste
lle für den Computer erstellt. Mit dem zweiten Befehl wird ein
persönliches Zertifikat von der Zertifizierungsstelle generiert.

Hinweis: Sie können die Befehle genau so kopieren oder eingeben,
wie sie angezeigt werden.
Es sind keine Ersetzungen erforderlich, Sie können aber den
Zertifikatnamen ändern.

makecert -n "CN=PowerShell Local Certificate Root" -a sha1 `
-eku 1.3.6.1.5.5.7.3.3 -r -sv root.pvk root.cer `
-ss Root -sr localMachine

makecert -pe -n "CN=PowerShell User" -ss MY -a sha1 `
-eku 1.3.6.1.5.5.7.3.3 -iv root.pvk -ic root.cer


Sie werden vom Tool "MakeCert.exe" aufgefordert, ein Kennwort für den
privaten Schlüssel einzugeben. Mit dem Kennwort wird sichergestellt,
dass ohne Ihre Genehmigung kein anderer Benutzer das Zertifikat
verwenden oder darauf zugreifen kann. Erstellen Sie ein Kennwort, das
Sie sich leicht merken können, und geben Sie dieses ein. Sie rufen
später das Zertifikat mithilfe dieses Kennworts ab.

Um zu überprüfen, ob das Zertifikat ordnungsgemäß generiert
wurde, verwenden Sie den folgenden Befehl, um das Zertifikat im
Zertifikatspeicher auf dem Computer abzurufen. (Im Dateisystemverz
eichnis wird keine Zertifikatsdatei aufgeführt.)

Geben Sie an der Windows PowerShell-Eingabeaufforderung folgenden
Befehl ein:

get-childitem cert:\CurrentUser\my -codesigning

Durch diesen Befehl werden mit dem Windows PowerShell-Zertifikatan
bieter Informationen über das Zertifikat angezeigt.

Wenn das Zertifikat erstellt wurde, wird in der Ausgabe der
Fingerabdruck angezeigt, der das Zertifikat identifiziert. Diese
Anzeige sieht etwa folgendermaßen aus:


Verzeichnis: Microsoft.PowerShell.Security\Zertifikat::CurrentUser\My

Fingerabdruck Subject
---------- -------
4D4917CB140714BA5B81B96E0B18AAF2C4564FDF CN=PowerShell User ]


SIGNIEREN EINES SKRIPTS
-----------------------

Nachdem Sie ein Zertifikat mit eigener Signatur erstellt haben,
können Sie Skripts signieren. Wenn Sie die Ausführungsrichtlinie
"AllSigned" verwenden, ermöglicht das Signieren eines Skripts die
Ausführung desselben auf Ihrem Computer.

Mit dem folgenden Beispielskript "Add-Signature.ps1" wird ein
Skript signiert. Wenn Sie jedoch die Ausführungsrichtlinie
"AllSigned" verwenden, müssen Sie das Skript "Add-Signature.ps1"
vor seiner Ausführung signieren.

Kopieren Sie den folgenden Text in eine Textdatei und benennen
Sie diese mit "Add-Signature.ps1", um das Skript zu verwenden.

Hinweis: Die Skriptdatei darf nicht die Erweiterung ".txt"
aufweisen. Wenn der Text-Editor ".txt" anfügt, schließen Sie den
Dateinamen in Anführungszeichen ein: "add-signature.ps1".


## add-signature.ps1
## Signiert eine Datei
param([string] $file=$(throw "Geben Sie einen Dateinamen an."))
$cert = @(Get-ChildItem cert:\CurrentUser\My -codesigning)[0]
Set-AuthenticodeSignature $file $cert


Geben Sie folgende Befehle an der Windows PowerShell-Eingabeauffor
derung ein, um die Skriptdatei "Add-Signature.ps1" zu signieren:

$cert = @(Get-ChildItem cert:\CurrentUser\My -codesigning)[0]

Set-AuthenticodeSignature add-signature.ps1 $cert


Nachdem das Skript signiert wurde, können Sie es auf dem lokalen
Computer ausführen. Das Skript kann jedoch nicht auf Computern
ausgeführt werden, für die die Ausführungsrichtlinie von Windows
PowerShell eine digitale Signatur von einem vertrauenswürdigen
Herausgeber erfordert. Bei dem Versuch, das Skript auszuführen,
wird in diesem Fall die folgende Fehlermeldung von Windows PowerShell
angezeigt:

Die Datei "C:\remote_file.ps1" kann nicht geladen werden. Die
Signatur des Zertifikats konnte nicht bestätigt werden.
Bei Zeile:1 Zeichen:15
+ .\ remote_file.ps1 <<<<

Wenn diese Meldung von Windows PowerShell bei der Ausführung
eines Skripts angezeigt wird, das Sie nicht erstellt haben,
behandeln Sie diese Datei wie ein nicht signiertes Skript.
Überprüfen Sie den Code, um zu ermitteln, ob das Skript
vertrauenswürdig ist.


HOHE SICHERHEIT DURCH PRIVATEN SCHLÜSSEL FÜR DAS ZERTIFIKAT AKTIVIEREN
----------------------------------------------------------------------

Wenn Sie auf Ihrem Computer über ein privates Zertifikat
verfügen, können bösartige Programme möglicherweise Skripts in
Ihrem Namen signieren, die daraufhin von Windows PowerShell
ausgeführt werden können.

Mit dem Zertifikat-Manager ("Certmgr.exe") können Sie das
Signaturzertifikat in eine PFX-Datei exportieren und so das
automatische Signieren in Ihrem Namen verhindern. Der
Zertifikat-Manager ist im Microsoft .NET Framework SDK, im
Microsoft Windows SDK sowie in Internet Explorer 5.0 oder höher
enthalten.

So exportieren Sie das Zertifikat

1. Starten Sie den Zertifikat-Manager.

2. Wählen Sie das von "PowerShell Local Certificate Root"
ausgestellte Zertifikat aus.

3. Klicken Sie auf "Exportieren", um den Zertifikatexport-Assi
stenten zu starten.

4. Wählen Sie "Ja, privaten Schlüssel exportieren" aus, und
klicken Sie auf anschließend "Weiter".

5. Wählen Sie "Hohen Schutz aktivieren" aus.

6. Geben Sie ein Kennwort ein, und bestätigen Sie es durch
erneute Eingabe.

7. Geben Sie einen Dateinamen mit der Dateinamenerweiterung
".pfx" ein.

8. Klicken Sie auf "Fertig stellen".


So importieren Sie das Zertifikat erneut

1. Starten Sie den Zertifikat-Manager.

2. Klicken Sie auf "Importieren", um den Zertifikatimport-Assi
stenten zu starten.

3. Öffnen Sie den Speicherort der PFX-Datei, die Sie während
des Exportvorgangs erstellt haben.

4. Wählen Sie auf der Seite "Kennwort" die Option "Hohe
Sicherheit für privaten Schlüssel aktivieren" aus, und geben
Sie das Kennwort ein, das Sie beim Export zugewiesen haben.

5. Wählen Sie den Zertifikatspeicher "Persönlich" aus.

6. Klicken Sie auf "Fertig stellen".



VERHINDERN DES ABLAUFENS DER SIGNATUR
-----------------------------------
Die digitale Signatur in einem Skript ist gültig, bis das
Signaturzertifikat abläuft oder solange ein Zeitstempelserver
überprüfen kann, ob das Skript signiert wurde, während das
Signaturzertifikat gültig war.

Da die meisten Signaturzertifikate nur ein Jahr gültig sind,
wird mit einem Zeitstempelserver sichergestellt, dass die
Benutzer Ihr Skript mehrere Jahre verwenden können.


SIEHE AUCH
about_Execution_Policies
about_Profiles
Get-ExecutionPolicy
Set-ExecutionPolicy
Set-AuthenticodeSignature
"Einführung in das Signieren von Code" ("http://go.microsoft.com/fwlink/?LinkId=106296",
(möglicherweise auf Englisch)
WHS:inzwischen abgeschaltet Acer H340 mit 1x 1 TB (WD10EAVS), 3x 2 TB (2 WD20EARS und 1 ST2000DM001), PP3+UR2
Server:
Intel Celeron J3455 auf Gigabyte Board, Win 10 Pro x64 21H2, 640 GB (System), 16 TB (Backup), 4 TB (Daten), Lindenberg Backup und LightsOut 3
5 Clients:
1 Intel i5-4670K, ASUS H87-PRO, 32 GB, 250 GB SSD, 2x 500 GB, Win 10 Pro x64 21H2
1 Lüfterlos fürs Wohnzimmer, Intel Celeron N4100, 4 GB, 128 GB, Win 11 Pro x64 21H2
1 AMD Ryzen 7 3700X, Gigabyte AORUS, 32 GB, Win 10 Pro x64 2009
1 Sony Vaio EB 2H4E, Win 10 Home x64 2009
1 Samsung NP-R540-JS09DE, Win 10 Pro x64 2009


WHSListTombstones, ein Tool zur Auflistung aller Tombstones
WHSDisks, ein Tool zur Darstellung und Prüfung der DriveExtender-Konfiguration
WHSDiskNames, ein Tool zur Änderung der Plattennamen in der Konsole
WHSBackup, Infos und Tool zur Backup-DB (2011-Version (auch für WSE2012))
Bitte schreibt bei Fragen und Problemen eure Konfig in die Signatur
Antworten