Czy istnieje sposób, aby zatrzymać PowerShell przed usunięciem kolorów wiadomości konsoli podczas korzystania z tee-obiektu?PowerShell usuwanie kolorów wiadomości konsoli podczas korzystania z tee-obiektu
Kiedy uruchomić bez tee-Object uzyskać ładny błąd i rozwlekłe kolory wiadomość PowerShell tak:
powershell.exe -noprofile -file $project_root/test_main.ps1
with color http://i32.tinypic.com/250779w.jpg
Jednak kiedy używam tee-Object (b/c I chcą zalogowaniu do konsoli & pliku), kolory wiadomość nie są pokazane na konsoli (wiem, że plik nie pokaże go) tak:
powershell.exe -noprofile -file $project_root/test_main.ps1 | tee-object -FilePath $log
no color http://i29.tinypic.com/bzpc2.jpg
Jeśli funkcja powershell używa tylko tee-obiektu, aby podzielić dane wyjściowe do pliku oprócz konsoli, dlaczego tracę formatowanie konsoli?
Widzę, co mówisz, jednak nie mogę uzyskać tego polecenia metoda do pracy: Pierwszy błąd: "Musisz podać wyrażenie wartości po prawej stronie operatora"/"." Próbowałem uciekać bez powodzenia Potem próbowałem zrobić "$ path \ test_main" .ps1 | tee-object $ log "a $ command var, więc nazywam powershell.exe -noprofile -polecenie {$ command} , ale to nawet nie wywołanie skryptu lub zgłoszenie błędu podczas wywoływania nieistniejącego skryptu. Jak widać, Keith, pracuję g off twojego posta na blogu "Effective PowerShell Artykuł 14: Przechwytywanie wszystkich danych wyjściowych ze skryptu" w celu przechwytywania i rejestrowania wszystkich danych wyjściowych :) – DetectiveEric
Po uruchomieniu polecenia z PowerShell.exe powinno działać (przynajmniej zrobiło to dla mnie podczas mojego testu scenariusz). Jeśli używasz go w innym miejscu niż PowerShell, użyj '... -command" & {$ path \ test_main.ps1 | tee-object $ log} "'. –
RE "przechwytywanie wszystkich danych wyjściowych ze skryptu" - byłem rozczarowany, gdy PowerShell 2.0 został dostarczony bez rozwiązania problemu z rejestrowaniem skryptów. :-( –