次の方法で共有


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:\transcriptsTranscript0.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 パラメーターを使用して、ファイルを指定します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Confirm

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

型:SwitchParameter
Aliases:cf
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Force

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

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-IncludeInvocationHeader

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

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-LiteralPath

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

型:String
Aliases:PSPath, LP
配置:0
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-NoClobber

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

型:SwitchParameter
Aliases:NoOverwrite
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-OutputDirectory

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

型:String
配置:0
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Path

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

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

型:String
配置:0
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-UseMinimalHeader

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

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WhatIf

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

型:SwitchParameter
Aliases:wi
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

None

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

出力

String

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

メモ

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

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