Поделиться через


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 включает имя узла в созданном имени файла всех расшифровок. Имя файла также содержит случайные символы в именах, чтобы предотвратить возможные перезаписи или дублирование при одновременном запуске двух или более расшифровок. Включение имени компьютера полезно при хранении расшифровок в централизованном расположении. Строка случайного символа предотвращает угадывание имени файла, чтобы получить несанкционированный доступ к файлу.

Если целевой файл не имеет метки порядка байтов (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

При использовании относительного пути с параметром OutputDirectory в Windows путь относится к каталогу Documents .

Start-Transcript -Path .\transcripts
Transcript started, output file is C:\Users\username\Documents\.\transcripts\PowerShell_transcript.HOSTNAME.8S6RpEfN.20251105152247.txt

Пример 5. Запуск расшифровки с помощью относительного пути в системах, отличных от Windows

При использовании относительного пути с параметром OutputDirectory в системах, отличных от Windows, путь относится к домашнему каталогу.

Start-Transcript -Path ./transcripts
Transcript started, output file is /home/username/./transcripts/PowerShell_transcript.hostname.ift21QeV.20251105151236.txt

Параметры

-Append

Указывает, что этот командлет добавляет новую расшифровку в конец существующего файла. Используйте параметр пути , чтобы указать файл.

Свойства параметров

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Confirm

Запрашивает подтверждение перед запуском cmdlet.

Свойства параметров

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:cf

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Force

Позволяет командлету добавлять расшифровку в существующий файл только для чтения. При использовании в файле, доступном только для чтения, командлет изменяет разрешение файла на чтение и запись. Командлет не может переопределить ограничения безопасности при использовании этого параметра.

Свойства параметров

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-IncludeInvocationHeader

Указывает, что этот командлет регистрирует метку времени при выполнении команд.

Свойства параметров

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-LiteralPath

Указывает расположение файла расшифровки. В отличие от параметра пути значение параметра ЛитерPath используется точно так же, как и типизированный параметр. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки сообщают PowerShell о том, что никакие символы не интерпретируются как escape-последовательности.

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:PSPath, LP

Наборы параметров

ByLiteralPath
Position:0
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-NoClobber

Указывает, что этот командлет не перезаписывает существующий файл. По умолчанию, если файл расшифровки существует в указанном пути, Start-Transcript перезаписывает файл без предупреждения.

Свойства параметров

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:NoOverwrite

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-OutputDirectory

Указывает определенный путь и папку, в которой нужно сохранить расшифровку. PowerShell автоматически назначает имя расшифровки. Если вы используете относительный путь, путь относится к Documents каталогу в Windows. В 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

Показывает, что произойдет, если командлет будет запущен. Командлет не выполняется.

Свойства параметров

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:wi

Наборы параметров

(All)
Position: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.