Заметки о Windows и других программных продуктах Microsoft...

Start-Transcript и Stop-Transcript

Start-Transcript и Stop-Transcript

В PowerShell начиная с третьей версии есть два интересных командлета — Start-Transcript и Stop-Transcript. С их помощью мы можем записать в текстовый файл все действия, производимые в текущем сеансе PowerShell. Как следует из их названия, Start-Transcript предназначен для начала записи, а Stop-Transcript для ее завершения.

В самом простом варианте для начала записи достаточно выполнить команду Start-Transcript без параметров. В этом случае в профиле пользователя, в папке Documents будет автоматически создан текстовый файл примерно такого вида PowerShell_transcript.20140403134407.txt. Как видите, в имени файла содержится точная дата и время начала записи.

При желании можно дать файлу более осмысленное имя, например вот так:

Start-Transcript -Path C:\Logs\log01.txt -NoClobber

Здесь мы указываем производить запись в файл log01.txt, а параметр NoClobber запрещает перезаписывать существующий файл. Соответственно, если в указанной директории окажется файл файл с таким-же именем, то будет выдана ошибка. Для продолжения записи в существующий файл можно воспользоваться параметром Append, в этом случае запись будет производиться в конец файла. Ну и для записи в файл с атрибутом «только для чтения» нужно добавить параметр Force, например:

Start-Transcript -Path C:\Logs\log01.txt -Append -Force

Дальше производим необходимые действия и заканчиваем запись командой Stop-Transcript. Все, что происходило между этими двумя командами, будет отражено в файле.

Start-Transcript и Stop-Transcript

 

А вот содержимое файла. Все достаточно просто и наглядно. Поскольку Start-Transcript\Stop-Transcript сохраняют в том числе и все ошибки и предупреждения, их особенно удобно использовать в скриптах, для определения причин, по которым скрипт не отработал должным образом.

выходной файл

И один важный момент. Командлеты Start-Transcript и Stop-Transcript работают только из консоли PowerShell, при попытке запустить запись в редакторе PowerShell ISE будет выдана ошибка. Это ограничение можно обойти, загрузив специальный модуль Start-Transcript for ISE Editor.

 
 
Комментарии
Николай

Добрый день! А разве этой возможности не было в версии 2.0 ?

Да, тут я ошибся. Start-Transcript и Stop-Transcript были и во второй версии PowerShell.