Sådan finder du diskkapacitet og ledig plads på fjerncomputere

At finde diskkapacitet og ledig plads på en lokal computer er let, men ikke så let fra en fjerncomputer, især via en GUI-grænseflade. Det er meget nemmere at udnytte PowerShells kraft, og her er hvordan du kan gøre det.

Get-PSDrive er en native PowerShell cmdlet, der viser alle lagringsdrev på dit lokale system.

Sådan finder du diskkapacitet og ledig plads på fjerncomputere

Du kan indsnævre for kun at liste filsystemerne ved at udlede resultatet til a Hvor klausul.

Get-PSDrive | Hvor {$ _. Free -gt 0}
Sådan finder du diskkapacitet og ledig plads på fjerncomputere

Da cmdlet ikke har a -ComputerName skifte til adgang til eksterne computere, vi har brug for Invoke-Command at køre cmdlet på en fjerncomputer.

Invoke-Command -ComputerName remote_computer {Get-PSDrive | Hvor {$ _. Free -gt 0}}
Sådan finder du diskkapacitet og ledig plads på fjerncomputere

Dette virker ret godt, kun når du har WinRM og PSRemoting aktiveret på de eksterne computere. Og det er derfor jeg kan lide Get-WmiObject metode endnu bedre.

Get-WmiObject Win32_LogicalDisk -ComputerName remote_computer -Filter DriveType = 3 | Vælg-objekt DeviceID, FreeSpace, Size
Sådan finder du diskkapacitet og ledig plads på fjerncomputere

For at angive størrelsen i GB-format,

Get-WmiObject Win32_LogicalDisk -ComputerName remote_computer -Filter DriveType = 3 | Vælg-objekt DeviceID, @ {'Name' = 'Size (GB)'; 'Udtryk' = {[math] :: trunker ($ _ .størrelse / 1GB)}}, @ {'Name' = 'Freespace (GB)'; 'Udtryk' = {[math] :: truncate ($ _. Freespace / 1GB)}}
Sådan finder du diskkapacitet og ledig plads på fjerncomputere

Hvad med at vise resultatet med tusindvis afskillere?

Get-WmiObject Win32_LogicalDisk -ComputerName remote_computer -Filter DriveType = 3 | Vælg-objekt DeviceID, @ {'Name' = 'Size (GB)'; 'Expression' = {[streng] :: Format ('{0: N0}', [math] :: truncate ($ _ .størrelse / 1GB)}}, @ {'Name' = 'Freespace (GB)' ; 'Expression' = {[streng] :: Format ('{0: N0}', [math] :: truncate ($ _. Freespace / 1GB))}}
Sådan finder du diskkapacitet og ledig plads på fjerncomputere

Du kan få adgang til flere eksterne computere fra et løb ved at sætte dem alle efter -ComputerName skifte, adskilt af et komma.

Get-WmiObject Win32_LogicalDisk -ComputerName computer1, computer2, computer3 -Filter DriveType = 3 | Vælg-objekt DeviceID, @ {'Name' = 'Size (GB)'; 'Expression' = {[streng] :: Format ('{0: N0}', [math] :: truncate ($ _ .størrelse / 1GB)}}, @ {'Name' = 'Freespace (GB)' ; 'Expression' = {[streng] :: Format ('{0: N0}', [math] :: truncate ($ _. Freespace / 1GB))}}
Sådan finder du diskkapacitet og ledig plads på fjerncomputere

Også her er scriptet jeg sammensætter, der har en bedre formateret output.

$ servers = @ ("computer1", "computer2", "computer3") Foreach ($ server i $ servere) {$ disks = Get-WmiObject Win32_LogicalDisk -ComputerName $ server -Filter DriveType = 3 | Vælg-objekt DeviceID, @ {'Name' = 'Size'; 'Udtryk' = {[math] :: afkorte ($ _. Størrelse / 1GB)}}, @ {'Name' = 'Freespace'; 'Expression' = {[math] :: truncate ($ _. Freespace / 1GB)}} $ server foreach ($ disk i $ diske) {$ disk.DeviceID + $ disk.FreeSpace.ToString ("N0") + " GB / "+ $ disk.Size.ToString (" N0 ") +" GB "}}

Kilde

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.