Добавляет записи в журнал сеанса.
Синтаксис
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 добавляет команды в файле в журнал сеанса.
См. также