Как в Powershell History смотреть и использовать историю команд


15 августа 2019


История команд в Powershell History

History - командлет, который возвращает в powershell историю команд аналогично Linux. Мы так же можем вызвать команду из истории, экспортировать и импортировать.

Что бы увидеть все команды по работе с историей выполните:

Get-Command -Noun History

Powershell history

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

У Get-History есть алиас history, так что можно использовать что вам удобнее.

С помощью этого командлета мы получим всю историю:

Get-History

У нас доступно два параметра:

  • id - получение команды по идентификатору
  • Count - число последних команд, которые должны вернуться

Следующий командлет исполнит команду по её id:

Invoke-History 129

Powershell Invoke history

Вместо ID можно написать и часть команды, но исполнится именно та, которая употреблялась чаще всего:

Invoke-History Get-Tem

Invoke-History id

Если сомневаетесь какая команда выполнится, то можете использовать ключ WhatIF, который сэмулирует действия без каких либо изменений.

Если у нас целый ряд команд, который мы хотим выполнить, то можно просто передать их через цикл. В моем случае это команделты с 162 по 166:

162..166 | % {Invoke-History -id $_}

Мы можем выгрузить данные в csv с Powershell:

Get-History | Export-Csv -Path C:\csv.csv -NoTypeInformation

Затем импортировать и добавить в историю команды:

$csv = Import-Csv -Path C:\csv.csv
Add-History -InputObject $csv

Отмечу, что команды импортируются под другими номерами.

Для очистки истории:

Clear-History

Очистить историю можно по:

  • id - по идентификатору
  • CommandLine - по точному соответствию команд
  • Count - определенное число
  • Newest - самые последние

Кроме этого, при получении истории у нас так же есть данные по времени запуска и окончании работы команд:

Get-History

Get-History time

...

Теги: #powershell


Популярные тэги
О блоге
Этот блог представляет собой конспекты выученного материала, преобретенного опыта и лучшие практики в системном администрировании и программировании.