บ้าน » Computer data storage » วิธีการหาความจุฮาร์ดดิสก์และอวกาศฟรีรีโมทคอมพิวเตอร์
ของ windows

วิธีการหาความจุฮาร์ดดิสก์และอวกาศฟรีรีโมทคอมพิวเตอร์

ค้นหาความจุดิสก์และพื้นที่ว่างของเครื่องคอมพิวเตอร์เป็นเรื่องง่าย แต่ไม่ง่ายที่จากคอมพิวเตอร์ระยะไกล, โดยเฉพาะอย่างยิ่งผ่านอินเตอร์เฟซแบบ 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 -ComputerName 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 -ComputerName สวิตซ์, คั่นด้วยเครื่องหมายจุลภาค.

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 เพื่อลดสแปม. เรียนรู้วิธีการที่ข้อมูลความคิดเห็นของคุณจะถูกประมวลผล.

โพสต์

เราใช้คุกกี้เพื่อให้คุณได้ประสบการณ์ออนไลน์ที่ดีที่สุด. โดยยอมรับคุณยอมรับการใช้คุกกี้ให้สอดคล้องกับของเรา นโยบายความเป็นส่วนตัว.