Existe-t-il un moyen d'empêcher PowerShell de supprimer les couleurs de message de la console lors de l'utilisation de tee-object?PowerShell supprime les couleurs de message de la console lors de l'utilisation de l'objet tee
Quand je lance sans tee-objet je reçois la belle erreur et verbeux couleurs de message powershell comme ceci:
powershell.exe -noprofile -file $project_root/test_main.ps1
with color http://i32.tinypic.com/250779w.jpg
Cependant, lorsque j'utilise t-objet (b/c Je veux vous connecter à la console & fichier), les couleurs de message ne sont pas représentés sur la console (je sais que le fichier ne sera pas le montrer) comme ceci:
powershell.exe -noprofile -file $project_root/test_main.ps1 | tee-object -FilePath $log
no color http://i29.tinypic.com/bzpc2.jpg
Si powershell n'utilise que tee-object pour diviser la sortie en un fichier en plus de la console, pourquoi est-ce que je perds le formatage de la console?
Je vois ce que vous dites, mais je ne peux pas obtenir cette commande Première erreur: "Vous devez fournir une expression de valeur sur le côté droit de l'opérateur '/'." J'ai essayé d'y échapper sans aucune chance Puis j'ai essayé de faire "$ path \ test_main .ps1 | tee-object $ log "une commande $ var, donc j'appelle powershell.exe -noprofile -command {$ command} mais cela n'appelle même pas le script ou déclenche une erreur quand j'appelle un script inexistant. Comme vous pouvez le voir Keith, je suis workin g de votre article de blog "Effective PowerShell Item 14: Capture de toutes les sorties d'un script" pour capturer et enregistrer toutes les sorties :) – DetectiveEric
Si vous exécutez la commande à partir de PowerShell.exe cela devrait fonctionner (au moins, il a fait pour moi sur mon test scénario). Si vous l'utilisez ailleurs que PowerShell, utilisez '... -command" & {$ path \ test_main.ps1 | tee-object $ log} "'. –
RE "capturer toutes les sorties d'un script" - J'ai été déçu lorsque PowerShell 2.0 est sorti sans aborder le problème de journalisation des scripts. :-( –