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:
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:
Funktioniert problemlos. Es steht alles in der Textdatei.
Was mache ich falsch bzw. übersehe ich?
Viele Grüße,
Dani
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
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
Was mache ich falsch bzw. übersehe ich?
Viele Grüße,
Dani
Please also mark the comments that contributed to the solution of the article
Content-Key: 215588
Url: https://administrator.de/contentid/215588
Printed on: April 19, 2024 at 05:04 o'clock
3 Comments
Latest comment
n'Abend Danni,
Standardmässig gibt der Befehl
Beispiel:
Grüße Uwe
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