PowerShell을 사용하여 디스크 공간을 확인하는 방법



디스크 공간을 확인하는 것은 때때로 번거로운 일입니다.특히 여러 시스템을 관리하거나 파일 탐색기를 반복해서 열지 않고 남은 공간을 빠르게 확인하고 싶을 때 더욱 그렇습니다. PowerShell은 이러한 문제를 해결하는 데 놀라울 정도로 유용하며, 스크립팅 전문가가 아니더라도 유용한 정보를 얻을 수 있습니다. PowerShell을 사용하면 로컬 드라이브뿐만 아니라 원격 시스템의 디스크 공간까지 확인할 수 있어 서버 문제 해결이나 모니터링에 매우 유용합니다.하지만 의미 있는 데이터를 얻으려면 이러한 명령어를 정확하게 실행해야 하며, 경우에 따라 몇 가지 설정을 조정하여 모든 것이 원활하게 작동하도록 해야 합니다.

PowerShell을 사용하여 디스크 공간을 확인하는 방법 – 가장 기본적인 방법

모든 드라이브에 대한 정보 얻기

먼저 Get-PSDrive 명령의 기능을 이해해야 합니다.이 명령은 파일 시스템 드라이브뿐 아니라 네트워크 드라이브 및 공급자 드라이브까지 PowerShell이 ​​인식하는 모든 드라이브를 나열합니다.저장 드라이브만 표시하려면 해당 드라이브를 필터링해야 합니다.일반적으로 C:, D: 드라이브 또는 저장 공간이 있는 네트워크 공유 드라이브와 같이 저장 공간을 사용하는 드라이브를 표시하는 것이 좋습니다.자주 사용하는 명령은 다음과 같습니다.

Get-PSDrive | Where-Object { $_. Free -gt 0 }

이 작업은 여유 공간이 있는 모든 드라이브를 가져오고, 여유 공간이 0이거나 전혀 없는 드라이브(시스템 드라이브 또는 특수 드라이브일 수 있음)는 필터링합니다.

하지만, 특히 파일 시스템 기반의 로컬 디스크만 필요한 경우라면, 상황을 더 명확하게 하기 위해 다음과 같이 명시하는 것이 좋습니다.

Get-PSDrive -PSProvider FileSystem | Select-Object Name, Free, Used, Provider

이렇게 하면 로컬 디스크만 표시되므로 화면이 깔끔해지고, 초보자가 저장 공간을 확인하거나 빠르게 점검할 때 더 유용합니다.

원격 시스템 모니터링 — 안 할 이유가 없잖아요?

서버 네트워크나 원격 PC를 관리하는 경우에도 PowerShell을 사용할 수 있습니다.권한만 부여하고 원격 접속을 활성화하면 됩니다.명령어는 기본적으로 다음과 같습니다.

Invoke-Command -ComputerName <ComputerName> -ScriptBlock {Get-PSDrive -PSProvider FileSystem | Select-Object Name, Free, Used}

<ComputerName> 부분을 대상 컴퓨터의 이름이나 IP 주소로 바꾸세요.예를 들어 “Server01″이라는 서버를 확인하려면 다음과 같이 입력합니다.

Invoke-Command -ComputerName Server01 -ScriptBlock {Get-PSDrive -PSProvider FileSystem | Select-Object Name, Free, Used}

이 명령은 각 파일 시스템 파티션의 사용 가능한 공간과 사용된 공간을 출력합니다.여기서 중요한 점은 원격 접속이 활성화되어 있고 사용자 계정에 올바른 권한이 있는지 확인하는 것입니다.보안이 강화된 서버에서는 원격 접속이 기본적으로 작동하지 않아 원격 시스템에서 Enable-PSRemoting 명령어 를 사용하여 활성화해야 하는 경우가 있는데, 이 또한 복잡한 과정입니다.

어떤 환경에서는 이 명령어가 바로 작동했지만, 다른 환경에서는 올바른 권한을 설정하거나 원격 접속을 활성화하기 전까지는 작동하지 않았습니다.왜 이런 차이가 발생하는지는 모르겠지만, 흔히 발생하는 문제점입니다.

자동화하고 알림을 받으세요 – 간단한 스크립팅 마법입니다

시스템 관리에 관심 있는 분이라면 이 기능을 스크립트로 만들어 작업 스케줄러 등을 통해 정기적으로 실행되도록 설정할 수 있습니다.디스크 공간을 자동으로 확인하고, 여유 공간이 10% 미만으로 떨어지면 이메일 알림을 보내도록 할 수도 있죠.관리자 입장에서는 일일이 신경 쓰지 않고도 지속적인 모니터링을 할 수 있어 매우 유용합니다.

예를 들어, 간단한 스크립트는 다음과 같을 수 있습니다.

if ((Get-PSDrive -PSProvider FileSystem | Where-Object { $_. Free -lt 10GB })) { Send-MailMessage -To "[email protected]" -From "[email protected]" -Subject "Low Disk Space Alert" -Body "One of your drives is running low on space." } 

이 설정은 SMTP 설정을 약간 더 조정해야 하지만 개념은 간단합니다.디스크를 확인하고 공간이 부족하면 자동으로 담당자에게 알리는 것입니다.

물론, 환경마다 특성이 다르기 때문에 이러한 스크립트와 명령어를 자신의 시스템에서 직접 테스트하는 것이 중요합니다.어떤 경우에는 PowerShell이 ​​추가 권한이나 방화벽 규칙 없이는 연결을 거부하기도 합니다.또한 일부 Windows 버전에서는 원격 접속을 명시적으로 활성화해야 합니다.

물론 윈도우는 굳이 필요 이상으로 복잡하게 만들어 놓았죠.하지만 일단 설정이 완료되면 간단한 점검이나 지속적인 모니터링에 아주 유용합니다.

요약

  • Get-PSDrive 명령어를 사용하여 드라이브 목록을 확인하고 여유 공간을 점검하세요.
  • Where-Object 필터를 사용하여 사용 가능한 저장 공간이 있는 드라이브만 표시합니다.
  • 원격 점검을 위해 Invoke-Command를 사용하고, 원격 접속이 활성화되어 있고 권한이 올바르게 설정되어 있는지 확인하십시오.
  • 알림이나 정기 점검을 자동화하는 스크립트를 작성하세요.수동 점검은 금방 지루해지기 때문입니다.

마무리

결론적으로 PowerShell은 로컬 시스템이든 원격 시스템이든 디스크 공간을 모니터링하는 데 놀라울 정도로 유용한 도구입니다.사용법이 항상 완벽하게 직관적인 것은 아니지만, 약간의 조정을 거치면 많은 골칫거리와 예상치 못한 시스템 오류를 예방할 수 있습니다.단, 중요하지 않은 시스템에서 먼저 테스트하는 것을 잊지 마세요.이 정보가 누군가에게 파일 탐색기를 계속 열지 않고도 저장 공간을 효율적으로 관리하는 데 도움이 되기를 바랍니다.



이 글이 도움이 되었나요?