Kako pronaći disk kapacitete i slobodan prostor udaljenih računara

Pronalaženje kapaciteta diska i slobodnog prostora lokalnog računara je jednostavno, ali nije tako lako sa udaljenog računara, pogotovo putem interfejsa GUI-a. Mnogo je lakše koristiti moć PowerShell-a i evo kako to možete učiniti.

Get-PSDrive je izvorni cmdlet PowerShell koji sadrži sve disk jedinice za skladištenje podataka na vašem lokalnom sistemu.

Možete se sužiti samo da listate sistemske datoteke tako što ćete iscrtati rezultat na a gdje klauzula.

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

Pošto cmdlet nema a -ComputerName pređite na pristup udaljenim računarima, trebamo Invoke-Command da pokrenete cmdlet na udaljenom računaru.

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

Ovo dobro funkcioniše samo kada imate WinRM i PSRemoting omogućeni na udaljenim računarima. I zato mi se sviđa Get-WmiObject metod još bolje.

Get-WmiObject Win32_LogicalDisk-Kompjutersko ime remote_computer -Filter DriveType = 3 | Select-Object DeviceID, FreeSpace, Veličina

Da biste naveli veličinu u GB formatu,

Get-WmiObject Win32_LogicalDisk-Kompjutersko ime remote_computer -Filter DriveType = 3 | Select-Object DeviceID, @ {'Ime' = 'Veličina (GB)'; 'Expression' = {[matematika] :: truncate ($ _. Size / 1GB)}}, @ {'Ime' = 'Freespace (GB)'; 'Izraz' = {[matematika]: truncate ($ _. Freespace / 1GB)}}

Šta kažeš na rezultat sa hiljadama separatora?

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

Možete da pristupite više udaljenih računara iz jednog pokreta stavljajući ih sve nakon -ComputerName prekidač, odvojen zarezom.

Get-WmiObject Win32_LogicalDisk-ComputerName računar1, računar2, računar3 -Filter DriveType = 3 | Select-Object DeviceID, @ {'Ime' = 'Veličina (GB)'; 'Expression' = {[string] :: Format ('{0: N0}', [math] :: truncate ($ _. Size / 1GB))}, @ {'Name' = 'Freespace (GB) ; 'Expression' = {[string] :: Format ('{0: N0}', [math] :: truncate ($ _. Freespace / 1GB))}

Takođe, ovde je scenario koji sam spojio i koji ima bolji oblikovan izlaz.

$ servers = @ ("computer1", "computer2", "computer3") Foreach ($ server na $ serverima) {$ disks = Get-WmiObject Win32_LogicalDisk -ComputerName $ server -Filter DriveType = 3 | Select-Object DeviceID, @ {'Ime' = 'Veličina'; 'Izraz' = {[matematika]: skraćeno ($ _. Veličina / 1GB)}}, @ {'Ime' = 'Freespace'; 'Expression' = {[math] :: truncate ($ _. Freespace / 1GB)}} $ server foreach ($ disk u $ diskovima) {$ disk.DeviceID + $ disk.FreeSpace.ToString ("N0") + GB / "+ $ disk.Size.ToString (" N0 ") +" GB "}}

izvor

Related post

Ostavite odgovor

Ova stranica koristi Akismet kako bi smanjila neželjenu poštu. Saznajte kako se podaci vašeg komentara obrađuju.