PowerShell은 관리자와 개발자를 위한 강력한 도구이지만 반복적인 작업은 속도를 늦출 수 있습니다. cmdlet 기록을 관리하고 PSReadLine의 기능을 활용하면 워크플로를 간소화하고 시간을 절약하며 생산성을 높일 수 있습니다. 이 가이드에서는 PowerShell cmdlet 기록과 PSReadLine을 최대한 활용하기 위한 실용적인 팁과 시나리오를 안내합니다.
cmdlet 기록 관리가 중요한 이유
복잡한 명령어 시퀀스를 반복적으로 실행하거나 여러 줄에 걸친 스크립트 문제를 해결한다고 상상해 보세요. 명령을 다시 입력하거나 오래된 스크립트를 검색하는 대신 cmdlet 기록에 액세스하여 빠르게 재사용할 수 있습니다. PSReadLine를 사용하면 환경을 사용자 지정하고 예측 IntelliSense를 활성화하여 한 단계 더 나아갈 수 있습니다.
cmdlet 기록 액세스
PowerShell은 명령 기록을 파일에 자동으로 저장하므로 참조하거나 편집하기 쉽습니다. 액세스 방법은 다음과 같습니다.
cmdlet 기록 파일 위치
cmdlet 기록 파일은 다음 위치에 있습니다.C:\Users\%USERPROFILE%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine

cmdlet 기록 관리 단계
- 파일 찾기
폴더를 열고 다음 파일을 찾으세요. 파일 이름:ConsoleHost_history.txt. - 파일 편집
모든 텍스트 편집기(예: 메모장, VS Code)를 사용하여 명령을 추가, 제거 또는 수정합니다. - 바로 가기 만들기
빠른 액세스를 위해 바탕 화면에 파일 바로 가기를 만듭니다.
일반적인 사용 사례
일반적인 시나리오는 서버 유지 관리를 위해 일련의 명령을 재사용하는 것입니다. 예를 들어 서비스를 다시 시작하거나 로그를 확인하거나 설정을 구성하는 명령을 자주 실행하는 경우 이러한 명령을 기록 파일에 저장하여 빠르게 액세스할 수 있습니다.
PSReadLine의 잠재력을 최대한 활용하기
PSReadLine은 PowerShell 콘솔 환경을 향상시키는 모듈입니다. 구문 색상 지정, 예측 IntelliSense, 사용자 지정 키 바인딩과 같은 기능을 제공하여 PowerShell 작업을 더 쉽게 해줍니다.
PSReadLine의 주요 기능
- 구문 색상 지정
구문 오류를 강조 표시하고 명령을 더 읽기 쉽게 만듭니다. - 예측 IntelliSense
기록 또는 플러그인을 기반으로 명령을 자동 제안합니다. - 사용자 지정 키 바인딩
키를 사용자 지정 작업에 매핑하여 더 빠르게 실행합니다. - 여러 줄 편집
여러 줄 명령을 원활하게 편집하고 실행합니다. - 동적 도움말 표시
현재 위치를 잃지 않고 콘솔에 직접 도움말 정보를 표시합니다.
PSReadLine 사용 실용 시나리오
시나리오 1: 반복 작업 자동화
웹 서버를 자주 다시 시작하고 상태를 확인한다고 가정해 보세요. 매번 이러한 명령을 입력하는 대신 기록에 저장하거나 바로 가기 키에 바인딩할 수 있습니다.
Restart-Service -Name "WebServer"
Get-Service -Name "WebServer" | Select-Object Status
시나리오 2: 예측 IntelliSense로 명령 더 빠르게 찾기
예측 IntelliSense를 사용하면 명령을 빠르게 찾아 실행할 수 있습니다. 예를 들어 자주 사용하는 명령이 Get-Process인 경우 “Get”을 입력하면 기록에서 가져온 명령이 제안되며, 여기에는 Get-Process.
예측 IntelliSense를 활성화하려면:
Set-PSReadLineOption -PredictionSource History
시나리오 3: 효율성을 위한 사용자 지정 키 바인딩
키를 바인딩하여 명령 기록을 뒤로 빠르게 검색할 수 있습니다.
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
또는 명령을 실행하지 않고 기록에 저장하는 사용자 지정 바인딩을 만들 수 있습니다.
$parameters = @{
Key = 'Alt+w'
ScriptBlock = {
$line = $null
$cursor = $null
[Microsoft.PowerShell.PSConsoleReadLine]::GetBufferState([ref]$line, [ref]$cursor)
[Microsoft.PowerShell.PSConsoleReadLine]::AddToHistory($line)
[Microsoft.PowerShell.PSConsoleReadLine]::RevertLine()
}
}
Set-PSReadLineKeyHandler @parameters
시나리오 4: 안전한 명령 기록 관리
PSReadLine은 보안을 보호하기 위해 기록 파일에서 암호와 토큰 같은 중요한 데이터를 필터링합니다. 예를 들면 다음과 같습니다.
$password = 'MySecurePassword'
Set-Secret -Name "MySecret" -SecretValue $password
이러한 명령은 기록 파일에 저장되지 않습니다.
PSReadLine 설치
PSReadLine은 PowerShell 갤러리에서 사용할 수 있습니다. 설치하려면 다음을 실행합니다.
Install-Module -Name PSReadLine -AllowClobber -Force
참고: PSReadLine에는 PowerShell 5.1 이상이 필요합니다. Windows 터미널, Visual Studio Code 및 기본 Windows 콘솔 호스트에서 작동하지만 Windows PowerShell ISE에서는 작동하지 않습니다.
버전 하이라이트
PSReadLine은 Windows PowerShell 5.1에서의 초기 릴리스 이후 크게 발전했습니다. 주요 버전은 다음과 같습니다.
- v2.3.6: PowerShell 7.4.7 및 7.5.0과 함께 제공
- v2.3.4: 중요한 데이터 삭제 기능이 개선되었습니다.
- v2.2.6: 여러 줄 편집과 예측 IntelliSense가 향상되었습니다.
자세한 내용은 about_PSReadLine 릴리스 정보.
PSReadLine 자세히 알아보기
추가 기능과 예는 공식 문서를 확인하세요.