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, 1486 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
Festplatten, SSD, Raid
gelöst Frage wegen Partitionen ändern (5)

Frage von DeathNote zum Thema Festplatten, SSD, Raid ...

Batch & Shell
gelöst Mit Batch einen Dateityp auf Partition suchen (2)

Frage von M4tze521999 zum Thema Batch & Shell ...

Windows 10
gelöst Partition vor der Systempartition löschen - Windows10 (4)

Frage von Selassi zum Thema Windows 10 ...

Virtualisierung
gelöst Proxmox Boot Partition formatiert (9)

Frage von sebastian2608 zum Thema Virtualisierung ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (58)

Frage von pjrtvly zum Thema Internet ...

DSL, VDSL
VDSL Signal via PowerLine an Fritzbox - Möglich? (19)

Frage von Seichobob zum Thema DSL, VDSL ...

Windows Server
Benutzer sperrt sich immer wieder im Active Directory Contoller (17)

Frage von Kirdy1301 zum Thema Windows Server ...