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


Invoke-History

Выполняет команды из журнала сеансов.

Синтаксис

Invoke-History
      [[-Id] <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Описание

Командлет Invoke-History выполняет команды из журнала сеансов. Объекты, представляющие команды из Get-History, можно передать в Invoke-Historyили определить команды в текущей истории с помощью идентификатора номера. Чтобы найти идентификационный номер команды, используйте командлет Get-History.

Журнал сеансов управляется отдельно от журнала, поддерживаемого модулем PSReadLine. Обе истории доступны в сеансах, где загружается PSReadLine. Этот командлет работает только с журналом сеансов. Дополнительные сведения см. в about_PSReadLine.

Примеры

Пример 1. Выполнение последней команды в журнале

В этом примере выполняется последняя или последняя команда в журнале сеансов. Эту команду можно сократить как r, псевдоним для Invoke-History.

Invoke-History

Пример 2. Выполните команду с указанным идентификатором

В этом примере выполняется команда в журнале сеансов с идентификатором 132. Так как имя параметра id является необязательным, можно сократить эту команду следующим образом: Invoke-History 132, ihy 132или r 132.

Invoke-History -Id 132

Пример 3. Выполнение последней команды с помощью текста команды

В этом примере выполняется последняя команда Get-Process в журнале сеансов. При вводе символов для параметра идентификатора выполняется первая команда, которая соответствует шаблону, начиная с последних команд.

Invoke-History -Id get-pr

Заметка

Сопоставление шаблонов не учитывает регистр, но шаблон соответствует началу строки.

Пример 4. Выполнение последовательности команд из журнала

В этом примере выполняются команды от 16 до 24. Так как вы можете перечислить только одно значение идентификатора, команда использует командлет ForEach-Object для выполнения команды Invoke-History один раз для каждого значения идентификатора.

16..24 | ForEach-Object {Invoke-History -Id $_ }

Пример 5

В этом примере выполняются семь команд в журнале, заканчивающиеся командой 255 (249–255). Он использует командлет Get-History для получения команд. Так как вы можете перечислить только одно значение идентификатора , команда использует командлет для выполнения команды один раз для каждого значения идентификатора.

Get-History -Id 255 -Count 7 | ForEach-Object {Invoke-History -Id $_.Id}

Параметры

-Confirm

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

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

-Id

Задает идентификатор команды в журнале. Вы можете ввести идентификатор номер команды или первые несколько символов команды.

Если вы вводите символы, Invoke-History сначала соответствует самым последним командам. Если этот параметр не указан, Invoke-History выполняется последняя или последняя команда. Чтобы найти идентификатор команды, используйте командлет Get-History.

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

-WhatIf

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

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

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

String

Вы можете передать журнал идентификатор в этот командлет.

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

None

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

Примечания

PowerShell включает следующие псевдонимы для Invoke-History:

  • Все платформы:
    • ihy
    • r

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