web-dev-qa-db-ja.com

PowerShell "エコーオン"

これは https://serverfault.com/questions/102098/powershell-script-showing-commands-run の複製です。ここでこの質問をする方が適切だと思いました。

私はPowerShellスクリプトをいじっていますが、それらは非常にうまく機能しています。ただし、自分で手動で入力した場合と同様に、実行されたすべてのコマンドを表示する方法があるかどうか疑問に思っています。これは、バッチファイルの「エコーオン」に似ています。 PowerShellコマンドライン引数、コマンドレットを確認しましたが、明確なものは見つかりませんでした。

36

Start-Transcriptは、exe出力をキャッチしません。それは私にとってショーストッパーです。私はそれを言うのが嫌いですが、これを行うことがわかった最善の方法は次のとおりです。

cmd /c powershell.exe -file c:\users\hillr\foo.ps1 > foo.log

これはすべてのAFAICTをキャプチャします。

11
Keith Hill
Set-PSDebug -Trace 1
  • 0:スクリプトのトレースをオフにします。
  • 1:実行時にスクリプト行をトレースします。
  • 2:スクリプト行、変数の割り当て、関数呼び出し、およびスクリプトをトレースします。

詳細: https://docs.Microsoft.com/en-us/powershell/module/Microsoft.powershell.core/set-psdebug?view=powershell-6

19
wisbucky
C:\workspaces\silverlight> start-transcript -?

NAME
    Start-Transcript

SYNOPSIS
    Creates a record of all or part of a Windows PowerShell session in a text file.


SYNTAX
    Start-Transcript [[-Path] <string>] [-Append] [-Force] [-NoClobber] [-Confirm] [-WhatIf] [<CommonParameters>]


DESCRIPTION
    The Start-Transcript cmdlet creates a record of all or part of a Windows PowerShell session in a text file. The transcript includes all command that the user
     types and all output that appears on the console.


RELATED LINKS
    Online version: http://go.Microsoft.com/fwlink/?LinkID=113408
    Stop-Transcript 

REMARKS
    To see the examples, type: "get-help Start-Transcript -examples".
    For more information, type: "get-help Start-Transcript -detailed".
    For technical information, type: "get-help Start-Transcript -full".

注意#1:警告/エラー/デバッグではなく、メインコンソールの出力ストリームに書き込まれたもののみを記録します。

注#2:ネイティブコンソールアプリケーションを記録する必要がある場合は、 わずかな回避策が必要になります

3
Richard Berg

目的のコマンドに-verboseを追加しました。例えば。

Copy-Item c:\xxx d:\xxx -verbose
2
Roman O