So finden Sie Festplattenkapazität und freien Speicherplatz von Remote-Computern

Das Finden von Festplattenkapazität und freiem Speicherplatz eines lokalen Computers ist einfach, aber nicht so einfach von einem entfernten Computer, insbesondere über eine GUI-Schnittstelle. Es ist viel einfacher, die Power von PowerShell zu nutzen und hier ist, wie Sie es tun können.

Holen Sie PSDrive ist ein systemeigenes PowerShell-Cmdlet, das alle Speicherlaufwerke auf Ihrem lokalen System auflistet.

Sie können eingrenzen, um nur die Dateisysteme aufzulisten, indem Sie das Ergebnis an a Woher Klausel.

Get-PSDrive | Wo {$ _. Frei -gt 0}

Da das Cmdlet nicht über a verfügt -Computername Um auf entfernte Computer zugreifen zu können, brauchen wir Aufruf-Befehl Führen Sie das Cmdlet auf einem Remotecomputer aus.

Invoke-Command-Computername remote_computer {Get-PSDrive | Wo {$ _. Frei -gt 0}}

Das funktioniert nur gut wenn du es hast WinRM und PSRemoting aktiviert auf den Remote-Computern. Und deshalb mag ich das Get-WmiObject Methode noch besser.

Get-WmiObject Win32_LogicalDisk - Computername remote_computer -Filter DriveType = 3 | Select-Objekt DeviceID, FreeSpace, Größe

Um die Größe im GB-Format aufzulisten,

Get-WmiObject Win32_LogicalDisk - Computername remote_computer -Filter DriveType = 3 | Select-Objekt DeviceID, @ {'Name' = 'Größe (GB)'; 'Ausdruck' = {[math] :: truncate ($ _. Size / 1GB)}}, @ {'Name' = 'Freiraum (GB)'; 'Ausdruck' = {[math] :: truncate ($ _. Freespace / 1GB)}}

Wie wäre es, das Ergebnis mit den Tausendertrennzeichen anzuzeigen?

Get-WmiObject Win32_LogicalDisk - Computername remote_computer -Filter DriveType = 3 | Select-Objekt DeviceID, @ {'Name' = 'Größe (GB)'; 'Ausdruck' = {[string] :: Format ('{0: N0}', [math] :: trunkieren ($ _. Size / 1GB))}}, @ {'Name' = 'Freiraum (GB)' ; 'Ausdruck' = {[String] :: Format ('{0: N0}', [Mathematik] :: truncate ($ _. Freespace / 1GB))}}

Sie können auf mehrere Remote - Computer von einem Lauf aus zugreifen, indem Sie alle nach dem -Computername Schalter, getrennt durch ein Komma.

Get-WmiObject Win32_LogicalDisk -ComputerName computer1, computer2, computer3 -Filter DriveType = 3 | Select-Objekt DeviceID, @ {'Name' = 'Größe (GB)'; 'Ausdruck' = {[string] :: Format ('{0: N0}', [math] :: trunkieren ($ _. Size / 1GB))}}, @ {'Name' = 'Freiraum (GB)' ; 'Ausdruck' = {[String] :: Format ('{0: N0}', [Mathematik] :: truncate ($ _. Freespace / 1GB))}}

Auch hier ist das Skript, das ich zusammenstellen, das eine bessere formatierte Ausgabe hat.

$ servers = @ ("computer1", "computer2", "computer3") Foreach ($ server in $ server) {$ disks = Get-WmiObject Win32_LogicalDisk -ComputerName $ server -Filter DriveType = 3 | Select-Objekt DeviceID, @ {'Name' = 'Größe'; 'Ausdruck' = {[math] :: truncate ($ _. Size / 1GB)}}, @ {'Name' = 'Freiraum'; 'Ausdruck' = {[math] :: truncate ($ _. Freespace / 1GB)}} $ server foreach ($ disk in $ disks) {$ disk.DeviceID + $ disk.FreeSpace.ToString ("N0") + " GB / "+ $ disk.Size.ToString (" N0 ") +" GB "}}

Quelle

In Verbindung stehende Pfosten

Hinterlasse einen Kommentar

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.