none
Powershell: Variable zu kurz? RRS feed

  • Frage

  • Hallo Community,

    ich habe folgendes Problem: (Ich bin Anfänger)

    Ich spiele zur Zeit mit der Poweshell rum (und versuche eine AD-Suche ( get-ADUser -Filter { Surname -Like $Search } )in eine Variable zu speichern, bzw. in ein Label auszugeben. Soweit klappt das auch aber da die Ausgabe mehrere Zeilen hat scheint es nicht in die Variable zu passen und auch nicht komplett an das Label übergeben zu werden. Ausgegeben bekomme ich lediglich die erste Zeile der Ausgabe.

    Jetzt meine Frage: Wie bekomme ich eine mehrzeilige Ausgabe in eine Variable bzw. ein Label?

    Ich bin dakbar für jede Hilfe! :)

    VG

    Dienstag, 5. März 2013 07:11

Antworten

  • Label sind für dynamische inhalte nicht vorgesehen. Du müsstes ja auch die umliegenden (alle) anderen Controls dynamisch verschieben.
    Ich empfehle dir statt eines Labels eine Textbox zu nehmen und der Textbox folgende eigenschaften zu geben:
    - readonly = $True
    - Borderstyle = none
    - multiline = $True
    - scrollbar = both

    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!


    • Bearbeitet Peter Kriegel Dienstag, 5. März 2013 10:22
    • Als Antwort markiert Jixxo Dienstag, 5. März 2013 10:31
    Dienstag, 5. März 2013 10:21
  • $Search = $tb_Suche.text $Ergebnis = get-ADUser -Filter { Surname -Like $Search } | Out-String $tb_Ergebnis.text = $Ergebnis

    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    • Als Antwort markiert Jixxo Dienstag, 5. März 2013 11:05
    Dienstag, 5. März 2013 10:41

Alle Antworten

  • Du redest immer von Label ! Inder PowerShell gibt es keine Label!
    Ich vermute mal das du .NET Windows Forms innerhalb der PowerShell nutzt!?
    Sies sind zwei unterschiedliche Techniken! PowerShell selbst ist Fensterlos!

    PowerShell Variablen haben kein Problem mit mehrzeiligen Texten!
    Du musst warscheinlich bei dem Windows Forms Label erst die eigenschaft autosize auf True festlegen!
    Siehe in der Dokumentation zum Label : http://msdn.microsoft.com/de-de/library/system.windows.forms.label.aspx 


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    Dienstag, 5. März 2013 08:31
  • Ja richtig ich nutze Primal Forms in der Community Edition und somit auch die .NET Forms.

    Aber leider habe ich Autosize bereits bei dem Label aktiviert.

    Danke aber für die schnelle Rückmeldung!

    Dienstag, 5. März 2013 08:40
  • Label sind für dynamische inhalte nicht vorgesehen. Du müsstes ja auch die umliegenden (alle) anderen Controls dynamisch verschieben.
    Ich empfehle dir statt eines Labels eine Textbox zu nehmen und der Textbox folgende eigenschaften zu geben:
    - readonly = $True
    - Borderstyle = none
    - multiline = $True
    - scrollbar = both

    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!


    • Bearbeitet Peter Kriegel Dienstag, 5. März 2013 10:22
    • Als Antwort markiert Jixxo Dienstag, 5. März 2013 10:31
    Dienstag, 5. März 2013 10:21
  • Habe ich so umgesetzt. Leider ändert sich dabei nichts. Die TextBox ist nur mit der ersten Zeile gefüllt..

    Hier mal der "Code" der die Textbox befüllen soll:

    $Search = $tb_Suche.text
    $Ergebnis = get-ADUser -Filter { Surname -Like $Search }
    $tb_Ergebnis.text = $Ergebnis

    Ist da vielleicht was fehlerhaft?

    Dienstag, 5. März 2013 10:31
  • $Search = $tb_Suche.text $Ergebnis = get-ADUser -Filter { Surname -Like $Search } | Out-String $tb_Ergebnis.text = $Ergebnis

    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    • Als Antwort markiert Jixxo Dienstag, 5. März 2013 11:05
    Dienstag, 5. März 2013 10:41
  • Ja klasse das Out-String hat funktionert!

    Die Formatierung ist zwar ein wenig Durcheinander geraten aber es funktioniert! Danke :)

    Dienstag, 5. März 2013 11:05
  • Du musst bei der PowerShell IMMER eines bedenken, PowerShell Produziert und verarbeitet Objekte KEINEN TEXT!
    Der Text wird dir nur in der Konsole angezeigt um die Objekte für den Menschen sichtbar zu machen.


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    Dienstag, 5. März 2013 11:25