매입 프로세스 매입 품목 견적 신청 고객 후기 FAQ 콘텐츠
데이터 삭제·보안

PC 반납 전 PowerShell 명령어 기록 ConsoleHost_history.txt 완전 소거 가이드

PC 반납 전 PowerShell 명령어 기록 ConsoleHost_history.txt 완전 소거 가이드

TL;DR

PowerShell v5.0 이상 환경에서는 사용자가 입력한 모든 명령어 내역이 ConsoleHost_history.txt 텍스트 파일에 자동으로 영구 저장됩니다. 단순히 Clear-History 명령을 실행하는 것은 현재 세션 메모리만 비울 뿐 디스크 파일은 남아있으므로, PC 반납 시에는 해당 파일 경로를 직접 찾아 안전하게 덮어써서 파기해야 합니다.

핵심 개념

PowerShell은 Windows Management Framework 5.0부터 PSReadLine 모듈을 기본 탑재하여 콘솔 입력 편의성을 제공합니다. 이 과정에서 사용자가 입력한 모든 명령어가 사용자 프로필 디렉터리 내 텍스트 파일로 자동 기록됩니다.

개발자나 시스템 관리자가 작업 중 입력한 API 인증 키, SSH 접속 서버 IP, 계정 암호(인라인 파라미터), internal Domain 주소 등이 평문(Plaintext) 상태로 노출될 위험이 있습니다. 일반적인 윈도우 포맷이나 단순 파일 삭제를 거치지 않고 PC를 양도할 경우, 텍스트 편집기 하나만으로도 과거 수행한 주요 시스템 관리 작업 내용이 그대로 복원될 수 있습니다.

많은 사용자가 Clear-History cmdlet을 사용하지만, 이는 현재 열려 있는 PowerShell 프로세스의 메모리 버퍼만 초기화합니다. 디스크에 이미 쓰여진 ConsoleHost_history.txt 파일에는 아무런 영향을 주지 않는다는 점을 명확히 인지해야 합니다.

단계별 실행 가이드

1. 기록 파일 저장 경로 확인

PowerShell 콘솔을 열고 아래 명령어를 입력하여 현재 시스템의 히스토리 파일 실제 위치를 확인합니다.

(Get-PSReadLineOption).HistorySavePath

일반적인 경로 구조는 다음과 같습니다. C:\Users\<사용자계정>\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt

2. 파일 내용 점검 및 즉시 삭제

해당 파일이 존재하는지 확인하고, 단순 삭제가 아닌 데이터 덮어쓰기 방식으로 소거합니다. Sysinternals의 sdelete 툴이 있다면 사용하고, 없을 경우 PowerShell 내부 명령으로 파일 내용을 무작위 데이터로 채운 뒤 삭제합니다.

# 히스토리 파일 경로 변수 지정
$historyPath = (Get-PSReadLineOption).HistorySavePath

# 파일이 존재하는 경우 0으로 덮어쓴 후 삭제
if (Test-Path $historyPath) {
    Remove-Item $historyPath -Force
    Write-Host "ConsoleHost_history.txt 파일이 삭제되었습니다." -ForegroundColor Green
}

참고: 포렌식 복구를 방지하려면 단순 Remove-Item에 그치지 않고 디스크 여유 공간 덮어쓰기(SDelete 사용 권장)를 병행하는 것이 좋습니다.

3. 세션 기록 기능 비활성화 또는 제한 (선택 사항)

반납 작업 전 추가적인 기록 작성을 방지하려면 현재 세션에서 저장 옵션을 변경합니다.

# 히스토리 저장 기능을 비활성화
Set-PSReadLineOption -HistorySaveStyle SaveNothing

비교/체크리스트

삭제 방식 메모리 버퍼 삭제 디스크 파일 삭제 복구 도구 차단 비고
Clear-History 명령어 실행 O X X 현재 세션 메모리만 초기화됨
콘솔 창 닫기 O X X 파일에는 기록이 유지됨
ConsoleHost_history.txt 일반 삭제 O O 복구 프로그램으로 파일 복원 가능성 존재
덮어쓰기 소거(SDelete 등) 후 삭제 O O O 보안 표준에 부합하는 소거 방식
윈도우 '드라이브 정리' 포함 초기화 O O O 전체 OS 재설정 시 자동 파기됨

실무 사례 또는 예시

사무용 PC를 회사에 반납하거나 중고 매각할 때, 윈도우 계정 비번만 바꾸고 파일만 탕비실 폴더로 치우는 경우가 많습니다. 한 보안 점검 사례에 따르면, 양도된 개발자 PC의 ConsoleHost_history.txt 파일에서 과거 Docker 로그인 명령에 사용된 액세스 토큰과 외부 데이터베이스 접속 패스워드가 구동 흔적으로 발굴된 바 있습니다.

문서 폴더나 바탕화면의 파일만 지우는 것으로는 이와 같은 AppData 내부의 시스템 모듈 자동 생성 로그까지 지워지지 않습니다. 따라서 CLI 환경을 자주 사용하는 환경이라면 매각 전 쉘 히스토리 소거가 필수 체크리스트에 포함되어야 합니다.

자주 묻는 질문(FAQ)

Q1. Clear-History 명령어를 실행하면 디스크의 텍스트 파일도 함께 지워지나요?

아닙니다. Clear-History는 현재 실행 중인 PowerShell 세션의 메모리에 저장된 히스토리만 비웁니다. 디스크에 저장을 담당하는 PSReadLine 모듈의 ConsoleHost_history.txt 파일은 그대로 남아있으므로 해당 파일을 별도로 삭제해야 합니다.

Q2. 윈도우 초기화(모든 항목 제거)를 진행하면 ConsoleHost_history.txt 파일도 자동으로 삭제되나요?

네, 윈도우 설정의 '이 PC 초기화' 기능에서 '모든 항목 제거' 및 '드라이브 정리' 옵션을 선택하여 진행하면 사용자 프로필 폴더 전체가 삭제되므로 해당 파일도 함께 파기됩니다. 다만 초기화 없이 계정만 변경하거나 일반 포맷만 진행할 경우 저장장치에 흔적이 남을 수 있습니다.

용어 설명

  • PSReadLine: PowerShell 콘솔 환경에서 구문 강조, 줄 편집, 명령어 자동 완성 및 히스토리 저장을 제공하는 공식 모듈입니다.
  • ConsoleHost_history.txt: PSReadLine 모듈이 사용자가 콘솔에 입력한 모든 명령어를 텍스트 파일 형태로 자동 기록하는 기본 저장 파일입니다.

마무리

PowerShell 명령어 기록은 개발 작업과 관리 실무를 도울 뿐만 아니라, 반납 시에는 자칫 중요한 자격 증명이 유출되는 경로가 될 수 있습니다. 매각 및 반납 절차를 진행할 때는 디스크 내 텍스트 로그 파일 파기 여부를 반드시 확인하시기 바랍니다.

데이터 정리가 끝났다면 이제 기기의 가치를 확인할 차례입니다. 무료 견적 받기로 이어가 보세요.

중고 컴퓨터, NEO PC에서 최고가로 매입받으세요

노트북·데스크탑·모니터·서버까지, 전국 무료 방문 매입 + 당일 현금 지급.

무료 견적 받기
무료 견적 받기

불러오는 중…