PowerShell: envoyer la sortie de la console au fichier sans assourdir cette sortie de la console
J'ai beaucoup de script PowerShell. L'une des principales, qui appelle d'autres, de l'enfant. Ces PS scripts à leur tour appel windows CMD scripts, des scripts bash et les applications de console. Tous ces scripts et les applications d'écrire des messages à la console. Des scripts PowerShell, par exemple, sont à l'aide de Write-Host
scriptlet à cette fin.
Question: comment puis-je facilement rediriger (envoyer) tout cela de la console de sortie pour un fichier, tout n'est pas assourdissant (annuler) cette sortie de la console? Je veux être en mesure de voir ce qui se passe à partir de la console de sortie et ont aussi l'histoire de messages dans le fichier de log.
Grâce.
source d'informationauteur Roman
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer
Start-Transcript
etStop-Transcript
. Il a quelques restrictions, comme pas de capture natif de la sortie exe. Il est également global de session PowerShell.Vous pouvez utiliser le
tee
équivalent de PowerShell : Tee-ObjetPS: serverfault.com et/ou superuser.com sont plus appropriés pour une question comme ça.
J'ai trouvé un script pour l'accaparement de la console de sortie: http://gallery.technet.microsoft.com/scriptcenter/e8fbffde-7d95-42d9-81de-5eb3d9c089e0. Script renvoie HTML pour préserver les couleurs.
Le seul gros inconvénient: vous devez appeler à la fin de votre script à capturer toutes les sorties de la console il ont fait.
Vous auriez probablement besoin d'écrire un hôte personnalisé pour ce faire. C'est pas très difficile à faire, mais ça va nécessiter un peu de code managé.