디스크 용량 및 원격 컴퓨터의 여유 공간을 찾는 방법

로컬 컴퓨터의 디스크 용량 및 여유 공간 찾기는 원격 컴퓨터, 특히 GUI 인터페이스를 통해 쉽지는 않지만 쉬운 일입니다. PowerShell의 힘을 이용하는 것이 훨씬 쉽습니다. 여기서는 PowerShell을 사용하는 방법이 있습니다.

Get-PSDrive 는 로컬 시스템의 모든 저장소 드라이브를 나열하는 네이티브 PowerShell cmdlet입니다.

파일 시스템을 나열하기 위해 범위를 좁힐 수 있습니다. 어디에 절.

Get-PSDrive | 여기서 {$ _. Free -gt 0}

cmdlet에는 -ComputerName 원격 컴퓨터에 액세스하려면 스위치가 필요합니다. Invoke-Command 원격 컴퓨터에서 cmdlet을 실행합니다.

Invoke-Command -ComputerName remote_computer {Get-PSDrive | 어디에서 {$ _. 자유 -gt 0}}

이것은 꽤 잘 작동합니다. WinRM 및 PSRemoting 사용 원격 컴퓨터에서. 그게 바로 제가 좋아하는 이유입니다. Get-WmiObject 방법이 더 좋습니다.

Get-WmiObject Win32_LogicalDisk -ComputerName remote_computer -Filter DriveType = 3 | Select-Object DeviceID, FreeSpace, 크기

크기를 GB 형식으로 나열하려면,

Get-WmiObject Win32_LogicalDisk -ComputerName remote_computer -Filter DriveType = 3 | Select-Object DeviceID, @ { 'Name'= '크기 (GB)'; 'Expression'= {[math] :: truncate ($ _. size / 1GB)}}, @ { 'Name'= '자유 공간 (GB)'; 'Expression'= {[math] :: truncate ($ _. freespace / 1GB)}}

천 단위 구분 기호로 결과를 표시하는 방법은 어떻습니까?

Get-WmiObject Win32_LogicalDisk -ComputerName remote_computer -Filter DriveType = 3 | Select-Object DeviceID, @ { 'Name'= '크기 (GB)'; 'Expression'= {[string] :: Format ( '{0 : N0}', {math} :: truncate ($ _. size / 1GB)}}}, @ { 'Name'= '자유 공간 (GB)' ; 'Expression'= {[string] :: Format ( '{0 : N0}', [math] :: truncate ($ _. freespace / 1GB))}}

한 번의 실행으로 여러 개의 원격 컴퓨터에 액세스 할 수 있습니다. -ComputerName 스위치는 쉼표로 구분됩니다.

Get-WmiObject Win32_LogicalDisk -ComputerName computer1, computer2, computer3 -Filter DriveType = 3 | Select-Object DeviceID, @ { 'Name'= '크기 (GB)'; 'Expression'= {[string] :: Format ( '{0 : N0}', {math} :: truncate ($ _. size / 1GB)}}}, @ { 'Name'= '자유 공간 (GB)' ; 'Expression'= {[string] :: Format ( '{0 : N0}', [math] :: truncate ($ _. freespace / 1GB))}}

또한, 더 나은 형식화 된 출력을 가진 함께 넣어 스크립트입니다.

$ servers = @ ( "computer1", "computer2", "computer3") Foreach ($ 서버의 $ 서버) {$ disks = Get-WmiObject Win32_LogicalDisk -ComputerName $ server -Filter DriveType = 3 | Select-Object DeviceID, @ { 'Name'= '크기'; 'Expression'= {[math] :: truncate ($ _. size / 1GB)}}, @ { 'Name'= '자유 공간'; 'Expression'= {[math] :: truncate ($ _. freespace / 1GB)}} $ server foreach ($ 디스크의 $ 디스크) {$ disk.DeviceID + $ disk.FreeSpace.ToString ( "N0") + GB / "+ $ disk.Size.ToString ("N0 ") +"GB "}}

소스코드

관련 포스트

댓글을 남겨주세요.

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터 처리 방법 알아보기.