none
Partition Infos aus Combobox in TextBox anzeigen mit wmi-object RRS feed

  • Frage

  • Hallo zusammen,

    ich bin am verzweifeln. Ich baue grade eine Datei Verwaltung als Project.

    Ich möchte mir in einer TextBox die werte der Partition anzeigen lassen die ich in ein Combobox vorher ausgewählt habe. Das ganze mache ich mit wmi-object. Ich kriege das leider nur nicht hin. Das Skript läuft ohne Fehler durch aber es wird nichts angezeigt. 

    Hoffe es hat einer ne Idee bzw Lösung. Der Teil befindet sich im letzten Abschnitt. #das meine ich

    Hier der Code:

    [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
    [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")


    $objForm = New-Object System.Windows.Forms.Form
    $objForm.BackgroundImageLayout = 2
    #$objForm.BackgroundImage =[System.Drawing.Image]::FromFile('C:\Users\fritz\Pictures\MP3.jpg')
    #$objForm.StartPosition = "CenterScreen"
    $objForm.Size = New-Object System.Drawing.Size(1000,700)
    $objForm.Text ="Musik Verwaltung"
    $objForm.Visible= $false

    $Objlabel = New-Object System.Windows.Forms.Label
    $Objlabel.Size = New-Object System.Drawing.Size (150,20)
    $Objlabel.Location = New-Object System.Drawing.Size (240,390)
    $Objlabel.Text ="Wähle Dein Musik Laufwerk"
    #$Objlabel.BorderStyle = "Fixed3d"
    $objForm.Controls.Add($Objlabel)

    $ObjComboBox = New-Object System.Windows.Forms.ComboBox
    $ObjComboBox.Size = New-Object System.Drawing.Size(50,100)
    $ObjComboBox.Location = New-Object System.Drawing.Size(400,390)
    $ObjComboBox.Height = 70

    $array = @("C:\", "D:\" , "E:\" , "F:\" , "G:\")

    $ObjComboBox.Items.AddRange($array)
    $ObjComboBox.SelectedItem
    $ObjComboBox.Add_SelectedIndexChanged({})
    $objForm.Controls.Add($ObjComboBox)

    $Objlabel1 = New-Object System.Windows.Forms.Label
    $Objlabel1.Size = New-Object System.Drawing.Size (150,30)
    $Objlabel1.Location = New-Object System.Drawing.Size (240,420)
    $Objlabel1.Text ="Deine Suche *nicht vergessen!!!"
    #$Objlabel.BorderStyle = "Fixed3d"
    $objForm.Controls.Add($Objlabel1)

    $ObjSuchBox = New-Object System.Windows.Forms.TextBox
    $ObjSuchBox.Size = New-Object System.Drawing.Size(100,150)
    $ObjSuchBox.Location = New-Object System.Drawing.Size(400,420)
    $ObjSuchBox.Text = ""
    $suche = $ObjSuchBox.Text
    $objForm.Controls.Add($ObjSuchBox)

    $SucheButton = New-Object System.Windows.Forms.Button
    $SucheButton.Location = New-Object System.Drawing.Point(510,420)
    $SucheButton.Size = New-Object System.Drawing.Size(60,20)
    $SucheButton.Text = 'Suche'
    $SucheButton.Add_Click(
     { 
      $suche = $ObjSuchBox.Text
      $lw = $ObjComboBox.SelectedItem
      gci "$lw" -Filter "$suche" -Force -EA Ignore -Recurse -File | select Fullname  | ogv -Title "Hier sind die gesuchten Lieder"  -PassThru   | %{start-process $_.Fullname}})
     
    $ObjForm.AcceptButton = $SucheButton
    $Objform.Controls.Add($SucheButton)

    $Objlabel2 = New-Object System.Windows.Forms.Label
    $Objlabel2.Size = New-Object System.Drawing.Size (150,30)
    $Objlabel2.Location = New-Object System.Drawing.Size (240,460)
    $Objlabel2.Text ="Partition Information"
    $objForm.Controls.Add($Objlabel2)

    #das meine ich

    $ObjGBBox = New-Object System.Windows.Forms.TextBox
    $ObjGBBox.Size = New-Object System.Drawing.Size(100,150)
    $ObjGBBox.Location = New-Object System.Drawing.Size(400,460)
    $ObjGBBox.Text = get-wmiobject Win32_LogicalDisk -Filter 'DeviceId = "$ObjComboBox.SelectedItem"'
    ForEach ($laufwerk in $lw = $ObjComboBox.SelectedItem)
    {
    " {0} {1,15:n} {2,15:n}" -f $LW.DeviceID, $LW.Size, $($LW.freespace/1000mb)
    }

    $objForm.Controls.Add($ObjGBBox)

    [void] $objForm.ShowDialog()

    Danke schonmal im voraus für eure Hilfe

    Viele Grüße

    Montag, 18. Januar 2021 07:36

Antworten