Um die Größe der Laufwerke mit PowerShell zu lesen, können Sie das Cmdlet get-psdrive
verwenden. Dieses Cmdlet gibt eine Liste aller Laufwerke auf dem System zurück und enthält die Größe der einzelnen Laufwerke in Bytes. Sie können dieses Cmdlet auch verwenden, um Informationen über andere Eigenschaften der Laufwerke abzurufen, z. B. den Namen des Laufwerks und den Typ des Laufwerks. Leider untersützt derzeit das Cmdlet get-psdrive
keine ausführung aauf entfernten Rechner via Parameter -computer
. Hier ist ein kleines Snippet, das Ihnen die Größe aller Laufwerke in Powershell anzeigt. Es funktioniert auch auf einem Entfernten Server.
1
2
3
4
5
6
7
8
9
10
function global:DiskUsage
{
param([string]$servername = "localhost")
$pingresult=(Get-WmiObject -Class Win32_PingStatus -Filter "Address='$servername'" -ComputerName . | select Statuscode)
if($pingresult.Statuscode -ne $null -and $pingresult.Statuscode -eq 0)
{
get-wmiobject Win32_LogicalDisk -computername $servername -filter ("DriveType <4 and DriveType > 2") -ErrorAction silentlycontinue | Select-Object -Property systemname, VolumeName, DeviceID, DriveType, ProviderName, FreeSpace, Size, @{Name="Freespace GB";Expression={((($_.FreeSpace/1024)/1024)/1024).ToString("F2")}}, @{Name="Size GB";Expression={((($_.Size/1024)/1024)/1024).ToString("F2")}}
}
}