Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Partitionen auslesen

Frage Entwicklung Batch & Shell

Mitglied: TlBERlUS

TlBERlUS (Level 2) - Jetzt verbinden

13.05.2014 um 18:54 Uhr, 1468 Aufrufe, 2 Kommentare

Hi Zusammen,

ich probiere mich momentan an der Powershell, stoße momentan leider auf das Problem, dass sich mein Skript weigert, dass zu tun was ich will...
Oder ich kann ihm nich mitteilen, was ich will, was wahrscheinlicher ist
Aber egal, mein Problem ist, dass das Skript bei PCs mit mehreren Partitionen folgenden Fehler ausgibt:

Fehler beim Aufrufen der Methode, da [System.Object[]] keine Methode mit dem Namen "op_Division" enthält.
In C:\Users\PC\Desktop\Freespace.ps1:14 Zeichen:1

$size2 = $sizebit2/1024/1024/1024


Skript

function all{
foreach ($a in $array) {
$computer2 = $a
$letter2 = Get-WmiObject win32_volume -computername $computer2 | Select-Object Name, freespace | where Name -like "*:\" | where freespace -gt 0.5 | Select -expand Name
$sizebit2 = Get-WmiObject win32_volume -computername $computer2 | Select-Object Name, freespace | where Name -like "*:\" | where freespace -gt 0.5 | Select -expand freespace
$size2 = $sizebit2/1024/1024/1024
$sizegb2 = "{0:N2}" -f $size2
$outputBox.AppendText("$Computer2 $letter2 $sizegb2 GB Frei
")
$letter2 = " "
$size2= " "
$sizebit2 = " "
$sizegb2 = " "
$computer2 = " "
}
}

function single{
$computer1 = $objpc1.text
$letter1 = Get-WmiObject win32_volume -computername $computer1 | Select-Object Name, freespace | where Name -like "*:\" | where freespace -gt 0.5 | Select -expand Name
$sizebit1 = Get-WmiObject win32_volume -computername $computer1 | Select-Object Name, freespace | where Name -like "*:\" | where freespace -gt 0.5 | Select -expand freespace
$size1 = $sizebit1/1024/1024/1024
$sizegb1 = "{0:N2}" -f $size1
$outputBox.AppendText("$computer1 $letter1 $sizegb1 GB Frei
")
$letter1 = " "
$sizebit1 = " "
$size1 = " "
$sizegb1 = " "
$computer1 = " "
}

Habt ihr eine Idee warum das nich funktioniert, bzw. was ich anpassen muss?

Grüße,

Tiberius
Mitglied: Xaero1982
13.05.2014 um 19:18 Uhr
Hi,

was willst du denn überhaupt erreichen?

Benutze bitte code Tags <"code"> <"/code"> ohne ""

Was gibt er denn aus bei $sizebit2 =

Gruß
Bitte warten ..
Mitglied: colinardo
LÖSUNG 13.05.2014, aktualisiert 18.06.2014
Hallo Tiberius,
dein Problem ist folgendes: Wenn ein System mehrere Partitionen hat, bekommst du nicht nur eine Zahl zurück, sondern ein Array aus Zahlen, also für jede Partition auf die die Bedingungen zutrifft, erhältst du den freien Speicherplatz ! Hier musst du entweder deine Bedingungen so einschränken das nur eine Partition zurückgegeben wird, oder auf den ersten Eintrag mit select -First 1 -ExpandProperty Freespace einschränken, oder das Ergebnis des Arrays addieren wenn das gewünscht ist.

Um den freien Speicher aller Partitionen zu addieren kannst du es z.B. so machen:
01.
$sizebit2 = (gwmi win32_volume -computername $computer2 | ?{$_.Name -like "*:\" -and $_.Freespace -gt 0.5 } | measure -Sum -Property Freespace).Sum
oder du listest dir direkt zu jeder Partition jeweils den Namen und den freien Speicher in GB mit einer Calculated Property auf:
01.
gwmi win32_volume | ?{$_.Name -like "*:\" -and $_.Freespace -gt 0.5 } | select Name,@{Name="FreespaceInGB";e={[Math]::Round($_.Freespace/(1024*1024*1024),2)}}
Das gibt ein Objekt zurück mit den Partitionsnamen und direkt berechneter Größe in GB
Beispiel
Name FreespaceInGB 
---- ------------- 
D:\         149,43 
C:\           87,1
wenn du das ganze komplett als String haben willst hängst du dem Konstrukt einfach noch ein format-table -AutoSize an, oder formatierst es nach Wunsch mit einer foreach-Schleife.

Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Visual Studio
Vb.net Datenfelder aus Word 2003 Dokument auslesen (3)

Frage von Herbrich19 zum Thema Visual Studio ...

VB for Applications
gelöst Mit VBA Zertifikate auslesen (3)

Frage von it4baer zum Thema VB for Applications ...

LAN, WAN, Wireless
gelöst Cisco Aironet AP 1250 passwörter auslesen (17)

Frage von Herbrich19 zum Thema LAN, WAN, Wireless ...

Batch & Shell
gelöst Datei aus Verzeichnis auslesen? (4)

Frage von freshman2017 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

LAN, WAN, Wireless
Rogue Access Point (20)

Frage von Axel90 zum Thema LAN, WAN, Wireless ...

Webbrowser
Windows 7 unbeliebte Internetseite sperren (13)

Frage von Daoudi1973 zum Thema Webbrowser ...

E-Mail
Fake E-Mail in Outlook für Demonstartionszwecke (12)

Frage von sascha382 zum Thema E-Mail ...