Start-Transcript

テキスト ファイルへの PowerShell セッションのすべてまたは一部のレコードを作成します。

構文

Start-Transcript
     [[-Path] <String>]
     [-Append]
     [-Force]
     [-NoClobber]
     [-IncludeInvocationHeader]
     [-UseMinimalHeader]
     [-WhatIf]
     [-Confirm] 
     [<CommonParameters>]
Start-Transcript
     [[-LiteralPath] <String>]
     [-Append]
     [-Force]
     [-NoClobber]
     [-IncludeInvocationHeader]
     [-UseMinimalHeader]
     [-WhatIf]
     [-Confirm] 
     [<CommonParameters>]
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

このコマンドは、ファイルC:\transcripts内のトランスクリプトをTranscript0.txt開始します。 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
Start-Transcript

トランスクリプト ファイルへの完全なパスは、基本設定変数に $Transcript 格納されます。 基本設定変数の$Transcript詳細については、about_Preference_Variablesを参照してください

パラメーター

-Append

このコマンドレットによって、既存のファイルの末尾に新しいトランスクリプトが追加されることを示します。 Path パラメーターを使用してファイルを指定します。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

コマンドレットがトランスクリプトを既存の読み取り専用ファイルに追加することを許可します。 読み取り専用ファイルで使用した場合、このコマンドレットはファイルのアクセス許可を読み取り/書き込みに変更します。 このパラメーターを使用する場合、コマンドレットはセキュリティ制限をオーバーライドできません。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IncludeInvocationHeader

このコマンドレットは、コマンドの実行時にタイムスタンプをログに記録することを示します。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LiteralPath

トランスクリプト ファイルの場所を指定します。 Path パラメーターとは異なり、LiteralPath パラメーターの値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 一重引用符は、エスケープ シーケンスとして文字を解釈しないように PowerShell に通知します。

Type:String
Aliases:PSPath, LP
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NoClobber

このコマンドレットが既存のファイルを上書きしないことを示します。 既定では、トランスクリプト ファイルが指定したパスに存在する場合は、 Start-Transcript 警告なしでファイルを上書きします。

Type:SwitchParameter
Aliases:NoOverwrite
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OutputDirectory

トランスクリプトを保存する特定のパスとフォルダーを指定します。 PowerShell によってトランスクリプト名が自動的に割り当てられます。

Type:String
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

トランスクリプト ファイルの場所を指定します。 ファイルへのパスを .txt 入力します。 ワイルドカードは許可されません。 パス内のディレクトリのいずれかが存在しない場合、コマンドは失敗します。

パスを指定しない場合は、 Start-Transcript グローバル変数の値のパスを $Transcript 使用します。 この変数を作成していない場合は、 Start-Transcript トランスクリプトを既定の場所とファイル名に格納します。

Type:String
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseMinimalHeader

既定で含まれる詳細ヘッダーではなく、トランスクリプトの先頭に短いヘッダーを追加します。 このパラメーターは PowerShell 6.2 で追加されました。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

コマンドレットの実行時に発生する内容を示します。 コマンドレットは実行されません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

None

このコマンドレットにオブジェクトをパイプすることはできません。

出力

String

このコマンドレットは、確認メッセージと出力ファイルへのパスを含む文字列を返します。

メモ

トランスクリプトを停止するには、コマンドレットを Stop-Transcript 使用します。

セッション全体を記録するには、プロファイルに Start-Transcript コマンドを追加します。 詳細については、「about_Profiles」を参照してください。