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


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

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

Параметры

-Append

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

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Confirm

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

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Force

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

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-IncludeInvocationHeader

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

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-LiteralPath

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

Тип:String
Aliases:PSPath, LP
Position:0
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-NoClobber

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

Тип:SwitchParameter
Aliases:NoOverwrite
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-OutputDirectory

Указывает определенный путь и папку, в которой нужно сохранить расшифровку. PowerShell автоматически назначает имя расшифровки.

Тип:String
Position:0
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Path

Указывает расположение файла расшифровки. Введите путь к файлу .txt. Подстановочные знаки не разрешены. Если ни один из каталогов в пути не существует, команда завершается ошибкой.

Если путь не указан, Start-Transcript использует путь в значении глобальной переменной $Transcript. Если вы не создали эту переменную, Start-Transcript хранит расшифровки в расположении по умолчанию и имени файла.

Тип:String
Position:0
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-UseMinimalHeader

Добавьте короткий заголовок к расшифровке вместо подробного заголовка, включенного по умолчанию. Этот параметр был добавлен в PowerShell 6.2.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

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

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

None

Невозможно передать объекты в этот командлет.

Выходные данные

String

Этот командлет возвращает строку, содержащую сообщение подтверждения и путь к выходному файлу.

Примечания

Чтобы остановить расшифровку, используйте командлет Stop-Transcript.

Чтобы записать весь сеанс, добавьте команду Start-Transcript в профиль. Дополнительные сведения см. в about_Profiles.