» Computer data storage » 원격 컴퓨터의 디스크 용량과 사용 가능한 공간을 찾는 방법
윈도우

원격 컴퓨터의 디스크 용량과 사용 가능한 공간을 찾는 방법

디스크 용량 및 로컬 컴퓨터의 사용 가능한 공간을 찾는 것은 원격 컴퓨터에서 그렇게 쉬운 일이 아닙니다 쉽지만입니다, 특히 GUI 인터페이스를 통해. 그것은 PowerShell을의 힘을 활용하는 것이 훨씬 쉽게 여기 당신이 그것을 할 수있는 방법입니다.

Get-PSDrive is a native PowerShell cmdlet that lists all storage drives on your local system.

You can narrow down to only list the file systems by piping out the result to a 어디에 clause.

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

Since the cmdlet doesn’t have a -컴퓨터 이름 switch to access remote computers, 우리는 필요 Invoke-Command to run the cmdlet on a remote computer.

Invoke-Command -ComputerName remote_computer {Get-PSDrive | Where {$_.Free -gt 0}}

This works pretty well only when you have WinRM and PSRemoting enabled on the remote computers. And that’s why I like the Get-WmiObject method even better.

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

To list the size in GB format,

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

How about display the result with the thousands separators?

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

You can access multiple remote computers from one run by putting all of them after the -컴퓨터 이름 스위치, separated by a comma.

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

또한, here is the script I put together that has a better formatted output.

$servers = @("computer1", "computer2", "computer3")

Foreach ($server in $servers)
{
    $disks = Get-WmiObject Win32_LogicalDisk -ComputerName $server -Filter DriveType=3 | 
        Select-Object DeviceID, 
            @{'Name'='Size'; 'Expression'={[math]::truncate($_.size / 1GB)}}, 
            @{'Name'='Freespace'; 'Expression'={[math]::truncate($_.freespace / 1GB)}}

    $server

    foreach ($disk in $disks)
    {
        $disk.DeviceID + $disk.FreeSpace.ToString("N0") + "GB / " + $disk.Size.ToString("N0") + "GB"

     }
 }

출처

광고

코멘트를 추가

코멘트를 게시하려면 여기를 클릭하십시오

이 사이트는 스팸을 줄이기 위해 Akismet 플러그를 사용. 귀하의 코멘트 데이터가 처리되는 방법 알아보기.

게시물

우리는 당신에게 최고의 온라인 경험을 제공하기 위해 쿠키를 사용합니다. 동의함으로써 당신은에 따라 쿠키 사용을 허용 우리 개인 정보 정책.