开发者

PowerShell: send console output to file without deafening this console output

开发者 https://www.devze.com 2023-02-13 02:09 出处:网络
I have a lot of PowerShell script. One main, that calls other, child ones. Those PS scripts in their turn call windows CMD scripts, bash scripts and console applications. All these scripts开发者_开发问

I have a lot of PowerShell script. One main, that calls other, child ones. Those PS scripts in their turn call windows CMD scripts, bash scripts and console applications. All these scripts开发者_开发问答 and applications write messages to console. PowerShell scripts, for example, are using Write-Host scriptlet for this purpose.

Question: how can I easely redirect (send) all this console output to some file, while not deafening (canceling) this console output? I want to be able to see whats going on from console output and also have history of messages in log file.

Thanks.


You can use the tee equivalent of PowerShell : Tee-Object

PS: serverfault.com and/or superuser.com are more suitable for a question like this.


You can try Start-Transcript and Stop-Transcript. It has a couple of limitations like not capturing native exe output. It is also global to PowerShell session.


I've found script for grabbing console output: http://gallery.technet.microsoft.com/scriptcenter/e8fbffde-7d95-42d9-81de-5eb3d9c089e0. Script returns HTML to preserve colors.

The only big downside - you must call it at the end of your script to capture all console output it have made.


You'd probably need to write a custom host to do this. It's not a terribly hard thing to do, but it's does require some managed code.

0

精彩评论

暂无评论...
验证码 换一张
取 消