Start-Transcript
テキスト ファイルへの PowerShell セッションのすべてまたは一部のレコードを作成します。
構文
ByPath (既定)
Start-Transcript
[[-Path] <String>]
[-Append]
[-Force]
[-NoClobber]
[-IncludeInvocationHeader]
[-UseMinimalHeader]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByLiteralPath
Start-Transcript
[[-LiteralPath] <String>]
[-Append]
[-Force]
[-NoClobber]
[-IncludeInvocationHeader]
[-UseMinimalHeader]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByOutputDirectory
Start-Transcript
[[-OutputDirectory] <String>]
[-Append]
[-Force]
[-NoClobber]
[-IncludeInvocationHeader]
[-UseMinimalHeader]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Start-Transcript コマンドレットは、PowerShell セッションのすべてまたは一部のレコードをテキスト ファイルに作成します。 トランスクリプトには、ユーザーが入力したすべてのコマンドと、コンソールに表示されるすべての出力が含まれます。
既定では、Start-Transcript は、既定の名前を使用して、トランスクリプトを次の場所に格納します。
- Windows の場合:
$HOME\Documents - Linux または macOS の場合:
$HOME
既定のファイル名は PowerShell_transcript.<computername>.<random>.<timestamp>.txtです。
Windows PowerShell 5.0 以降では、Start-Transcript はすべてのトランスクリプトの生成されたファイル名にホスト名を含めます。 ファイル名には、2 つ以上のトランスクリプトを同時に開始するときに上書きや重複を防ぐために、名前にランダムな文字も含まれています。 コンピューター名を含めると、トランスクリプトを一元化された場所に格納する場合に便利です。 ランダムな文字列を使用すると、ファイル名を推測してファイルへの不正アクセスを取得できなくなります。
ターゲット ファイルにバイトオーダー マーク (BOM) がない場合、Start-Transcript は既定でターゲット ファイルでエンコード Utf8NoBom されます。
例
例 1: 既定の設定でトランスクリプト ファイルを開始する
Start-Transcript
このコマンドは、既定のファイルの場所でトランスクリプトを開始します。
例 2: 特定の場所でトランスクリプト ファイルを開始する
Start-Transcript -Path "C:\transcripts\transcript0.txt" -NoClobber
このコマンドは、Transcript0.txtの C:\transcripts ファイルでトランスクリプトを開始します。 noClobber パラメーター、既存のファイルが上書きされないようにします。
Transcript0.txt ファイルが既に存在する場合、コマンドは失敗します。
例 3: 一意の名前でトランスクリプト ファイルを開始し、ファイル共有に保存する
次の例では、共有の場所に格納するのに十分な一意の名前を持つトランスクリプト ファイルを作成します。 ファイル名は、ユーザーの名前、PowerShell を実行しているコンピューターのホスト名、PowerShell のバージョン、および日付と時刻から作成されます。 トランスクリプトは、\\Server01\Transcripts ファイル共有に格納されます。
$sharePath = '\\Server01\Transcripts'
$username = $Env:USERNAME
$hostname = hostname
$version = $PSVersionTable.PSVersion.ToString()
$datetime = Get-Date -F 'yyyyMMddHHmmss'
$filename = "Transcript-${username}-${hostname}-${version}-${datetime}.txt"
$Transcript = (Join-Path -Path $sharePath -ChildPath $filename).ToString()
Start-Transcript
トランスクリプト ファイルへの完全なパスは、$Transcript 基本設定変数に格納されます。
$Transcript 基本設定変数の詳細については、「about_Preference_Variables」を参照してください。
例 4: Windows システムで相対パスを使用してトランスクリプトを開始する
Windows で OutputDirectory パラメーターで相対パスを使用する場合、パスは Documents ディレクトリに対する相対パスになります。
Start-Transcript -Path .\transcripts
Transcript started, output file is C:\Users\username\Documents\.\transcripts\PowerShell_transcript.HOSTNAME.8S6RpEfN.20251105152247.txt
例 5: Windows 以外のシステムで相対パスを使用してトランスクリプトを開始する
Windows 以外のシステムで OutputDirectory パラメーターと共に相対パスを使用する場合、パスはホーム ディレクトリに対する相対パスになります。
Start-Transcript -Path ./transcripts
Transcript started, output file is /home/username/./transcripts/PowerShell_transcript.hostname.ift21QeV.20251105151236.txt
パラメーター
-Append
このコマンドレットによって、既存のファイルの末尾に新しいトランスクリプトが追加されることを示します。 Path パラメーターを使用して、ファイルを指定します。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Confirm
コマンドレットを実行する前に確認を求めるメッセージが表示されます。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | False |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | cf |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Force
コマンドレットがトランスクリプトを既存の読み取り専用ファイルに追加できるようにします。 読み取り専用ファイルで使用すると、コマンドレットはファイルのアクセス許可を読み取り/書き込みに変更します。 このパラメーターを使用する場合、コマンドレットはセキュリティ制限をオーバーライドできません。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-IncludeInvocationHeader
このコマンドレットは、コマンドの実行時にタイムスタンプをログに記録することを示します。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-LiteralPath
トランスクリプト ファイルの場所を指定します。 Path パラメーターとは異なり、LiteralPath パラメーターの値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 一重引用符は、エスケープ シーケンスとして文字を解釈しないように PowerShell に通知します。
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | PSPath, LP |
パラメーター セット
ByLiteralPath
| 配置: | 0 |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-NoClobber
このコマンドレットが既存のファイルを上書きしないことを示します。 既定では、トランスクリプト ファイルが指定したパスに存在する場合、Start-Transcript は警告なしでファイルを上書きします。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | NoOverwrite |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-OutputDirectory
トランスクリプトを保存する特定のパスとフォルダーを指定します。 PowerShell によってトランスクリプト名が自動的に割り当てられます。 相対パスを使用する場合、パスは Windows 上の Documents ディレクトリに対する相対パスになります。 Linux および macOS では、パスはホーム ディレクトリに対する相対パスです。
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
ByOutputDirectory
| 配置: | 0 |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Path
トランスクリプト ファイルの場所を指定します。
.txt ファイルへのパスを入力します。 ワイルドカードは使用できません。 パス内のディレクトリのいずれかが存在しない場合、コマンドは失敗します。
パスを指定しない場合、Start-Transcript は $Transcript グローバル変数の値のパスを使用します。 この変数を作成していない場合、Start-Transcript はトランスクリプトを既定の場所とファイル名に格納します。
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
ByPath
| 配置: | 0 |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-UseMinimalHeader
既定で含まれる詳細ヘッダーではなく、トランスクリプトの先頭に短いヘッダーを追加します。 このパラメーターは PowerShell 6.2 で追加されました。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-WhatIf
コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | False |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | ウィスコンシン |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
CommonParameters
このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
String
このコマンドレットは、確認メッセージと出力ファイルへのパスを含む文字列を返します。
メモ
トランスクリプトを停止するには、Stop-Transcript コマンドレットを使用します。
セッション全体を記録するには、Start-Transcript コマンドをプロファイルに追加します。 詳細については、about_Profilesを参照してください。