다음을 통해 공유


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>]

Description

Start-Transcript cmdlet은 PowerShell 세션의 전체 또는 일부 레코드를 텍스트 파일에 만듭니다. 대본에는 사용자가 입력하는 모든 명령과 콘솔에 표시되는 모든 출력이 포함됩니다.

기본적으로 Start-Transcript 기본 이름을 사용하여 다음 위치에 대본을 저장합니다.

  • Windows: $HOME\Documents
  • Linux 또는 macOS에서: $HOME

기본 파일 이름은 PowerShell_transcript.<computername>.<random>.<timestamp>.txt.

Windows PowerShell 5.0부터 Start-Transcript 모든 기록의 생성된 파일 이름에 호스트 이름을 포함합니다. 또한 파일 이름에는 두 개 이상의 대본을 동시에 시작할 때 잠재적인 덮어쓰기 또는 중복을 방지하기 위해 이름에 임의의 문자가 포함됩니다. 컴퓨터 이름을 포함하는 것은 중앙 집중식 위치에 대본을 저장하는 경우에 유용합니다. 임의 문자 문자열은 파일 이름을 추측하여 파일에 대한 무단 액세스를 얻을 수 없습니다.

대상 파일에 BOM(바이트 순서 표시)이 없는 경우 Start-Transcript 기본적으로 대상 파일의 Utf8NoBom 인코딩으로 설정됩니다.

예제

예제 1: 기본 설정으로 대본 파일 시작

Start-Transcript

이 명령은 기본 파일 위치에서 대본을 시작합니다.

예제 2: 특정 위치에서 대본 파일 시작

Start-Transcript -Path "C:\transcripts\transcript0.txt" -NoClobber

이 명령은 Transcript0.txtC:\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

이 cmdlet은 기존 파일의 끝에 새 대본을 추가한다는 것을 나타냅니다. Path 매개 변수를 사용하여 파일을 지정합니다.

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Confirm

cmdlet을 실행하기 전에 확인 메시지를 표시합니다.

매개 변수 속성

형식:SwitchParameter
Default value:False
와일드카드 지원:False
DontShow:False
별칭:cf(cf)

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Force

cmdlet이 기존 읽기 전용 파일에 대본을 추가할 수 있도록 허용합니다. 읽기 전용 파일에서 사용되는 경우 cmdlet은 파일 권한을 읽기/쓰기로 변경합니다. 이 매개 변수를 사용하는 경우 cmdlet은 보안 제한을 재정의할 수 없습니다.

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-IncludeInvocationHeader

명령이 실행될 때 이 cmdlet이 타임스탬프를 기록한다는 것을 나타냅니다.

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-LiteralPath

대본 파일의 위치를 지정합니다. Path 매개 변수와 달리 LiteralPath 매개 변수의 값은 입력된 대로 정확하게 사용됩니다. 와일드카드로 해석되는 문자는 없습니다. 경로에 이스케이프 문자가 포함된 경우 작은따옴표로 묶습니다. 작은따옴표는 PowerShell에 문자를 이스케이프 시퀀스로 해석하지 않도록 알립니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False
별칭:PSPath, Lp 로

매개 변수 집합

ByLiteralPath
Position:0
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-NoClobber

이 cmdlet이 기존 파일을 덮어쓰지 않음을 나타냅니다. 기본적으로 기록 파일이 지정된 경로에 있는 경우 Start-Transcript 경고 없이 파일을 덮어씁니다.

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False
별칭:NoOverwrite

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-OutputDirectory

대본을 저장할 특정 경로 및 폴더를 지정합니다. PowerShell은 대본 이름을 자동으로 할당합니다. 상대 경로를 사용하는 경우 경로는 Windows의 디렉터리를 기준으로 합니다 Documents . Linux 및 macOS에서 경로는 홈 디렉터리를 기준으로 합니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

ByOutputDirectory
Position:0
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Path

대본 파일의 위치를 지정합니다. .txt 파일의 경로를 입력합니다. 와일드카드는 허용되지 않습니다. 경로에 디렉터리 중 일부가 없으면 명령이 실패합니다.

경로를 지정하지 않으면 Start-Transcript$Transcript 전역 변수의 값에 경로를 사용합니다. 이 변수를 만들지 않은 경우 Start-Transcript 기본 위치 및 파일 이름에 대본을 저장합니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

ByPath
Position:0
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-UseMinimalHeader

기본적으로 포함된 자세한 헤더 대신 짧은 헤더를 대본 앞에 추가합니다. 이 매개 변수는 PowerShell 6.2에 추가되었습니다.

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-WhatIf

cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.

매개 변수 속성

형식:SwitchParameter
Default value:False
와일드카드 지원:False
DontShow:False
별칭:위스콘신

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

CommonParameters

이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.

입력

None

개체를 이 cmdlet에 파이프로 연결할 수 없습니다.

출력

String

이 cmdlet은 확인 메시지와 출력 파일의 경로를 포함하는 문자열을 반환합니다.

참고

대본을 중지하려면 Stop-Transcript cmdlet을 사용합니다.

전체 세션을 기록하려면 프로필에 Start-Transcript 명령을 추가합니다. 자세한 내용은 about_Profiles참조하세요.