bitboy
Goto Top

Powershellscript bricht ab?

Hallo zusammen,

ich habe im Moment ein Problem dem ich nicht recht auf die Spur komme.
Per scheduled task wird ein Powershell script ausgeführt. Das klappt alles soweit.
In dem Script ist ein Copy job (copy-item) der ein paar Stunden braucht, der Befehl wird auch ausgeführt.
Allerdings scheint das script nach dem Befehl einfach nicht weiter zu machen.

Was ich schon versucht hab:
- Alle im Task definierten Beendigungen nach x stunden abgeschaltet
- Try catch block um den Befehl gebaut allerdings ohne Error


Nach dem Befehl wird einfach nur ein Texteintrag in einer Log erstellt. Die Einträge die vorher ins Log geschrieben werden funktionieren natürlich.

Danke und Gruß

Content-Key: 585310

Url: https://administrator.de/contentid/585310

Printed on: April 26, 2024 at 12:04 o'clock

Member: emeriks
emeriks Jul 06, 2020 at 07:47:45 (UTC)
Goto Top
Hi,
  1. es wäre hilfreich, wenn Du das geheimnisvolle Script zumindest in den relevanten Teilen hier zeigen würdest.
  2. Du könntest im Script an erster Stelle das Transcript-Log aktivieren. Dann könntest Du u.U. anhand der aufgezeichneten Bildschirmausgaben nachvollziehen.

E.
Member: NordicMike
NordicMike Jul 06, 2020 at 09:19:15 (UTC)
Goto Top
Vielleicht wird der Copy Befehl nicht fertig?!? Hast du alle Optionen/Schalter gesetzt, damit keine Interaktion stattfinden muss (z.B. wenn die Frage auftaucht ob überschrieben werden darf)?
Member: Bitboy
Bitboy Jul 10, 2020 at 07:35:50 (UTC)
Goto Top
Danke für die Antworten. Das mit dem Transcript Log versuch ich mal.

Der Code sieht entsprechend unspannend aus. Dachte auch, dass der Copy irgendein Problem hat und hab deswegen das try-catch gemacht, aber der catch teil wird nicht ausgeführt.

$msg = "`t`tKopiere von $SrcDir nach $destDir`n"  
$msg >> $logfile
$mailBody += $msg

try {
   Copy-Item -Recurse -Path $SrcDir -Destination $destDir -Force
}
catch {
    $msg = $error
    $msg >> $logfile
    $mailBody += $msg
}
$msg = "Kopieren abgeschlossen."  
$msg >> $logfile
Member: mayho33
mayho33 Jul 10, 2020 at 23:53:13 (UTC)
Goto Top
Verwende doch einfach Robocopy in deinem PS1.

& Robocopy.exe "source" "destination" /unilog "c:\dein.log"
Vorteil:

Oder mit Start-Process()