Windows 10의 PowerShell은 현재 세션에서 실행한 모든 명령의 기록을 제공할 수 있지만 많은 사용자에게는 이것으로 충분하지 않습니다. 세션 간에 실행된 명령 기록이 필요합니다. PowerShell 명령 기록을 가져와야 하고 현재 세션에 대한 기록만으로는 트릭을 수행하지 못하는 경우 도움이 될 수 있는 스크립트와 로그 파일이 있습니다.
목차
명령 기록 현재 세션
PowerShell 5를 실행하는 경우 다음 명령을 실행하여 현재 세션에 대한 명령 기록을 가져올 수 있습니다.
Get-History
기본적으로 PowerShell은 최대 50개의 명령을 저장할 수 있지만 더 많이 저장하도록 변경할 수 있습니다. PowerShell을 열고 제목 표시줄을 마우스 오른쪽 버튼으로 클릭합니다. 상황에 맞는 메뉴에서 속성으로 이동합니다. 속성 창에서 옵션 탭으로 이동합니다. 기본값이 50으로 설정된 명령 기록 섹션이 표시됩니다. 더 높은 값으로 변경합니다.
PowerShell 기록 로그
기록 로그를 보려면 먼저 다음 명령을 사용하여 PSReadLine 모듈을 설치해야 합니다.
Install-Module PSReadLine
다음으로 다음 명령을 실행하면 파일 위치가 반환됩니다. 이 위치의 파일은 PowerShell에서 실행한 모든 명령의 전체 기록을 제공합니다.
(Get-PSReadlineOption).HistorySavePath
세션 간 PowerShell 명령 기록
이것은 약간 긴 과정이지만 그만한 가치가 있습니다. 이 솔루션은 인텔. 먼저 다음 위치를 열고 이 위치에 Microsoft.PowerShell_profile.ps1이라는 파일이 있는지 확인합니다.
C:Users<username>DocumentsWindowsPowerShell
파일이 없으면 PowerShell을 열고 다음 명령을 실행합니다. 메모장에서 프로필 파일이 열리지만 해당 파일은 존재하지 않으며 PowerShell은 많은 정보를 제공하고 생성 여부를 묻습니다. 파일을 생성하도록 허용합니다.
notepad $Profile
열려 있는 메모장 파일을 닫습니다. PowerShell에서 이 명령을 실행하여 PowerShell 5를 실행하고 있는지 확인합니다.
$PSVersionTable.PSVersion
다음으로 다음 명령을 사용하여 실행 정책을 RemoteSigned로 설정합니다.
set-executionpolicy remotesigned
다음으로 설치해야 합니다. PsUrl 그리고 PSReadline 모듈. 다음 명령으로 설치할 수 있지만 오류가 발생하면 링크된 페이지에 설명된 프로세스에 따라 수동으로 설치하거나 저장소를 신뢰할 수 있는 저장소로 추가한 다음 명령을 다시 실행해 보십시오.
install-module PsUrl
install-module PSReadline
이제 해당 모듈이 설치되었으므로 이 파일을 엽니다.
C:Users<username>DocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1
이 파일 안에 다음을 붙여넣고 저장합니다.
$HistoryFilePath = Join-Path ([Environment]::GetFolderPath('UserProfile')) .ps_history Register-EngineEvent PowerShell.Exiting -Action { Get-History | Export-Clixml $HistoryFilePath } | out-null if (Test-path $HistoryFilePath) { Import-Clixml $HistoryFilePath | Add-History } # if you don't already have this configured... Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward
PowerShell에서 명령 기록을 보려면 Get-History 명령을 실행해야 하지만 기록이 저장되었는지 확인하는 한 가지 매우 중요한 단계가 있습니다. 닫기 버튼을 클릭하여 PowerShell을 닫을 수 없습니다. 대신 항상 exit 명령으로 닫아야 합니다.
위쪽 및 아래쪽 화살표 키를 사용하여 이전 명령을 순환할 수 있습니다.