Как очистить powershell в windows 10

По-умолчанию в Windows, все команды, введенные в консоли PowerShell, сохраняются в текстовый лог-файл. Благодаря этому вы можете в любой момент повторно

По-умолчанию в Windows, все команды, введенные в консоли PowerShell, сохраняются в текстовый лог-файл. Благодаря этому вы можете в любой момент повторно выполнить любую команду и просмотреть историю выполненных команд PowerShell даже после закрытия консоли или перезагрузки компьютера. В PowerShell сейчас используются два провайдера истории команда: история команд в текущей сессии (выводит командлет Get-History) и текстовый лог с предыдущими командами, которые сохраняет модуль PSReadLine.

Содержание:

  • Просмотр история команд в PowerShell
  • Поиск в истории команд PowerShell
  • Настройка истории команд PowerShell с помощью модуля PSReadLine
  • Как не сохранять определенные команды в историю PoweShell?
  • Использование Predictive IntelliSense для набора команд по истории
  • Очистка истории предыдущих команд в PowerShell
  • Импорт истории команд PowerShell в другую сессию

Просмотр история команд в PowerShell

Если нажать клавишу “вверх” в консоли PowerShell, перед вами появится последняя введенная вами команда. Если продолжить нажать клавишу «вверх» — вы увидите все команды, выполненные вами ранее. Таким образом с помощью клавиш «вверх» и «вниз» вы можете прокручивать историю команд PowerShell и повторно выполнять ранее набранные команды. Это удобно, если вам нужно быстро выполнить одну из предыдущих команд, не набирая ее заново.

Консоль PowerShell сохраняет полную историю команд, начиная с версии Windows PowerShell 5.1 (устанавливается по умолчанию начиная с Windows 10). В более ранних версиях Windows PowerShell (как и командная строка cmd) сохраняет историю выполненных команд только в текущей сессии PowerShell. Для просмотра истории предыдущих команд в текущей сессии используется командлет
Get-History
.

Чтобы вывести подробную информацию о ранее выполненных командах в текущей сессии PowerShell, в том числе время запуска/окончания команды:

Get-History | Format-List -Property *

get-history в powershell

Вы можете выполнить команду по ее ID:

Invoke-History 4

Если вы закрыли консоль PowerShell, то история команд сбрасывается и список в Get-History очищается.

Однако PowerShell 5.1 и PowerShell Core также сохраняют последние 4096 команд в тестовом файле в профиле каждого пользователя
%userprofile%AppDataRoamingMicrosoftWindowsPowerShellPSReadlineConsoleHost_history.txt
.
Вы можете открыть этот файл и просмотреть историю команд в любом текстовом редакторе. Например, чтобы открыть файл с журналом команд с помощью блокнота:

notepad (Get-PSReadLineOption | select -ExpandProperty HistorySavePath)

файл ConsoleHost_history.txt с историей ранее выполненных команд powershell

История ведется отдельно для консоли PowerShell, отдельно для ISE.

Если команда PowerShell требует длительное время на выполнение, вы увидите ее в истории команд только по ее завершении.

В cmd вы можете вывести историю команд в текущей сессии с помощью:

doskey /history

Для поиска используется клавиша
F7
.

история команд в cmd - doskey /history

Поиск в истории команд PowerShell

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

Если найденная команда вас не устраивает, чтобы продолжить поиск по истории, нажмите сочетание
CTRL+R
/
CTRL+S
еще раз. В результате на экране появится следующая команда, соответствующая шаблону поиска.

поиск команды в истории powershell

С помощью клавиши
F8
можно найти в истории команду, соответствующую тексту в текущей командной строке. Например, наберите
get-
и нажмите
F8
. В истории будет найдена последняя команда, соответствующая строке. Чтобы перейти к следующей команде истории, нажмите F8 еще раз.

powershell поиск в истории по F8

Также можно использовать символ
#
для поиска в истории команд. Например, чтобы найти последнюю команду, начинающуюся с
Get-WMI
, наберите
#get-wmi
и нажмите клавишу
Tab
. В консоли появится последняя команда, соответствующая шаблону:

как найти ранее выполненную команду в истории powershell

Для вывода списка команд в истории, соответствующих запросу, можно использовать:

Get-History | Select-String -Pattern "Get-"

и

Get-Content (Get-PSReadlineOption).HistorySavePath| Select-String -Pattern "Get-"

поиск в комнадах Get-History | Select-String pattern

Настройка истории команд PowerShell с помощью модуля PSReadLine

Функционал хранения истории команд в PowerShell встроен не в сам Windows Management Framework, а основан на дополнительном модуле PSReadLine, который существенно расширяет функционал консоли PowerShell. Модуль PSReadLine в Windows находится в каталоге C:Program FilesWindowsPowerShellModulesPSReadline и автоматически импортируется при запуске консоли PowerShell.

PSReadLine осуществляет подсветку синтаксиса в консоли, отвечает за возможность использования выделения текста мышкой и его копирование/вставку с помощью CTRL+C и CTRL+V.

Проверьте, что модуль загружен в вашу сессию PowerShell:

Get-Module

проверить что модуль psreadline установлен

Если модуль PSReadline не загружен, проверьте что он установлен и если нужно, установите его из онлайн репозитория PowerShell Gallery:

Get-Module -ListAvailable | where {$_.name -like "*PSReadline*"}

Install-Module PSReadLine

Полный список функций модуля PSReadLine для управления историей команд PowerShell и привязанных к ним клавишам можно вывести командой:

Get-PSReadlineKeyHandler | ? {$_.function -like '*hist*'}

Key       Function             Description
---       --------             -----------
Key       Function                Description
 ---       --------                -----------
UpArrow   PreviousHistory         Заменить введенные данные предыдущим элементом журнала
DownArrow NextHistory             Заменить введенные данные следующим элементом журнала
Ctrl+R    ReverseSearchHistory    Выполнить интерактивный поиск по журналу в обратном направлении
Ctrl+S    ForwardSearchHistory    Выполнить интерактивный поиск по журналу в направлении вперед
Alt+F7    ClearHistory            Удалить все элементы из журнала командной строки (не из журнала PowerShell)
F8        HistorySearchBackward   Искать предыдущий элемент журнала, который начинается с текущего ввода, например P...
Shift+F8  HistorySearchForward    Искать следующий элемент журнала, который начинается с текущего ввода, например Ne...
Unbound   ViSearchHistoryBackward Запускает новый поиск по журналу в направлении назад.
Unbound   BeginningOfHistory      Перейти к первому элементу журнала
Unbound   EndOfHistory            Перейти к последнему элементу (текущий ввод) в журнале

Get-PSReadlineKeyHandler

Выведите текущие настройки истории команд PowerShell модуля PSReadLine:

Get-PSReadlineOption | select HistoryNoDuplicates, MaximumHistoryCount, HistorySearchCursorMovesToEnd, HistorySearchCaseSensitive, HistorySavePath, HistorySaveStyle


Get-PSReadlineOption

Здесь могут быть интересны настройки следующих параметров:

  • HistoryNoDuplicates – нужно ли сохранять в истории PowerShell одинаковые команды;
  • MaximumHistoryCount – максимальное число сохраненных команд (по умолчанию сохраняются 4096 команд);
  • HistorySearchCursorMovesToEnd — нужно ли переходить в конец команды при поиске;
  • HistorySearchCaseSensitive – нужно ли учитывать регистр при выполнении поиска (по умолчанию при поиске в история команд регистр не учитывается);
  • HistorySavePath – путь к текстовому файлу, в который сохраняется история команд PowerShell;
  • HistorySaveStyle – особенности сохранения команд:
    • SaveIncrementally — команды сохраняются при выполнении (по-умолчанию)
    • SaveAtExit — сохранение истории при закрытии консоли
    • SaveNothing — не сохранять историю команд

Вы можете изменить настройки модуля PSReadLine с помощью команды Set-PSReadlineOption. Например, чтобы увеличить количество сохраняемых команд PowerShell в логе:

Set-PSReadlineOption -MaximumHistoryCount 10000

Если вам нужно, чтобы в историю команд PowerShell сохранялись не только выполненные команды, но и их вывод, вы можете настроить транскрибирование с помощью следующей функции. Просто добавьте ее в PowerShell профиль пользователя (notepad $profile.CurrentUserAllHosts):

Function StartTranscript {
Trap {
Continue
}
$TranScriptFolder = $($(Split-Path $profile) + 'TranscriptLog')
if (!(Test-Path -Path $TranScriptFolder )) { New-Item -ItemType directory -Path $TranScriptFolder }
Start-Transcript -Append ($($TranScriptFolder + $(get-date -format 'yyyyMMdd-HHmmss') + '.txt')) -ErrorVariable Transcript -ErrorAction stop
}
StartTranscript

расширенный лого команда в консоли powershell

Теперь в профиле пользователя в каталоге
%USERPROFILE%DocumentsWindowsPowerShellTranscriptLog
для каждого сенаса PowerShell будет содержаться подробный лог-файл.

Как не сохранять определенные команды в историю PoweShell?

В командной оболочке bash в Linux вы можете запретить сохранять в истории команды, которые начинаются с пробела (используется параметр HISTCONTROL= ignorespace). Вы можете настроить такое же поведение и для PowerShell.

Для этого, добавьте в PowerShell профиль текущего пользователя (
$profile.CurrentUserAllHosts
) следующий код:

Set-PSReadLineOption -AddToHistoryHandler {
    param($command)
    if ($command -like ' *') {
        return $false
    }
    return $true
} 

не сохранять определенные команды в историю powershellistoriyu

Теперь, если вы не хотите, чтобы ваша команда была сохранена в историю команд PowerShell, просто начните ее с пробела.

Также, начиная с версии модуля PSReadline v2.0.4, автоматически игнорируются и не сохраняются в историю команды, содержащие следующие ключевые слова: Password, Asplaintext, Token, Apikey, Secret. При этом вы можете командлеты из модуля управления паролями SecretManagement считаются безопасными и разрешены для сохранения.

Использование Predictive IntelliSense для набора команд по истории

В версии PSReadLine 2.2.2+ доступна новая функция PowerShell Predictive IntelliSense. Данная функция при наборе команды в консоли выводит наиболее подходящие команды из локальной истории команд.

В этом примере я набрал в консоли get-wm и функция Predictive IntelliSense предложила мне одну из команд, введенных ранее, которая соответствует моему вводу. Если эта команда мне подходит. Если меня устраивает эта команда, нужно нажать клавишу вправо чтобы принять эту команду и не набирать оставшиеся символы вручную.

Как использовать Predictive Intellisense в PowerShell

По умолчанию подсказки Predictive IntelliSense выводятся серым текстом и не очень хорошо читаются на черном фоне консоли PowerShell. Вы можете сделать текст подсказок более контрастным с помощью команды:

Set-PSReadLineOption -Colors @{ InlinePrediction = '#7A957A'}

Predictive IntelliSense по умолчанию включена начиная с PSReadLine 2.2.6. Чтобы включить ее вручную, выполните:

Set-PSReadLineOption -PredictionSource History

Чтобы сбросить предложение Predictive IntelliSense, нажмите Esc.

С помощью клавиши F2 можно переключиться в другое представление. Теперь вместо вывода одной наиболее подходящей команды (
InlineView
) будет выводится выпадающий список со всеми похожими командами (
ListView
).

список похожих команд в истории powershell

С помощью клавиш вверх/вниз вы можете быстро выбрать нужную команду из истории команд.

Predictive IntelliSense буте работать как в обычной командной строке pwsh.exe/powershell.exe, так и в Windows Terminal и Visual Studio Code.

Очистка истории предыдущих команд в PowerShell

Как мы рассказали выше, модуль PSReadline сохраняет все консольные команды PowerShell в текстовый файл. Однако в некоторых случаях администратору приходится вводить в консоли PowerShell различную конфиденциальную информацию (имена и пароли учетных записей, токены, адреса, и т.д.). Другой администратор сервера или атакующий может получить доступ к этим чувствительным данным в текстовом файле. В целях безопасности вы можете очистить журнал выполненных команд PowerShell или совсем отключить историю команд.

Командлет
Clear-History
позволяет очистить историю команд только в текущем сеансе PowerShell (очищается список предыдущих команд, которые выводит командлет Get-History).

Можно удалить из истории только одну предыдущую команду:

Clear-History -count 1 -newest

Или все команды по определенной маске:
Clear-History -CommandLine *set-ad*

Чтобы полностью удалить историю предыдущих команд PowerShell, нужно удалить текстовый файл, в который они сохраняются модулем PSReadline. Проще всего это сделать командой:

Remove-Item (Get-PSReadlineOption).HistorySavePath

После этого закройте сессию PoSh.
Чтобы полностью отключить ведение истории команд PowerShell, выполните команду:

Set-PSReadlineOption -HistorySaveStyle SaveNothing

очистить и отключить историю команд powershell

Импорт истории команд PowerShell в другую сессию

В некоторых случаях бывает удобно иметь под рукой один и тот же список часто-используемых команд PowerShell на различных компьютерах. Вы можете экспортировать текущую историю команд в xml файл и импортировать его на других компьютерах. Это можно сделать, скопировав файл ConsoleHost_history.txt в профиле пользователей на нужные компьютеры.
Также для экспорта команд из текущей сессии в файл можно использовать командлет
Export-Clixml
:

Get-History | Export-Clixml -Path c:pscommands_hist.xml

Для импорта команд из файла в другую сессию PoSh (на локальном или другом компьютере), выполните:

Add-History -InputObject (Import-Clixml -Path c:pscommands_hist.xml)

Add-History - импорт истории комманд powershell

Для автоматического импорта команд в файл при завершении сессии PoSh, можно привязать скрипт к событию завершения сессии PoSh (!! Сессия обязательно должна завершаться командной exit , а не простым закрытием окна PoSh):

$HistFile = Join-Path ([Environment]::GetFolderPath('UserProfile')).ps_history
Register-EngineEvent PowerShell.Exiting -Action { Get-History | Export-Clixml $HistFile } | out-null
if (Test-path $HistFile) { Import-Clixml $HistFile | Add-History }

Как использовать буфер командной строки

СВЯЗАННЫЙ: Geek School: Узнайте, как автоматизировать Windows с PowerShell

Технически PowerShell имеет два типа истории команд. Во-первых, это буфер командной строки, который фактически является частью графического терминального приложения PowerShell, а не частью базового приложения Windows PowerShell. Он предоставляет несколько основных функций:

  • Стрелка вверх : напоминает предыдущую команду, которую вы набрали. Нажмите клавишу несколько раз, чтобы просмотреть историю команд.
  • Стрелка вниз : вспомните следующую набранную вами команду. Нажмите клавишу несколько раз, чтобы просмотреть историю команд.
  • F8 : поиск в истории команд команды, соответствующей тексту в текущей командной строке. Итак, если вы хотите найти команду, которая начинается с «p», вы должны ввести «p» в командной строке, а затем несколько раз нажать F8, чтобы просмотреть команды в вашей истории, которые начинаются с «a».

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

Как просмотреть историю PowerShell

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

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

  Get-History 

Вы можете выполнить поиск в своей истории, отправив полученный результат в командлет Select-String и указав текст, который вы хотите найти. Замените «Пример» в командлете ниже текстом, который вы хотите найти:

  Get-История |  Select-String -Pattern "Пример" 

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

  Get-История |  Формат-Список -Свойства * 

По умолчанию командлет Get-History показывает только 32 самых последних записи истории. Если вы хотите просмотреть или найти большее количество записей истории, используйте параметр -Count чтобы указать, сколько записей истории PowerShell должен отображать, например:

  Get-History -Count 1000

 Get-History -Count 1000 |  Select-String -Pattern "Пример"

 Get-History -Count 1000 |  Формат-Список -Свойства * 

Как запускать команды из вашей истории

Чтобы запустить команду из своей истории, используйте следующий командлет, указав номер Id элемента истории, как показано в командлете Get-History :

  Invoke-History # 

Чтобы запустить две команды из своей истории вплотную, дважды используйте Invoke-History в одной строке, разделенных точкой с запятой. Например, чтобы быстро запустить первую команду в своей истории, а затем вторую, вы должны выполнить:

  Invoke-History 1; Invoke-History 2 

Как очистить историю PowerShell

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

  Чистая история 

Обратите внимание, что буфер командной строки отделен от истории PowerShell. Таким образом, даже после запуска Clear-History вы можете продолжать нажимать клавиши со стрелками вверх и вниз для прокрутки введенных вами команд. Однако если вы запустите Get-History , вы увидите, что ваша история PowerShell фактически пуста.

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

Если вы хотите очистить окно PowerShell после очистки истории, вы можете сделать это, выполнив команду Clear :

  ясно 

Как сохранить и импортировать историю PowerShell

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

  Get-История |  Export-Clixml -Path c:  users  name  desktop  commands.xml 

Это экспортирует вашу историю команд в виде подробного XML-файла со значениями «StartExecutionTime» и «EndExecutionTime» для каждой команды, которые сообщают вам, когда команда была выполнена и сколько времени потребовалось для ее завершения.

После того как вы экспортировали историю PowerShell в такой файл XML, вы (или кто-либо другой, кому вы отправляете файл XML) можете импортировать ее в другой сеанс PowerShell с помощью командлета Add-History:

  История добавления -InputObject (Import-Clixml -Path C:  users  name  desktop  commands.xml) 

Если вы выполните командлет Get-History после импорта такого XML-файла, вы увидите, что команды из XML-файла были импортированы в историю текущего сеанса PowerShell.

external help file Locale Module Name ms.date online version schema title

System.Management.Automation.dll-Help.xml

en-US

Microsoft.PowerShell.Core

12/09/2022

https://learn.microsoft.com/powershell/module/microsoft.powershell.core/clear-history?view=powershell-7.2&WT.mc_id=ps-gethelp

2.0.0

Clear-History

SYNOPSIS

Deletes entries from the PowerShell session command history.

SYNTAX

IDParameter (Default)

Clear-History [[-Id] <int[]>] [[-Count] <int>] [-Newest] [-WhatIf] [-Confirm] [<CommonParameters>]

CommandLineParameter

Clear-History [[-Count] <int>] [-CommandLine <string[]>] [-Newest] [-WhatIf] [-Confirm]
 [<CommonParameters>]

DESCRIPTION

Clear-History deletes the command history from a PowerShell session. Each PowerShell session has
its own command history. To display the command history, use the Get-History cmdlet.

By default, Clear-History deletes the entire command history from a PowerShell session. You can
use parameters with Clear-History to delete selected commands.

Clear-History does not clear the PSReadLine command history file. The PSReadLine module stores
a history file that contains every PowerShell command from every PowerShell session. From a
PowerShell prompt, use the up and down arrows on your keyboard to scroll through the command
history. To display the PSReadLine configuration for command history, use Get-PSReadLineOption.
PSReadLine shipped with PowerShell 5.0 and above. For more information, see
about_PSReadLine.

EXAMPLES

Example 1: Delete the command history from a PowerShell session

This command deletes all of the commands from a PowerShell session’s history.

  Id CommandLine
  -- -----------
   1 Set-Location .Test
   2 Update-Help
   3 Set-Location C:TestLogs
   4 Get-Location
Clear-History
Get-History
  Id CommandLine
  -- -----------
   5 Clear-History

The Get-History cmdlet displays the PowerShell session’s history. Clear-History deletes the
entire command history. Get-History displays the updated command history and confirms the prior
history was deleted.

Example 2: Delete the newest commands

This command uses the Count and Newest parameters to delete the newest commands from a
PowerShell session’s history.

  Id CommandLine
  -- -----------
   1 Set-Location C:Test
   2 Get-Command Clear-History
   3 Get-Command Clear-History -Syntax
   4 Get-Command Clear-History -ShowCommandInfo
   5 Get-Help Get-Alias
   6 Get-Command Get-ChildItem -Syntax
   7 Get-Help Clear-History
   8 Set-Location C:TestLogs
   9 Get-Help Get-Variable
  10 Get-Help Get-ChildItem
Clear-History -Count 5 -Newest
Get-History
  Id CommandLine
  -- -----------
   1 Set-Location C:Test
   2 Get-Command Clear-History
   3 Get-Command Clear-History -Syntax
   4 Get-Command Clear-History -ShowCommandInfo
   5 Get-Help Get-Alias
  11 Clear-History -Count 5 -Newest

The Get-History cmdlet displays the PowerShell session’s history. Clear-History is used to
delete the command history. The Count parameter specifies the number of commands to delete,
inclusive of the specified Id. The Newest parameter specifies that the newest commands are
cleared from the history. Get-History displays the updated command history and confirms that the
five newest commands were deleted, Id 6Id 10.

Example 3: Delete commands that match specific criteria

This command deletes commands that match specific criteria defined by the CommandLine parameter.

  Id CommandLine
  -- -----------
   1 Set-Location C:Test
   2 Get-Command Clear-History
   3 Get-Command Clear-History -Syntax
   4 Get-Command Clear-History -ShowCommandInfo
   5 Get-Help Get-Alias
   6 Get-Command Get-ChildItem -Syntax
   7 Get-Help Clear-History
Clear-History -CommandLine *Help*, *Syntax
Get-History
  Id CommandLine
  -- -----------
   1 Set-Location C:Test
   2 Get-Command Clear-History
   4 Get-Command Clear-History -ShowCommandInfo
   8 Clear-History -CommandLine *Help*, *Syntax

The Get-History cmdlet displays the PowerShell session’s history. Clear-History deletes the
command history. The CommandLine parameter specifies commands that contain Help or end with
Syntax. Get-History displays the updated command history and confirms that commands Id 3,
Id 5, Id 6, and Id 7 were deleted.

Example 4: Delete commands by Id number

This command deletes specific history items using the Id. To delete multiple commands, submit a
comma-separated list of Id numbers.

  Id CommandLine
  -- -----------
   1 Set-Location C:Test
   2 Get-History
   3 Get-Help Get-Alias
   4 Get-Command Clear-History
   5 Get-Command Clear-History -Syntax
   6 Get-Command Clear-History -ShowCommandInfo
Clear-History -Id 3, 5
Get-History
  Id CommandLine
  -- -----------
   1 Set-Location C:Test
   2 Get-History
   4 Get-Command Clear-History
   6 Get-Command Clear-History -ShowCommandInfo
   7 Get-History
   8 Clear-History -Id 3, 5

The Get-History cmdlet displays the PowerShell session’s history. Clear-History deletes the
command history. The Id parameter specifies which commands to delete. Get-History displays the
updated command history and confirms that Id 3 and Id 5 were deleted.

Example 5: Delete commands by Id number and count

This command uses the Id and Count parameters to delete command history. Commands are
deleted from the specified Id in reverse order, newest to oldest.

  Id CommandLine
  -- -----------
   1 Set-Location C:Test
   2 Get-Command Clear-History
   3 Get-Command Clear-History -Syntax
   4 Get-Command Clear-History -ShowCommandInfo
   5 Get-Help Get-Alias
   6 Get-Command Get-ChildItem -Syntax
   7 Get-Help Clear-History
   8 Set-Location C:TestLogs
   9 Get-Help Get-Variable
  10 Get-Help Get-ChildItem
Clear-History -Id 7 -Count 5
Get-History
  Id CommandLine
  -- -----------
   1 Set-Location C:Test
   2 Get-Command Clear-History
   8 Set-Location C:TestLogs
   9 Get-Help Get-Variable
  10 Get-Help Get-ChildItem
  11 Clear-History -Id 7 -Count 5

The Get-History cmdlet displays the PowerShell session’s history. Clear-History deletes the
command history. The Id parameter specifies to begin with Id 7. The Count parameter
specifies to delete five commands, inclusive of the specified Id. Get-History displays the
updated command history and confirms that five commands were deleted, Id 3Id 7.

PARAMETERS

-CommandLine

Deletes command history from a PowerShell session. The string must be an exact match or use
wildcards to match commands in the PowerShell session history displayed by Get-History. If you
enter more than one string, Clear-History deletes commands that match any of the strings. The
CommandLine parameter can be used with Count.

For strings with a space, use single quotations. For more information, see about_Quoting_Rules.

Type: System.String[]
Parameter Sets: CommandLineParameter
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: True

-Count

Specifies the number of history entries that Clear-History deletes. Commands are deleted in order,
beginning with the oldest entry in the history.

The Count and Id parameters can be used together. The Count parameter specifies the
number of commands to delete, inclusive of the specified Id. Beginning at the specified Id,
commands are deleted in reverse sequential order. For example, if the Id is 30 and the Count
is 10, Clear-History deletes items 21 through 30.

The Count and CommandLine parameters can be used together. Count specifies the number of
commands to delete that match CommandLine parameter value. The commands are deleted in
sequential order.

Type: System.Int32
Parameter Sets: (All)
Aliases:

Required: False
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Id

Specifies the command history Id that Clear-History deletes. To display Id numbers, use
the Get-History cmdlet. The Id numbers are sequential and commands keep their Id number
throughout a PowerShell session. The Id parameter can be used with Count and Newest.

Type: System.Int32[]
Parameter Sets: IDParameter
Aliases:

Required: False
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Newest

When the Newest parameter is used, Clear-History deletes the newest entries in the history. By
default, Clear-History deletes the oldest entries in the history.

The Newest parameter can be used with Id and Count. The Count parameter specifies
the number of commands to delete, inclusive of the specified Id. Beginning at the specified
Id, commands are deleted in sequential order. For example, if the Id is 30 and the Count
is 10, Clear-History deletes items 30 through 39.

Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Confirm

Prompts you for confirmation before running the Clear-History cmdlet.

Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases: cf

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-WhatIf

Shows what would happen if the Clear-History cmdlet runs. The cmdlet is not run.

Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases: wi

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable,
-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose,
-WarningAction, and -WarningVariable. For more information, see
about_CommonParameters.

INPUTS

None

You can’t pipe objects to this cmdlet.

OUTPUTS

None

This cmdlet returns no output.

NOTES

PowerShell includes the following aliases for Clear-History:

  • All platforms:
    • clhy

The PowerShell session history is a list of the commands entered during a PowerShell session. You
can view the history, add and delete commands, and run commands from the history. For more
information, see about_History.

The session history is managed separately from the history maintained by the PSReadLine module.
Both histories are available in sessions where PSReadLine is loaded. This cmdlet only works with
the session history. For more information see, about_PSReadLine.

RELATED LINKS

about_History

about_PSReadLine

about_Quoting_Rules

Add-History

Get-History

Invoke-History

Get-PSReadLineOption

Set-PSReadLineOption

external help file Locale Module Name ms.date online version schema title

System.Management.Automation.dll-Help.xml

en-US

Microsoft.PowerShell.Core

12/09/2022

https://learn.microsoft.com/powershell/module/microsoft.powershell.core/clear-history?view=powershell-7.2&WT.mc_id=ps-gethelp

2.0.0

Clear-History

SYNOPSIS

Deletes entries from the PowerShell session command history.

SYNTAX

IDParameter (Default)

Clear-History [[-Id] <int[]>] [[-Count] <int>] [-Newest] [-WhatIf] [-Confirm] [<CommonParameters>]

CommandLineParameter

Clear-History [[-Count] <int>] [-CommandLine <string[]>] [-Newest] [-WhatIf] [-Confirm]
 [<CommonParameters>]

DESCRIPTION

Clear-History deletes the command history from a PowerShell session. Each PowerShell session has
its own command history. To display the command history, use the Get-History cmdlet.

By default, Clear-History deletes the entire command history from a PowerShell session. You can
use parameters with Clear-History to delete selected commands.

Clear-History does not clear the PSReadLine command history file. The PSReadLine module stores
a history file that contains every PowerShell command from every PowerShell session. From a
PowerShell prompt, use the up and down arrows on your keyboard to scroll through the command
history. To display the PSReadLine configuration for command history, use Get-PSReadLineOption.
PSReadLine shipped with PowerShell 5.0 and above. For more information, see
about_PSReadLine.

EXAMPLES

Example 1: Delete the command history from a PowerShell session

This command deletes all of the commands from a PowerShell session’s history.

  Id CommandLine
  -- -----------
   1 Set-Location .Test
   2 Update-Help
   3 Set-Location C:TestLogs
   4 Get-Location
Clear-History
Get-History
  Id CommandLine
  -- -----------
   5 Clear-History

The Get-History cmdlet displays the PowerShell session’s history. Clear-History deletes the
entire command history. Get-History displays the updated command history and confirms the prior
history was deleted.

Example 2: Delete the newest commands

This command uses the Count and Newest parameters to delete the newest commands from a
PowerShell session’s history.

  Id CommandLine
  -- -----------
   1 Set-Location C:Test
   2 Get-Command Clear-History
   3 Get-Command Clear-History -Syntax
   4 Get-Command Clear-History -ShowCommandInfo
   5 Get-Help Get-Alias
   6 Get-Command Get-ChildItem -Syntax
   7 Get-Help Clear-History
   8 Set-Location C:TestLogs
   9 Get-Help Get-Variable
  10 Get-Help Get-ChildItem
Clear-History -Count 5 -Newest
Get-History
  Id CommandLine
  -- -----------
   1 Set-Location C:Test
   2 Get-Command Clear-History
   3 Get-Command Clear-History -Syntax
   4 Get-Command Clear-History -ShowCommandInfo
   5 Get-Help Get-Alias
  11 Clear-History -Count 5 -Newest

The Get-History cmdlet displays the PowerShell session’s history. Clear-History is used to
delete the command history. The Count parameter specifies the number of commands to delete,
inclusive of the specified Id. The Newest parameter specifies that the newest commands are
cleared from the history. Get-History displays the updated command history and confirms that the
five newest commands were deleted, Id 6Id 10.

Example 3: Delete commands that match specific criteria

This command deletes commands that match specific criteria defined by the CommandLine parameter.

  Id CommandLine
  -- -----------
   1 Set-Location C:Test
   2 Get-Command Clear-History
   3 Get-Command Clear-History -Syntax
   4 Get-Command Clear-History -ShowCommandInfo
   5 Get-Help Get-Alias
   6 Get-Command Get-ChildItem -Syntax
   7 Get-Help Clear-History
Clear-History -CommandLine *Help*, *Syntax
Get-History
  Id CommandLine
  -- -----------
   1 Set-Location C:Test
   2 Get-Command Clear-History
   4 Get-Command Clear-History -ShowCommandInfo
   8 Clear-History -CommandLine *Help*, *Syntax

The Get-History cmdlet displays the PowerShell session’s history. Clear-History deletes the
command history. The CommandLine parameter specifies commands that contain Help or end with
Syntax. Get-History displays the updated command history and confirms that commands Id 3,
Id 5, Id 6, and Id 7 were deleted.

Example 4: Delete commands by Id number

This command deletes specific history items using the Id. To delete multiple commands, submit a
comma-separated list of Id numbers.

  Id CommandLine
  -- -----------
   1 Set-Location C:Test
   2 Get-History
   3 Get-Help Get-Alias
   4 Get-Command Clear-History
   5 Get-Command Clear-History -Syntax
   6 Get-Command Clear-History -ShowCommandInfo
Clear-History -Id 3, 5
Get-History
  Id CommandLine
  -- -----------
   1 Set-Location C:Test
   2 Get-History
   4 Get-Command Clear-History
   6 Get-Command Clear-History -ShowCommandInfo
   7 Get-History
   8 Clear-History -Id 3, 5

The Get-History cmdlet displays the PowerShell session’s history. Clear-History deletes the
command history. The Id parameter specifies which commands to delete. Get-History displays the
updated command history and confirms that Id 3 and Id 5 were deleted.

Example 5: Delete commands by Id number and count

This command uses the Id and Count parameters to delete command history. Commands are
deleted from the specified Id in reverse order, newest to oldest.

  Id CommandLine
  -- -----------
   1 Set-Location C:Test
   2 Get-Command Clear-History
   3 Get-Command Clear-History -Syntax
   4 Get-Command Clear-History -ShowCommandInfo
   5 Get-Help Get-Alias
   6 Get-Command Get-ChildItem -Syntax
   7 Get-Help Clear-History
   8 Set-Location C:TestLogs
   9 Get-Help Get-Variable
  10 Get-Help Get-ChildItem
Clear-History -Id 7 -Count 5
Get-History
  Id CommandLine
  -- -----------
   1 Set-Location C:Test
   2 Get-Command Clear-History
   8 Set-Location C:TestLogs
   9 Get-Help Get-Variable
  10 Get-Help Get-ChildItem
  11 Clear-History -Id 7 -Count 5

The Get-History cmdlet displays the PowerShell session’s history. Clear-History deletes the
command history. The Id parameter specifies to begin with Id 7. The Count parameter
specifies to delete five commands, inclusive of the specified Id. Get-History displays the
updated command history and confirms that five commands were deleted, Id 3Id 7.

PARAMETERS

-CommandLine

Deletes command history from a PowerShell session. The string must be an exact match or use
wildcards to match commands in the PowerShell session history displayed by Get-History. If you
enter more than one string, Clear-History deletes commands that match any of the strings. The
CommandLine parameter can be used with Count.

For strings with a space, use single quotations. For more information, see about_Quoting_Rules.

Type: System.String[]
Parameter Sets: CommandLineParameter
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: True

-Count

Specifies the number of history entries that Clear-History deletes. Commands are deleted in order,
beginning with the oldest entry in the history.

The Count and Id parameters can be used together. The Count parameter specifies the
number of commands to delete, inclusive of the specified Id. Beginning at the specified Id,
commands are deleted in reverse sequential order. For example, if the Id is 30 and the Count
is 10, Clear-History deletes items 21 through 30.

The Count and CommandLine parameters can be used together. Count specifies the number of
commands to delete that match CommandLine parameter value. The commands are deleted in
sequential order.

Type: System.Int32
Parameter Sets: (All)
Aliases:

Required: False
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Id

Specifies the command history Id that Clear-History deletes. To display Id numbers, use
the Get-History cmdlet. The Id numbers are sequential and commands keep their Id number
throughout a PowerShell session. The Id parameter can be used with Count and Newest.

Type: System.Int32[]
Parameter Sets: IDParameter
Aliases:

Required: False
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Newest

When the Newest parameter is used, Clear-History deletes the newest entries in the history. By
default, Clear-History deletes the oldest entries in the history.

The Newest parameter can be used with Id and Count. The Count parameter specifies
the number of commands to delete, inclusive of the specified Id. Beginning at the specified
Id, commands are deleted in sequential order. For example, if the Id is 30 and the Count
is 10, Clear-History deletes items 30 through 39.

Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Confirm

Prompts you for confirmation before running the Clear-History cmdlet.

Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases: cf

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-WhatIf

Shows what would happen if the Clear-History cmdlet runs. The cmdlet is not run.

Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases: wi

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable,
-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose,
-WarningAction, and -WarningVariable. For more information, see
about_CommonParameters.

INPUTS

None

You can’t pipe objects to this cmdlet.

OUTPUTS

None

This cmdlet returns no output.

NOTES

PowerShell includes the following aliases for Clear-History:

  • All platforms:
    • clhy

The PowerShell session history is a list of the commands entered during a PowerShell session. You
can view the history, add and delete commands, and run commands from the history. For more
information, see about_History.

The session history is managed separately from the history maintained by the PSReadLine module.
Both histories are available in sessions where PSReadLine is loaded. This cmdlet only works with
the session history. For more information see, about_PSReadLine.

RELATED LINKS

about_History

about_PSReadLine

about_Quoting_Rules

Add-History

Get-History

Invoke-History

Get-PSReadLineOption

Set-PSReadLineOption

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

См. Историю команд PowerShell

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

  1. Клавиатурный метод
  2. Поиск вперед или назад в истории PowerShell
  3. Просмотреть всю историю этого сеанса
  4. Вызов определенной команды из истории команд PowerShell
  5. Искать в истории

В конце мы также объяснили, как можно очистить, экспортировать и импортировать историю команд PowerShell. Очень удобно, если вам нужно часто выполнять одни и те же команды.

1]Метод клавиатуры

Поиск с помощью F8 в PowerShell для поиска

Я уверен, что вы уже однажды использовали командную строку, если какое-то время пользовались Windows. Если вы используете клавиши со стрелками вверх и вниз, вы можете перемещаться вперед и назад по выполненным командам. То же самое относится и к PowerShell. Но вот изюминка. Если вы частично помните команду, вот как ее искать.

  • Введите часть команды, которую вы помните
  • Нажмите F8 и продолжайте нажимать, пока не найдете.
  • Термин поиска будет выделен флуоресцентным зеленым цветом, за ним следует остальная часть команды.

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

2]Искать вперед или назад в истории

Прямой обратный поиск PowerShell

Если вы хотите искать вперед или назад в истории, вы можете использовать Ctrl + R и Ctrl + S. Первый позволяет вам искать назад в истории, а второй — вперед. Как только вы воспользуетесь сочетанием клавиш, внизу должен появиться фрагмент (bck-i-search или fwd-i-search). Введите то, что вы хотите найти, и даже если текст принадлежит где-то в середине команды, он будет искать его. Это намного лучше по сравнению с методом F8, который мы использовали выше.

3]Просмотреть всю историю команд PowerShell этого сеанса

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

Введите History и нажмите клавишу Enter. Вы должны увидеть все команды, которые вы выполнили в текущем сеансе. Хотя вы можете просматривать команды, выполненные в предыдущем сеансе, с помощью клавиш со стрелками, в истории этого не будет. Если вы нажмете клавиша «H» и нажмите Enter, откроется история команд. Считайте это ярлыком для команды «История».

4]Вызов определенной команды из истории

Если вы заметили, на изображении выше есть идентификатор рядом с каждой командой. Если вы хотите выполнить одну конкретную команду из списка, вам нужно использовать Invoke-History.

  • Обратите внимание на идентификатор команды, которую вы хотите выполнить.
  • Тип Вызов истории . Замените точным числом
  • Нажмите клавишу Enter, и он выполнит эту команду из истории.

5]Поиск в истории

Выберите строку Получить историю Command PowerShell

Самый простой способ поиска в истории команд — использовать метод Select-String для вывода истории.

  • Введите следующее и замените Get на термин, который вы хотите найти.
  • Get-History | Select-String -Pattern «Получить».
  • Он покажет все команды, которые соответствуют командам поиска.

Поскольку у вас есть идентификатор, вы можете использовать команду «Вызов истории», чтобы выполнить ее мгновенно.

Очистить, экспортировать и импортировать историю PowerShell

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

К экспортировать все команды, вы можете использовать Экспорт-Clixml или Экспорт-CSV формат. Вот пример команды

Get-History | Export-Clixml -Path <Path>PSHistorycommands.xml

Get-History | Export-Csv -Path <Path>PSHistorycommands.csv

К импортировать эти команды обратно в другой или новый сеансиспользуйте следующую команду.

Add-History -InputObject (Import-Clixml -Path <Path>PSHistorycommands.xml)

Add-History -InputObject (Import-Csv -Path <Path>PSHistorycommands.csv)

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

См. Историю команд PowerShell

Windows PowerShell имеет встроенную функцию истории команд, которая предоставляет подробную информацию о выполненных командах. Подобно командной строке, PowerShell запоминает историю команд для текущего сеанса.

Как использовать буфер командной строки

PowerShell технически имеет два типа истории команд. Во-первых, есть буфер командной строки, который фактически является частью графического приложения терминала PowerShell, а не частью основного приложения Windows PowerShell. Он предоставляет несколько основных функций:

  • Стрелка вверх: Вспомните предыдущую команду, которую вы набрали. Несколько раз нажмите клавишу, чтобы просмотреть историю команд.
  • Стрелка вниз: Вспомните следующую команду, которую вы набрали. Несколько раз нажмите клавишу, чтобы просмотреть историю команд.
  • F8: Поиск в истории команд для команды, соответствующей тексту в текущей командной строке. Итак, если вы хотите выполнить поиск команды, начинающейся с «p», вы должны ввести «p» в командной строке, а затем повторно нажать F8 для циклического переключения команд в вашей истории, которые начинаются с «a».

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

Как просмотреть историю PowerShell

Сам Windows PowerShell хранит историю команд, введенных в текущий сеанс PowerShell. Вы можете использовать несколько включенных командлетов для просмотра и работы с вашей историей.

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

Get-History

Вы можете выполнить поиск в своей истории, соединив полученный результат с Select-String командлет и указав текст, который вы хотите найти. Замените «Пример» в командлете ниже текстом, который вы хотите найти:

Get-History |  Select-String -Pattern 'Example'

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

Get-History | Format-List -Property *

По умолчанию Get-History командлет показывает только 32 последних записей истории. Если вы хотите просмотреть или найти большее количество записей в истории, используйте -Count возможность указать, сколько записей истории PowerShell должно показать, например:

Get-History -Count 1000 Get-History -Count 1000 | Select-String -Pattern 'Example' Get-History -Count 1000 | Format-List -Property *

Как запускать команды из вашей истории

Чтобы запустить команду из своей истории, используйте следующий командлет, указав номер идентификатора элемента истории, как показано Get-History командлет:

Invoke-History #

Чтобы запустить две команды из вашей истории назад, используйте Invoke-History дважды в одной строке, разделенной точкой с запятой. Например, чтобы быстро запустить первую команду в своей истории, а затем вторую, вы должны запустить:

Invoke-History 1;Invoke-History 2

Как очистить историю PowerShell

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

Clear-History

Обратите внимание, что буфер командной строки отделен от истории PowerShell. Таким образом, даже после запуска Clear-History, вы можете продолжать нажимать клавиши со стрелками вверх и вниз для прокрутки введенных команд. Однако, если вы запустите Get-History, вы увидите, что ваша история PowerShell на самом деле пуста.

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

Если вы хотите очистить окно PowerShell после очистки истории, вы можете сделать это, запустив Clear команда:

Clear

Как сохранить и импортировать историю PowerShell

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

Get-History | Export-Clixml -Path c:users
amedesktopcommands.xml

Это экспортирует вашу историю команд в виде подробного XML-файла в комплекте с значениями «StartExecutionTime» и «EndExecutionTime» для каждой команды, которая сообщает вам, когда команда была запущена, и сколько времени потребовалось для завершения.

После того, как вы экспортировали свою историю PowerShell в такой XML-файл, вы (или кто-либо другой, кому вы отправляете XML-файл) можете импортировать его на другой сеанс PowerShell с помощью командлета Add-History:

Add-History -InputObject (Import-Clixml -Path C:users
amedesktopcommands.xml)

Если вы запустите Get-History cmdlet после импорта такого XML-файла, вы увидите, что команды из файла XML были импортированы в вашу текущую историю сеанса PowerShell.

  • Как использовать буфер командной строки
  • Как просмотреть историю PowerShell
  • Как запускать команды из вашей истории
  • Как очистить историю PowerShell
  • Как сохранить и импортировать историю PowerShell
  • Tweet

    Share

    Link

    Plus

    Send

    Send

    Pin

    Содержание

    • 1 Как вернуть командную строку вместо PowerShell в Windows 10
    • 2 Как отключить PowerShell в Windows 10
    • 3 Проверить PowerShell 2.0

    Kak-udalit-PowerShell-v-Windows-10-660x330.png

    Оболочка Windows PowerShell пришла в операционную систему Windows 10 на замену командной строки, хотя командная строка также получила обновление и возможность вставки команд с буфера обмена. Поскольку большинство пользователей привыкли к обычной командной строке, то даже замена пункта командной строки на оболочку PowerShell может показаться навязчивой.

    Данная статья расскажет как удалить Windows PowerShell и вернуть командную строку вместо PowerShell в Windows 10. Процесс удаления оболочки заключается в отключении компонента Windows PowerShell 2.0 или же только в замене пункта в контекстном меню. Обратите внимание, что полностью убрать оболочку Windows PowerShell не удастся, даже после полного отключения компонента.

    Как вернуть командную строку вместо PowerShell в Windows 10

    С выходом нового обновления операционной системы в контекстном меню пуска была сделана замена возможности выбора командной строки на Windows PowerShell. Корпорация Майкрософт оставила за пользователями возможность возврата командной строки вместо PowerShell.

    1. Открываем Пуск > Параметры > Персонализация > Панель задач.
    2. Дальше изменяем значение пункта Заменить командную строку оболочкой Windows PowerShell в меню, которое появляется при щелчке правой кнопкой мыши по кнопке Пуск или при нажатии клавиш Windows+X на Отключено.parametry-panel-zadach.png

    После чего в контекстном меню пуск появится доступная ранее командная строка. Смотрите также другие способы запуска командной строки в Windows 10. А также заменить PowerShell на командную строку можно использую редактор реестра. Обратите внимание что перед внесением изменений в реестр рекомендуется создать резервную копию реестра, а после внесения изменений необходимо выполнить перезагрузку компьютера или перезапуск проводника.

    1. Откройте редактор реестра выполнив команду regedit в окне Win+R.
    2. Дальше перейдите в расположение: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced.
    3. Измените значение параметра DontUsePowerShellOnWinX на 1.Kak-vernut-komandnuyu-stroku-vmesto-PowerShell-v-Windows-10.png

    Как отключить PowerShell в Windows 10

    Программы и компоненты

    Ранее мы уже рассматривали где находятся программы и компоненты в Windows 10, среди которых и присутствует оболочка Windows PowerShell 2.0. Включение и отключение компонента позволяет добавить или удалить оболочку Windows PowerShell в Windows 10. Полностью удалить компонент из системы последней версии не получится, и собственно в этом нет необходимости.

    1. Откройте компоненты Windows выполнив команду optionalfeatures в окне Win+R.
    2. Дальше найдите в открывшемся списке компонент Windows PowerShell 2.0 и отключите его.Kak-otklyuchit-PowerShell-v-Windows-10.png

    Чтобы отключить компонент, достаточно снять его флажок и применить изменения. Затемненный флажок означает, что компонент включен частично.

    Windows PowerShell

    Для отключения компонента можно использовать сам компонент Windows PowerShell. Пользователю достаточно запустить оболочку PowerShell и выполнить одну команду для отключения любого с компонентов.

    1. Запускаем оболочку выбрав в результатах поиска классическое приложение Windows PowerShell от имени администратора.
    2. В открывшемся окне выполняем следующую команду: Disable-WindowsOptionalFeature -Online -FeatureName MicrosoftWindowsPowerShellV2Root

    С помощью одной команды можно отключить ненужный компонент Windows PowerShell устаревшей версии. После отключения обновленный PowerShell пятой версии останется доступным.

    Заключение

    Вместе с обновлениями Windows 10 обновляются и компоненты операционной системы. Изменения потерпели множество компонентов, начиная от оболочки Windows PowerShelll, и включительно до компонента виртуализации Hyper-V Windows 10.

    После отключения компонента Windows PowerShell второй версии обновленный PowerShell останется. Но пользователи предпочитающие видеть командную строку в контекстном меню пуск могут нажатием одной кнопки её вернуть.

    —>

    На данный момент текущая версия Windows PowerShell — 5. PowerShell  по умолчанию предустановлен в Windows 10 и заменяет командную строку в меню пользователя Win X.

    PowerShell 5 — стабильная версия, работающая в вашей системе, однако старая версия PowerShell 2.0 по-прежнему включена, и представляет угрозу безопасности вашей системе, которая может использоваться для запуска вредоносных скриптов. Даже если вы получаете последние обновления безопасности для Windows 10, это не значит, что PowerShell 2.0 удален для всех пользователей. Он может быть все еще включен в вашей системе.

    Вот как вы можете проверить, какую версию вы используете и как отключить Windows PowerShell 2.0.

    Проверить PowerShell 2.0

    Откройте PowerShell от имени администратора и выполните следующую команду.

      Get-WindowsOptionalFeature -Online -FeatureName MicrosoftWindowsPowerShellV2

    otklyuchit-powershell.jpg

    В результатах, после выполнения этой командой, посмотрите строку State «Состояние». Если она говорит, что это оболочка версии 2.0 «Enabled» (Включена), вам необходимо ее отключить. Если команда возвращает значение «Disabled» (Отключено), вам не нужно ничего делать.

    Отключить Windows PowerShell 2.0

    Откройте PowerShell с правами администратора и выполните следующую команду;

      Disable-WindowsOptionalFeature -Online -FeatureName MicrosoftWindowsPowerShellV2Root

    otklyuchit-powershell-1.jpg

    Это отключит оболочку Windows PowerShell 2.0. Вы можете проверить это, выполнив первую команду еще раз. Строка State должна иметь значение «Disabled» (Отключено).

    otklyuchit-powershell-2.jpg

    Если вы нехотите выполнять команду в PowerShell, вы можете отключить эту функцию с помощью Панели управления. Откройте «Проводник» и введите в адресной строке следующее:

    Панель управленияПрограммы

    otklyuchit-powershell-2.0.jpg

    Нажмите «Включение или отключение компонентов Windows». Это откроет новое окно «Компоненты Windows». Может потребоваться некоторое время, чтобы загрузить список функций, которые вы можете включить / отключить. После загрузки списка прокрутите список до середины и найдите Windows PowerShell 2.0. Снимите флажок и нажмите «ОК».

    powershell-2.0.jpg

    Вам не нужно перезагружать систему, чтобы применить изменения.

    В чем заключается риск.

    В Windows PowerShell 5 есть функция защиты от вредоносных программ, которая сканирует и предотвращает запуск вредоносных сценариев, но механизм PowerShell 2.0 можно использовать для запуска атаки, которая может обойти проверку на наличие вредоносных программ. В конечном итоге это приведет к запуску вредоносного скрипта PowerShell в вашей системе.

    Отключение старой оболочки не должно иметь негативных последствий. Microsoft знает, что некоторые приложения по-прежнему используют PowerShell 2.0, но они работают, над тем, чтобы перенести их в более новую версию. Хотя компонент устарел, он все равно останется частью Windows 10 в обозримом будущем, и пользователи смогут его включить, если они этого захотят.

    Рейтинг: /5 — голосов —>

    —>

    В Windows 10 14971 стандартная командная строка в меню Win + X была заменена ее усовершенствованным аналогом PowerShell. В последней на данный момент стабильной сборке системы — Windows 10 1803 используется уже пятая версия этого инструмента, но вместе с тем в ней по-прежнему присутствует и работает устаревшая версия PowerShell 2.0. Консоль второй версии может использоваться некоторыми приложениями, но вместе с тем она представляет угрозу безопасности, делая возможным запуск в системе вредоносных скриптов.

    В настоящее время разработчиками Microsoft ведется работа над оптимизацией использующих PowerShell 2.0 приложений, по завершении которой устаревшая версия оболочки будет отключена, но вы можете не дожидаться этого момента и отключить ее самостоятельно. На работу Windows 10 это не должно повлиять, в случае же крайней необходимости включить PowerShell 2.0 вы сможете в любое время. Для начала стоит проверить, включена ли устаревшая версия в вашей системе вообще.

    Для этого запустите PowerShell от имени администратора и выполните такую команду:

    Обратите внимание на значение выведенного параметра State.

    5329295_1.jpg

    Если в системе активен PowerShell второй версии, оно будет Enabled (включено), в противном случае значение будет Disabled (отключено). Во втором случае ничего предпринимать не нужно, если же устаревшая версия консоли всё же окажется включенной, отключите ее, выполнив тут же следующую команду:

    5329295_2.jpg

    Чтобы окончательно убедиться, что PowerShell 2.0 действительно отключен, выполните первую команду и посмотрите значение параметра State.

    5329295_3.jpg

    Деактивировать устаревшую версию консоли можно также с помощью апплетауправления компонентами Windows. Запустите его командой optionalfeatures, найдите в списке компонентов пункт Windows PowerShell 2.0, снимите с него птичку и нажмите «OK».

    5329295_4.jpg

    Изменения вступят в силу сразу, перезагружать компьютер нет необходимости.

    5329295_5.jpg

    Используемые источники:

    • https://windd.ru/kak-udalit-powershell-v-windows-10/
    • https://g-ek.com/otklyuchit-powershell-2
    • https://www.white-windows.ru/kak-v-windows-10-otklyuchit-powershell-2-0-i-zachem-eto-nuzhno/
    Skip to content

    Powershell — очистка журнала команд

    Powershell — очистка журнала команд

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

    • Windows 2012 R2
    • Windows 2016
    • Windows 2019
    • Windows 2022
    • Windows 10
    • Окна 11

    Список оборудования

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

    Эта ссылка будет также показать список программного обеспечения, используемого для создания этого учебника.

    Похожий учебник — PowerShell

    На этой странице мы предлагаем быстрый доступ к списку учебников, связанных с PowerShell.

    Учебник Powershell — Очистка журнала команд

    Запустите командную линию Powershell.

    Start Powershell

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

    Отображение журнала команд Powershell.

    Очистите журнал команд Powershell.

    Удалите определенную команду из журнала Powershell.

    Очистите буфер командной строки.

    Существует несколько способов очистки буфера командной строки.

    Найдите файл журнала Powershell.

    Удалите файл журнала Powershell.

    Ограничьте количество команд, хранящихся в журнале Powershell.

    Отключите функции стрелки вверх и стрелки вниз.

    Поздравляю! Вы можете удалить журнал команд Powershell.

    Учебник Powershell — отключение журнала команд

    Запустите командную линию Powershell.

    Start Powershell

    Создайте профиль Powershell.

    Отредактируйте профиль Powershell.

    При необходимости отключите функции стрелки вверх и стрелки вниз.

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

    На компьютере должны быть разрешены сценарии Powershell.

    Поздравляю! Вы можете отключить функцию журнала команд Powershell.

    VirtualCoin CISSP, PMP, CCNP, MCSE, LPIC22022-01-28T00:18:06-03:00

    Related Posts

    Page load link

    Join Our Newsletter 

    Stay updated with the latest tutorials

    close-link

    This website uses cookies and third party services.

    Ok

    Как удалить PowerShell в Windows 10

    Оболочка Windows PowerShell пришла в операционную систему Windows 10 на замену командной строки, хотя командная строка также получила обновление и возможность вставки команд с буфера обмена. Поскольку большинство пользователей привыкли к обычной командной строке, то даже замена пункта командной строки на оболочку PowerShell может показаться навязчивой.

    Данная статья расскажет как удалить Windows PowerShell и вернуть командную строку вместо PowerShell в Windows 10. Процесс удаления оболочки заключается в отключении компонента Windows PowerShell 2.0 или же только в замене пункта в контекстном меню. Обратите внимание, что полностью убрать оболочку Windows PowerShell не удастся, даже после полного отключения компонента.

    С выходом нового обновления операционной системы в контекстном меню пуска была сделана замена возможности выбора командной строки на Windows PowerShell. Корпорация Майкрософт оставила за пользователями возможность возврата командной строки вместо PowerShell.

    1. Открываем Пуск > Параметры > Персонализация > Панель задач.
    2. Дальше изменяем значение пункта Заменить командную строку оболочкой Windows PowerShell в меню, которое появляется при щелчке правой кнопкой мыши по кнопке Пуск или при нажатии клавиш Windows+X на Отключено.

    После чего в контекстном меню пуск появится доступная ранее командная строка. Смотрите также другие способы запуска командной строки в Windows 10. А также заменить PowerShell на командную строку можно использую редактор реестра. Обратите внимание что перед внесением изменений в реестр рекомендуется создать резервную копию реестра, а после внесения изменений необходимо выполнить перезагрузку компьютера или перезапуск проводника.

    1. Откройте редактор реестра выполнив команду regedit в окне Win+R.
    2. Дальше перейдите в расположение: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced.
    3. Измените значение параметра DontUsePowerShellOnWinX на 1.Как вернуть командную строку вместо PowerShell в Windows 10

    Как отключить PowerShell в Windows 10

    Программы и компоненты

    Ранее мы уже рассматривали где находятся программы и компоненты в Windows 10, среди которых и присутствует оболочка Windows PowerShell 2.0. Включение и отключение компонента позволяет добавить или удалить оболочку Windows PowerShell в Windows 10. Полностью удалить компонент из системы последней версии не получится, и собственно в этом нет необходимости.

    1. Откройте компоненты Windows выполнив команду optionalfeatures в окне Win+R.
    2. Дальше найдите в открывшемся списке компонент Windows PowerShell 2.0 и отключите его.Как отключить PowerShell в Windows 10

    Чтобы отключить компонент, достаточно снять его флажок и применить изменения. Затемненный флажок означает, что компонент включен частично.

    Windows PowerShell

    Для отключения компонента можно использовать сам компонент Windows PowerShell. Пользователю достаточно запустить оболочку PowerShell и выполнить одну команду для отключения любого с компонентов.

    1. Запускаем оболочку выбрав в результатах поиска классическое приложение Windows PowerShell от имени администратора.
    2. В открывшемся окне выполняем следующую команду: [stextbox id=’download’]Disable-WindowsOptionalFeature -Online -FeatureName MicrosoftWindowsPowerShellV2Root[/stextbox]

    С помощью одной команды можно отключить ненужный компонент Windows PowerShell устаревшей версии. После отключения обновленный PowerShell пятой версии останется доступным.

    Заключение

    Вместе с обновлениями Windows 10 обновляются и компоненты операционной системы. Изменения потерпели множество компонентов, начиная от оболочки Windows PowerShelll, и включительно до компонента виртуализации Hyper-V Windows 10.

    После отключения компонента Windows PowerShell второй версии обновленный PowerShell останется. Но пользователи предпочитающие видеть командную строку в контекстном меню пуск могут нажатием одной кнопки её вернуть.

    Ужасно =/Так себе =(Пойдёт =|Хорошо =)Отлично =D (3 оценок, среднее: 2,33 из 5)

    Photo of Дмитрий

    Администратор и основатель проекта Windd.ru. Интересуюсь всеми новыми технологиями. Знаю толк в правильной сборке ПК. Участник программы предварительной оценки Windows Insider Preview. Могу с лёгкостью подобрать комплектующие с учётом соотношения цены — качества. Мой Компьютер: AMD Ryzen 5 3600 | MSI B450 Gaming Plus MAX | ASUS STRIX RX580 8GB GAMING | V-COLOR 16GB Skywalker PRISM RGB (2х8GB).

    Понравилась статья? Поделить с друзьями:

    Вот еще несколько интересных статей:

  • Как отформатировать ноутбук с windows vista
  • Как очистить pagefile sys windows 10
  • Как отформатировать ноутбук с windows 7 до заводских настроек самсунг
  • Как очистить onedrive на windows 10 без потери данных
  • Как отформатировать ноутбук с windows 7 до заводских настроек леново

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии