필자는 2018년 Make Tech Easier에서 활동하며 기술 출판 경력을 시작했습니다. 이후 Windows, Linux, 오픈 소스 도구를 아우르는 가이드, 리뷰, 팁, 해설 기사를 꾸준히 발표해 왔으며, 그 작품은 Technical Ustad, Windows Report, Guiding Tech, Alphr, Next of Windows 등 주요 사이트에도 실렸습니다. 컴퓨터 과학 학사 학위를 보유하고 있으며, 데이터 프라이버시와 보안 분야의 열렬한 지지자로서 Fuzo Tech 유튜브 채널에서 관련 팁과 튜토리얼을 공유하고 있습니다.
대부분은 Windows에서 흔한 문제가 발생했을 때야 비로소 PowerShell 명령어를 찾곤 합니다. 하지만 몇 가지 PowerShell 유지 관리 명령은 애초에 이런 문제 자체를 예방해 줍니다. 대부분 복잡해 보이지만, 그중에는 쉽게 외워 두었다가 언제든 꺼내 쓸 수 있는 한 줄 명령(One-Liner)도 있습니다. 이 명령들은 유지 관리의 부담을 크게 덜어 주며, 저에게는 없어서는 안 될 필수 도구가 되었습니다.
PC의 모든 앱을 한 번에 업데이트하기
프로그램마다 업데이트 버튼을 찾아 헤매지 마세요
Windows에서 겪는 주요 오류 상당수는 오래된 앱에서 비롯됩니다. 오래된 앱은 시스템 지연을 일으킬 뿐만 아니라, 패치되지 않은 보안 취약점을 남겨 악성코드 감염이나 데이터 유출의 통로가 되기도 합니다.
Winget은 PowerShell에서 바로 실행할 수 있는 Windows 내장 패키지 관리자입니다. 이를 통해 PC의 거의 모든 앱을 한 번에 업데이트할 수 있는 한 줄 명령을 사용할 수 있습니다. 제가 실행하는 명령은 다음과 같습니다:
winget upgrade --all --include-unknown
Winget이 설치되어 있지 않다면 Microsoft Store의 App Installer 패키지를 통해 설치할 수 있습니다.
이 명령에는 두 가지 중요한 플래그가 포함되어 있습니다:
- --all : 모든 앱을 한꺼번에 업데이트합니다.
- --include-unknown : 설치된 버전을 감지할 수 없는 앱(브라우저나 개발 도구 등)까지 포함합니다.
명령을 실행하면 업데이트된 앱, 건너뛴 앱, 버전 번호 목록을 확인할 수 있습니다. 덕분에 어떤 앱이 수동 관리가 필요한지 파악하기 쉽습니다. 개별 앱을 하나씩 점검하는 의존도를 줄여 주는, 가장 실용적인 Windows 앱 업데이트 방법 중 하나입니다.
일부 앱은 업데이트에 관리자 권한이 필요하므로, 최상의 결과를 위해 관리자 권한으로 실행된 PowerShell(승격된 PowerShell)에서 명령을 실행하는 것이 좋습니다.
임시 파일이 성능을 갉아먹기 전에 정리하기
월 1회만 실행하면 디스크 부담은 잊어도 됩니다
컴퓨터를 평소처럼 사용하기만 해도 저장 공간이 부족해질 위험이 있습니다. 설치 잔여물, 브라우저 캐시, 앱 임시 파일 등으로 생긴 임시 파일들이 조용히 수 기가바이트씩 쌓이기 때문입니다. 파일이 계속 쌓이면 PC 성능이 눈에 띄게 느려지고, 경우에 따라 사소한 앱 오류를 일으키기도 합니다. Windows에는 임시 파일 정리 기능이 기본 내장되어 있고 수동으로 삭제할 수도 있지만, PowerShell은 빠르고 효율적인 한 줄 명령을 제공합니다:
Get-ChildItem $env:TEMP -Recurse -Force -ErrorAction SilentlyContinue | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
이 명령의 범위는 $env:TEMP 폴더로 한정됩니다. 참고로 C:\Windows\Temp에도 임시 파일이 쌓이므로, 필요하다면 별도로 정리해야 합니다.
명령에는 -ErrorAction SilentlyContinue 플래그가 포함되어 있어 현재 사용 중인 파일은 자동으로 건너뜁니다. 이 덕분에 명령이 안전하고 중단 없이 완료됩니다.
명령이 끝나면 디스크 공간이 즉시 확보되며, 보통 수백 메가바이트에서 수 기가바이트에 이릅니다.
최상의 결과를 원한다면 중요한 앱이 실행 중일 때는 실행하지 마세요. 앱이 특정 임시 파일을 잠그고 있을 수 있습니다.
이 한 줄 명령은 수동 정리보다 훨씬 효율적입니다. 여러 도구를 열고 메뉴를 헤매거나 어떤 파일을 안전하게 삭제할 수 있는지 추측할 필요가 없기 때문입니다.
작은 오류가 큰 문제가 되기 전에 Windows 복구하기
SFC와 DISM을 함께 실행해 가장 깊은 곳까지 수복
数년간 사용해 본 결과, 건강한 Windows 설치 환경이라도 시스템 파일이나 구성 요소 저장소(Component Store)에 사소한 손상이 서서히 쌓일 수 있다는 것을 알게 되었습니다. 이 상태가 길어지면 화면 멈춤, 앱 강제 종료, 느린 부팅으로 이어집니다. 미리 유지 관리를 해두면 이런 불편을 피할 수 있습니다.
제가 사용하는 명령은 다음과 같습니다:
DISM /Online /Cleanup-Image /RestoreHealth; sfc /scannow
이 명령은 두 부분으로 구성되어 있으며, 순서가 중요합니다:
- DISM은 Windows 구성 요소 저장소(WinSxS)를 복구합니다.
- SFC는 복구된 구성 요소 저장소의 정상 캐시 파일로 손상된 시스템 파일을 교체합니다.
두 명령은 순차적으로 실행되며 몇 분 정도 걸릴 수 있습니다. 완료 후에는 복구 효과가 온전히 적용되도록 반드시 재부팅하세요. 필수는 아니지만, OS 업데이트를 시스템 복구와 함께 자동화하고 싶을 때 PSWindowsUpdate 모듈과 함께 사용하기도 합니다.
멈춤과 충돌 문제를 직접 하나하나 해결하는 데 몇 시간이 걸릴 수 있다는 점을 생각하면, 훨씬 편리한 방법입니다.
저장 공간을 실제로 잡아먹는 범인 찾기
파일 탐색기가 숨겨준 파일들을 드러내세요
드라이브가 가득 차도 그 이유가 명확하지 않은 경우가 많고, 파일 탐색기에서 저장 공간을 확인해도 표면적인 부분만 짚고 넘어가기 쉽습니다. 숨겨진 로그 파일, 오래된 설치 프로그램, 잊고 있던 다운로드 파일을 찾는 것은 결코 만만치 않습니다. 하지만 다음 PowerShell 명령으로 진짜 범인을 밝혀낼 수 있습니다:
Get-ChildItem -Path C:\Users -Recurse -ErrorAction SilentlyContinue | Where-Object { $_.Length -gt 500MB } | Sort-Object Length -Descending | Select-Object FullName, @{Name="Size(GB)";Expression={[math]::Round($_.Length/1GB,2)}}이 명령의 범위는 C:\Users로 한정되어 있는데, 대부분의 대용량 파일은 이 위치에 있을 가능성이 높습니다. 필요하다면 C: 전체로 확장할 수도 있습니다.
Size(GB) 항목을 포함하면 원시 바이트 값이 읽기 쉬운 숫자로 정리되어 바로 판단할 수 있습니다. 결과는 크기순으로 정렬되어 가장 큰 파일부터 표시됩니다. 이 명령이 없다면 디스크를 무엇이 채우고 있는지 계속 추측해야 할 것입니다.
제가 실제로 지키고 있는 10분 루틴
이 네 가지 명령이 바로 저의 월간 유지 관리 루틴입니다. 앱 업데이트, 불필요한 파일 정리, 저장 공간 잡아먹는 파일 식별, 시스템 파일 복구까지 모두 처리해 줍니다. 정기적으로 실행할 수 있는 유지 관리 명령은 더 있지만, 이 네 가지가 훌륭한 출발점입니다. 실질적이고 선제적이며, 현실적인 유지 관리에 효율적인 방법입니다.