dani
Goto Top

Ausgabe eines Powershell-Befehls in eine Datei umleiten

Guten Abend Kollegen/innen,
ich versuche (bisher erfolglos) die Ausgabe eines Kopiervorgangs einer Datei von C:\Temp nach C:\Windows in eine Datei zu schreiben. Folgende Zeile habe ich entworfen:
Copy-Item "saplogon.ini" "c:\windows" -Recurse -Verbose | Out-File -Filepath C:\temp\text.txt -append  
Die Datei "text.txt" wird zwar erstellt aber es wird nichts hineingeschrieben. Stattdessen wird der text in der Powershell-Konsole ausgegeben.
Auch die INI-Datei wird ohne Probleme kopiert.

Als Basistest um sicherzustellen, dass die Umleitung der Ausgabe funktioniert nutzte ich diese Zeile:
Get-Process | Out-File -FilePath C:\temp\processlist.txt 
Funktioniert problemlos. Es steht alles in der Textdatei.
Was mache ich falsch bzw. übersehe ich?


Viele Grüße,
Dani

Content-Key: 215588

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

Printed on: April 19, 2024 at 05:04 o'clock

Member: colinardo
Solution colinardo Aug 29, 2013, updated at Jan 02, 2014 at 21:03:12 (UTC)
Goto Top
n'Abend Danni,
Standardmässig gibt der Befehl copy-item nichts in einer PIPE weiter, d.h. du musst Ihm mit dem Parameter -PassThru sagen das er seine Objekte in der Pipe weitergibt. Der Befehl gibt aber nur die Objekte zurück die erfolgreich kopiert worden sind. Willst du Fehler des Befehls loggen musst du den Parameter -ErrorVariable mit angeben, und dann den Inhalt der Variablen auch in das Log schreiben (das "+" vor errors bedeutet das bei mehreren Fehlern diese an die Variable angehängt werden anstatt den vorherigen Fehler zu überschreiben).

Beispiel:
Copy-Item "saplogon.ini" "c:\windows" -Recurse -PassThru -ErrorVariable +errors -ErrorAction SilentlyContinue | Out-File "c:\temp\log.txt" -append  
$errors | Out-File -FilePath "c:\temp\log.txt" -append  
Grüße Uwe
Member: MartinBinder
Solution MartinBinder Aug 29, 2013, updated at Jan 02, 2014 at 21:03:16 (UTC)
Goto Top
Member: Dani
Dani Aug 30, 2013 at 15:54:59 (UTC)
Goto Top
@uwe
Vielen Dank... ist doch nicht so einfach wie ich mir das gedacht habe. Aber es füllt genau seinen Zweck. Danke!

@matrinbinder
Der Link vom Technet habe ich bereits gelesen. Jedoch habe ich wohl den PassThru Kommentar überscrollt. face-smile


Grüße,
Dani