Powershell Skript Fsstplattengröße anzeigen?

2 Antworten

Get-WmiObject  ist deprecated!

aber weshalb holst du dir die Daten nicht mit Get-Volume ?

einfach aus einen Guss:

Get-Volume|
    ?{$_.size -ge 10GB -and $_.DriveType -like 'Fixed'}|
    %{
        $_
        if ($_.SizeRemaining -lt ($_.Size/10)){Write-Host $_.DriveLetter: is less 10% !!! -fo red 
     }
    }|ft

oder als "Anaconda":

Get-Volume|?{$_.size -ge 10GB -and $_.DriveType -like 'Fixed'}|%{$_;if ($_.SizeRemaining -lt ($_.Size/10)){Write-Host $_.DriveLetter: is less 10% !!! -fo red}}|ft

ist aber unhandlich. macht man besser schrittweise:

$VolumeData = Get-Volume|?{$_.size -ge 10GB -and $_.DriveType -like 'Fixed'}
$VolumeData|?{$_.SizeRemaining -lt ($_.Size/10)}|%{Write-Warning "$($_.DriveLetter): is less 10% !!!"}
$VolumeData|ft

#oder  alle daten
$VolumeData|ft *

keine Ahnung was du da mit der Tabellenformatierung von Hand rummurkst?




Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren
$Drives = Get-WmiObject -Class Win32_LogicalDisk -Filter "DriveType=3"

foreach ($Drive in $Drives)
{
    $SizeInGB = $Drive.size / 1GB
    $FreeSpaceInPercent = $Drive.FreeSpace * 100 /$Drive.Size
 
    if ($SizeInGB -gt 10 -and $FreeSpaceInPercent -ge 10)
    {
        Write-Host $Drive.Name
    }
    elseif ($SizeInGB -gt 10 -and $FreeSpaceInPercent -lt 10)
    {
        Write-Warning $Drive.Name
    }

}

Bei der Ausgabe musst du nur noch hinschreiben welche Informationen du haben möchtest.

Woher ich das weiß:Berufserfahrung – arbeite seit vielen Jahren in der IT
robinpfeiffe97 
Fragesteller
 08.12.2022, 11:03

Das bringt mich schonmal nach vorn, aber wenn ich mehrere Festplatten habe und eine davon ist unter 10% geht das skript nicht richtig.

Es geht immer nur in das if rein nicht in das elseif.

0
Erzesel  08.12.2022, 12:09

Get-WmiObject ist deprecated!

Wenn schon daten aus dem WMI zu holen sind, Get-CimInstance benutzen!

0