Seite 1 von 5

robocopy email benachrichtigung

Verfasst: 21. Apr 2014, 19:35
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

Re: robocopy email benachrichtigung

Verfasst: 21. Apr 2014, 21:06
von noxx
http://stastka.ch/knowledge-base/Roboco ... /story/299

Vielleicht so?

Gesendet von meinem GT-I9195 mit Tapatalk

Re: robocopy email benachrichtigung

Verfasst: 21. Apr 2014, 21:50
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>

Re: robocopy email benachrichtigung

Verfasst: 21. Apr 2014, 21:58
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.

Re: robocopy email benachrichtigung

Verfasst: 21. Apr 2014, 22:39
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

Re: robocopy email benachrichtigung

Verfasst: 22. Apr 2014, 17:22
von Coolzero
Hallo,
ok, als .ps1 funktioniert es, nur leider wird keine Email gesendet, was kann noch falsch sein?

Re: robocopy email benachrichtigung

Verfasst: 22. Apr 2014, 19:14
von Nobby1805
und du hast die für deine Umgebung notwendigen Anpassungen alle durchgeführt ?

Re: robocopy email benachrichtigung

Verfasst: 22. Apr 2014, 19:50
von Coolzero
Sieht halt wie oben dargestellt aus,hab alles nach bestem wissen und gewissen geändert

Re: robocopy email benachrichtigung

Verfasst: 22. Apr 2014, 20:48
von Nobby1805
Da würde ich wetten, dass das
$EmailFrom = "xxx@googlemail.com"
$EmailTo = "xxx@googlemail.com"
nicht OK ist

Re: robocopy email benachrichtigung

Verfasst: 22. Apr 2014, 21:20
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

Re: robocopy email benachrichtigung

Verfasst: 22. Apr 2014, 22:03
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

Re: robocopy email benachrichtigung

Verfasst: 24. Apr 2014, 13:39
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

Re: robocopy email benachrichtigung

Verfasst: 24. Apr 2014, 16:01
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.

Re: robocopy email benachrichtigung

Verfasst: 24. Apr 2014, 20:20
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

Re: robocopy email benachrichtigung

Verfasst: 24. Apr 2014, 22:46
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)