Добавляет записи в журнал сеанса.

Синтаксис

Add-History [[-InputObject] <PSObject[]>] [-PassThru] [<CommonParameters>]

Описание

Командлет Add-History добавляет записи в конец журнала сеанса, содержащего список команд, введенных за время текущего сеанса.

Командлет Get-History позволяет получить эти команды и передать их командлету Add-History либо экспортировать команды в файл CSV или XML, после чего импортировать команды и передать импортированный файл командлету Add-History. Этот командлет позволяет добавить определенные команды в журнал или создать единый файл журнала, в котором содержатся команды, введенные в течение нескольких сеансов.

Параметры

-InputObject <PSObject[]>

Добавляет указанный объект HistoryInfo в журнал сеанса. Этот параметр позволяет отправить объект HistoryInfo из командлета Get-History, Import-Clixml или Import-CSV в командлет Add-History.

Обязательно?

false

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByValue)

Принимать подстановочные знаки?

false

-PassThru

Возвращает объект истории для каждой записи журнала. По умолчанию этот командлет не формирует никаких выходных данных.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

<CommonParameters>

Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.

Ввод и вывод

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

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

Microsoft.PowerShell.Commands.HistoryInfo

Объект HistoryInfo можно передать командлету Add-History по конвейеру.

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

Нет или Microsoft.PowerShell.Commands.HistoryInfo

Если задан параметр PassThru, командлет Add-History создает объект HistoryInfo. В противном случае этот командлет не формирует никаких выходных данных.

Примечания

Журнал сеанса представляет собой список команд, введенных за время сеанса, вместе с идентификатором. В журнале сеанса представлен порядок выполнения, состояние, время начала и завершения выполнения команды. При вводе каждой команды Windows PowerShell добавляет ее в журнал, чтобы обеспечить возможность ее повторного использования. Дополнительные сведения о журнале сеанса см. в разделе about_History.

Команды, добавляемые в журнал, указываются при помощи параметра InputObject. Командлет Add-History принимает только объекты HistoryInfo, аналогичные тем, что формирует для каждой команды командлет Get-History. Передача пути и имени файла либо списка команд не поддерживается.

Параметр -InputObject можно использовать для передачи командлету Add-History файла с объектами HistoryInfo. Для этого экспортируйте результаты команды Get-History в файл с помощью Export-CSV или Export-Clixml, а затем импортируйте файл с помощью Import-CSV или Import-Clixml. После этого можно передать файл с импортированными объектами HistoryInfo командлету Add-History по конвейеру или в переменной. Дополнительные сведения см. в примерах.

Файл объектов HistoryInfo, передаваемый командлету Add-History, должен содержать сведения о типах, заголовки столбцов и все свойства объектов HistoryInfo. Если объекты должны быть переданы командлету Add-History, не используйте в командлете Export-CSV параметр NoTypeInformation и не удаляйте сведения о типах, заголовки столбцов и какие-либо поля в этом файле.

Чтобы отредактировать журнал сеанса, экспортируйте журнал в файл CSV или XML, отредактируйте этот файл, импортируйте его и воспользуйтесь командлетом Add-History для добавления его в текущий журнал сеанса.

Пример 1

C:\PS>get-history | export-csv c:\testing\history.csv

C:\PS>import-csv history.csv | add-history

Описание
-----------
Эти команды добавляют команды, набранные в сеансе Windows PowerShell, в журнал другого сеанса Windows PowerShell. Первая команда извлекает объекты, представляющие команды в журнале, и экспортирует их в файл History.csv. Вторая команда должна быть набрана в командной строке другого сеанса. Она использует командлет Import-Csv для импорта объектов в файле History.csv. Оператор конвейера передает объекты командлету Add-History, который добавляет объекты, представляющие команды в файле History.csv, в текущий журнал сеанса.






Пример 2

C:\PS>import-clixml c:\temp\history.xml | add-history -passthru | foreach-object {invoke-history}

Описание
-----------
Эта команда импортирует команды из файла History.xml, добавляет их в текущий журнал сеанса и исполняет команды из объединенного журнала. 

Первая команда использует командлет Import-Clixml для импорта журнала команд, экспортированных в файл History.xml. Оператор конвейера (|) передает команды в качестве параметра командлету Add-History, который добавляет их в текущий журнал сеанса. Параметр PassThru обеспечивает передачу объектов, представляющих добавленные команды, дальше по конвейеру. 

Затем команда использует командлет ForEach-Object, чтобы применить команду Invoke-History ко всем командам в объединенном журнале. Команда Invoke-History оформляется как блок скрипта, который заключается в фигурные скобки ({}), поскольку для командлета ForEach-Object необходимо использовать блок скрипта для применения даже одной команды.






Пример 3

C:\PS>get-history -id 5 -count 5 | add-history

Описание
-----------
Эта команда добавляет первые пять команд журнала команд в конец списка в журнале сеанса. Командлет Get-History используется для извлечения пяти команд, завершающихся командой 5. Оператор конвейера (|) передает их командлету Add-History, который добавляет их в текущий журнал. Команда Add-History не включает никаких параметров, но Windows PowerShell связывает объекты, переданные по конвейеру, с параметром InputObject.






Пример 4

C:\PS>$a = import-csv c:\testing\history.csv

C:\PS>add-history -inputobject $a -passthru

Описание
-----------
Эти команды добавляют команды в файле History.csv в текущий журнал сеанса. Первая команда использует командлет Import-Csv для импорта команд в файл History.csv и сохранения их содержимого в переменную $a. Вторая команда с помощью командлета Add-History добавляет команды из файла History.csv в текущий журнал сеанса. Параметр InputObject задает переменную $a, а параметр PassThru формирует объект для вывода в командной строке. Если параметр PassThru не используется, командлет Add-History ничего не выводит на дисплей.






Пример 5

C:\PS>add-history -inputobject (import-clixml c:\temp\history01.xml)

Описание
-----------
Эта команда добавляет команды в файле History01.xml в текущий журнал сеанса. Параметр InputObject используется для передачи результатов команды в круглых скобках командлету Add-History. Команда, заключенная в круглые скобки и выполняемая первой, импортирует файл History01.xml в Windows PowerShell. Затем Add-History добавляет команды в файле в журнал сеанса.






См. также




Содержание