посмотреть историю команд powershell

Как в Windows 10 просматривать и сохранять историю команд CMD и PowerShell

Работая в классической командной строке или PowerShell, вы в любой момент можете нажать F7 и просмотреть историю всех выполненных команд. И не только просмотреть, но и выбрать любую из них. Это очень удобная и полезная функция, которая позволяет экономить время при повторном наборе команд, но пользоваться ее преимуществами получится только в текущем сеансе.

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

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

Командная строка

Для получения списка выполненных команд помимо клавиши F7 можно использовать специальную команду doskey с ключом history. История выводится непосредственно в консоль и также доступна только в текущей сессии, поэтому для ее сохранения используем обычное перенаправление в файл, например, вот так, дешево и сердито:

doskey /history > C:/20.05.20.log

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

Формат файла истории не обязательно должен быть LOG, уместны также форматы TХT, HTML, CSV и даже RTF.

Утилита PowerShell

В случае с консолью PowerShell всё куда интереснее. Начиная с пятой версии консоль сохраняет все введенные и выполненные командлеты в текстовый лог ConsoleHost_history.tхt, расположенный по пути %userprofile%/AppData/Roaming/Microsoft/Windows/PowerShell/PSReadline.

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

Даже если вы завершите сессию в консоли и выключите компьютер, команды останутся сохраненными и будут доступны для вызова в PowerShell нажатием клавиши «Стрелка вверх». Каждое нажатие выводит предыдущую команду, но можно отобразить и весь список выполненных команд сразу. Делается это так:

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

Отвечающий за историю модуль поддерживает и другие функции. Если вы введете команду Get-PSReadlineOption, то получите в консоли приличный список доступных параметров. Ознакомиться с их назначением можно в официальной документации к PowerShell, но смысл некоторых из них понятен и так. К примеру, нетрудно догадаться, что ключ MaximumHistoryCount устанавливает максимальное число элементов, сохраняемых в список истории.

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

В целом, начинающему администратору вполне должно хватить данного функционала для облегчения работы в консоли. Если же вдруг при выполнении любой из приведенных выше команд появится ошибка «имя командлета не распознано», это с большой долей вероятности укажет на отсутствие требуемого модуля. Установить его в Windows 10 с PowerShell v5 можно командой Install-Module PSReadLine с последующим разрешением на подключение поставщика NuGet.

Источник

Как просмотреть историю команд из предыдущих сессий PowerShell в Windows 10

Windows PowerShell позволяет просматривать историю команд, выполненных во время текущего сеанса, с помощью команды Get-History. В сегодняшней статье мы рассмотрим как просмотреть полную историю команд всех предыдущих сессий в Windows 10.

Посмотреть историю команд из предыдущих сессий PowerShell

1. Чтобы использовать функциональность истории команд PowerShell, необходимо сначала установить модуль PSReadLine, введите команду Install-Module PSReadLine и нажмите Enter. Для продолжения требуется поставщик NuGet, нажмите Y на клавиатуре

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

2. Нажмите Y и Enter.

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

3. Чтобы посмотреть историю команд введите cat (Get-PSReadlineOption).HistorySavePath и нажмите Enter.

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

Чтобы посмотреть команды в текстовом файле, введите команду (Get-PSReadlineOption).HistorySavePath и нажмите Enter. Вы увидите путь к текстовому файлу.

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

Чтобы очистить историю команд введите Remove-Item (Get-PSReadlineOption).HistorySavePath и нажмите Enter.

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

Источник

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

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

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

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

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

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

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

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

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

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

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

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

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

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

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

Как работать с WMI в Powershell

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

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

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

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

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

Источник

sergey vasin

The IT blog

История команд в Windows PowerShell v5

В бете Windows PowerShell v5 присутствует интересная возможность — сохраняемая история команд.

Например, вы набрали и выполнили сложный запрос.

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

После чего закрыли консоль PowerShell, выключили компьютер и ушли домой.
Придя утром вы запустили Windows PowerShell, нажали клавишу со стрелкой вверх и что вы увидели?
Правильно, последнюю введенную вами команду. И — если продолжить нажимать конпку «вверх» — не только последюю.

История по-умолчанию сохраняется в папке %userprofile%\AppData\Roaming\PSReadline отдельно для консоли PowerShell и для ISE (хотя в билде 10122 для ISE это еще вроде как не работает).

Настраивается эта функция при помощи командлетов Get-PSReadlineOption и Set-PSReadlineOption.
Запустив Get-PSReadlineOption можно получить текущие настройки. Нас интересуют значения: AddToHistoryHandler, HistoryNoDuplicates, MaximumHistoryCount, HistorySearchCursorMovesToEnd, HistorySearchCaseSensitive, HistorySavePath и HistorySaveStyle.

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

Изменить эти значения можно посредством одноименных параметров командлета Set-PSReadlineOption.

В частности, параметр HistoryNoDuplicates отвечает за отдельное сохранение одинаковых команд (по-видимому, пока не работает), параметр MaximumHistoryCount задает максимальное число сохраненных команд, HistorySavePath — указывает путь, где должен находится файл, в котором будет сохраняться история.

Параметр HistorySaveStyle может принимать одно из трех значений: SaveAtExit — что указывает, что история должна сохраняться при закрытии консоли, SaveIncrementally — сохраняет команды при выполнении и является значением по умолчанию, SaveNothing — отключает сохранение истории.

Параметр HistorySearchCaseSensitive имеет отношение к функционалу, который в по умолчанию привязан к клавишам F8HistorySearchBackward и Shift+F8HistorySearchForward. Привязка настраивется командлетом Set-PSReadlineKeyHandler.

В чем состоит эта функциональность?
Например, если полсотни строк назад вы написали некую нужную команду

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

и уже не очень помните из чего же именно она состояла, а нажимать кнопку «вверх» те же самык полсотни раз большого желания нет, то вы можете сделать так. Набираете первые символы искомой строки, например

и нажимаете F8. Консоль предложит вам ближайшую (с точки зрения истории) команду, начинающуюся с этих символов. Посторное нажатие F8 перейдет на предыдущую команду с этими символами в начале и т.д.
Сочетание Shift+F8 отличается только тем, что выполняет поиск в другом направлении. Например, вы три раза нажали F8 и поняли, что второй вариант вам подходил больше. В этом случае вам как раз и поможет Shift+F8.

Параметр HistorySearchCursorMovesToEnd теоретически должен указывать, должен ли курсор переходить в конец строки при поиске в истории команд, однако, по-видимому, в текущем билде от также не работает (точнее работает все время, так как отключить его у меня не получилось).

Параметр HistorySearchCursorMovesToEnd по-видимому призван указывать, должен ли курсор переходить в конец строки при поиске в истории команд, однако, похоже, в текущем билде от также не работает (точнее работает все время, так как отключить его мне не удалось).

Что касается параметра AddToHistoryHandler, тут, пожалуй, стоит дожаться официальной документации.

Источник

Как получить историю команд PowerShell в Windows 10

от sasza

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

PowerShell в Windows 10 может предоставить вам историю каждой команды, выполненной в текущем сеансе, однако для многих пользователей этого недостаточно. Им нужна история команд, выполненных за сеанс. Если вам нужно получить историю команд PowerShell, а история только для текущего сеанса не помогает, есть сценарий и файл журнала, которые могут вам помочь.

История команд Текущий сеанс

Если вы используете PowerShell 5, вы можете получить историю команд для текущего сеанса, выполнив следующую команду;

По умолчанию PowerShell может сохранять до 50 команд, но вы можете изменить это, чтобы сохранить больше. Откройте PowerShell и щелкните правой кнопкой мыши строку заголовка. В контекстном меню перейдите в Свойства. В окне «Свойства» перейдите на вкладку «Параметры». Вы увидите раздел истории команд, в котором по умолчанию установлено 50. Измените его на более высокое значение.

Журнал истории PowerShell

Чтобы просмотреть журнал истории, вам необходимо сначала установить модуль PSReadLine с помощью следующей команды;

Затем выполните следующую команду, и она вернет местоположение файла. Файл в этом месте предоставит вам полную историю каждой команды, которую вы выполняете в PowerShell.

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

Межсессионная история команд PowerShell

Если там нет файла, откройте PowerShell и выполните следующую команду. Он откроет ваш файл профиля в Блокноте, но этот файл не существует, и PowerShell сообщит вам об этом и спросит, хотите ли вы его создать. Разрешите ему создать файл.

Закройте открывшийся файл блокнота. В PowerShell запустите эту команду, чтобы убедиться, что вы используете PowerShell 5.

Затем установите для политики выполнения значение RemoteSigned с помощью следующей команды.

Далее вам необходимо установить ПсУрл и PSЧитать модули. Вы можете установить их с помощью следующей команды, однако, если вы получите сообщение об ошибке, просто установите их вручную в соответствии с процессом, описанным на связанных страницах, или попробуйте добавить репозиторий в качестве надежного репозитория, а затем снова запустить команду.

Теперь, когда эти модули установлены, откройте этот файл;

Вставьте следующее в этот файл и сохраните его.

Чтобы просмотреть историю команд в PowerShell, вам необходимо запустить команду Get-History, однако есть один очень важный шаг, чтобы убедиться, что ваша история сохранена. Вы НЕ МОЖЕТЕ закрыть PowerShell, нажав кнопку закрытия. Вместо этого вы всегда должны закрывать его с помощью команды выхода.

посмотреть историю команд powershell. Смотреть фото посмотреть историю команд powershell. Смотреть картинку посмотреть историю команд powershell. Картинка про посмотреть историю команд powershell. Фото посмотреть историю команд powershell

Вы можете использовать клавиши со стрелками вверх и вниз для циклического перехода между предыдущими командами.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *