heuristiker
Goto Top

Powershell: Restspeicherplatz von C: und D: ermitteln

Hallo Leute,

nutze ein Powershell-Skript, dessen Kernbefehl den restlichen Plattenplatz ermittelt und in eine CSV-Datei exportiert:


gwmi Win32_LogicalDisk -ComputerName $serverNeu -Filter "Name='d:'" -EA SilentlyContinue | select Systemname,Name,@{n='Restspeicher in GB';e={"{0:F2}" -f ($_.Freespace/1GB)}} | export-csv ".\Speicherplatz_Neuserver_D.csv" -delimiter ";" -NoType -Encoding UTF8


Wie muss ich den Befehl abändern, damit auch der Plattenplatz von C ermittelt und in dieselbe Datei exportiert wird?

Vielen Dank!

Heuristiker

Content-ID: 391311

Url: https://administrator.de/contentid/391311

Ausgedruckt am: 23.11.2024 um 02:11 Uhr

137443
Lösung 137443 31.10.2018 aktualisiert um 10:41:41 Uhr
Goto Top
Kleiner Filter dazwischen geschoben und fertig...
gwmi win32_Logicaldisk -Computername $serverNeu -EA SilentlyContinue | ?{$_.Name -in @('C:','D:')} | select Systemname,Name,@{n='Restspeicher in GB';e={"{0:F2}" -f ($_.Freespace/1GB)}} | export-csv ".\Speicherplatz_Neuserver.csv" -delimiter ";" -NoType -Encoding UTF8   
Gruß l.
Heuristiker
Heuristiker 31.10.2018 aktualisiert um 10:55:09 Uhr
Goto Top
Vielen Dank! Momentan stürzt das Skript noch ab. Irgendwo ist noch der Wurm drin.
137443
137443 31.10.2018 aktualisiert um 11:06:14 Uhr
Goto Top
Zitat von @Heuristiker:

Vielen Dank! Momentan stürzt das Skript noch ab. Irgendwo ist noch der Wurm drin.
Nöp. Funktioniert problemlos >=PS3.0.

Ohne Fehlermeldung können wir dir nicht helfen, sollte eigentlich klar sein face-sad.
Heuristiker
Heuristiker 31.10.2018 aktualisiert um 11:26:49 Uhr
Goto Top
Verzeihung:

Sie müssen auf der rechten Seite des Operators "-" einen Wertausdruck angeben.
Bei C:\Users\(...)\Desktop\Serverplattenplatz30102018.ps1:9 Zeichen:83

gwmi win32_Logicaldisk -Computername $serverNeu -EA SilentlyContinue | ?{$_.Name - <<<< in @('C:','D:')} | select Sys

temname,Name,@{n='Restspeicher in GB';e={"{0:F2}" -f ($_.Freespace/1GB)}} | export-csv ".\Speicherplatz_Neuserver.csv"
-delimiter ";" -NoType -Encoding UTF8
+ CategoryInfo : ParserError: (face-smile , ParseException
+ FullyQualifiedErrorId : ExpectedValueExpression
137443
Lösung 137443 31.10.2018 aktualisiert um 11:23:01 Uhr
Goto Top
Deine Powershell ist zu alt <3.0, dort gibt es den Operator -in noch nicht deswegen.

für die PS 2.0 kannst du den Filter stattdessen auch so schreiben :
 ?{$_.Name -match '^[CD]:$'}  
oder auch so
 ?{$_.Name -eq 'D:' -or $_.Name -eq 'C:'}  
Heuristiker
Heuristiker 31.10.2018 um 11:24:11 Uhr
Goto Top
Das erklärt einiges. Nochmals ein Dank! face-smile
137443
137443 31.10.2018 um 11:55:56 Uhr
Goto Top
Kein Thema.