Frage zur Ausgabe in Message Box von Invoke Command

  • PowerShell

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Takafusa.

    Frage zur Ausgabe in Message Box von Invoke Command

    Hallo,

    ich habe leider noch wenig Ahnung von PowerShell.

    Ich habe ein Invoke Commando das auch läuft das einen Dienst auf einen Server abfragt.
    Ich möcht eigentlich nur das Erfebniss in iner Messagbox ausgeben.
    Kann mich hierzu jemand unterstützen oder einen Tipp geben wie man dies umsetzt.

    So wie ich das gemacht hae läuft es Leider nicht.
    Datei ist eine ps1

    Quellcode

    1. #Abfrage Dienst auf Server3
    2. $user='domain\Administrator'
    3. $pass='password'
    4. $ergebn = Invoke-Command -ComputerName Server3 -Credential (New-Object System.Management.Automation.PSCredential $user,(ConvertTo-SecureString $pass -AsPlainText -Force)) -ScriptBlock {get-service -name polling}
    5. # Mesage Box
    6. [System.Windows.Forms.MessageBox]::Show("Terst",$ergebn,0)

    Leide kommt zum Fehler den ich vorher schon hatte.

    Für "Show" und die folgende Argumenteanzahl kann keine Überladung gefunden werden: "3".
    In C:\Users\Desktop\Dienst_info.ps1:10 Zeichen:1
    + [System.Windows.MessageBox]::Show("Test",$ergebn,0)
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [], MethodException
    + FullyQualifiedErrorId : MethodCountCouldNotFindBest

    Quellcode

    1. #Abfrage Dienst auf Server3
    2. $user='domain\Administrator'
    3. $pass='password'
    4. $ergebn = Invoke-Command -ComputerName Server3 -Credential (New-Object System.Management.Automation.PSCredential $user,(ConvertTo-SecureString $pass -AsPlainText -Force)) -ScriptBlock {get-service -name polling}
    5. # Mesage Box
    6. Add-Type -AssemblyName PresentationFramework
    7. [System.Windows.MessageBox]::Show("Test",$ergebn,0)
    Hallo Takafusa,

    es hängt nicht an der Messagebox es ist die Ausgabe des "Invoke Command"
    Ich bekomme dies nicht in der Message Box angezeigt

    Hab das mit der Format List umgesetzt
    Ich bekomme bei

    Quellcode

    1. echo $ergebn
    die Ausgabe

    Status : Running
    So wie ich das haben will.

    Ich vermute das da Leerzeichen Zeilenumbrüche sind und versuche mit Trim zu entfernern
    $ergebn.Trim()
    Leider passiert nicht viel

    Quellcode

    1. #Abfrage Dienst auf Server3
    2. $user='domain\Administrator'
    3. $pass='password'
    4. $ergebn = Invoke-Command -ComputerName Server3 -Credential (New-Object System.Management.Automation.PSCredential $user,(ConvertTo-SecureString $pass -AsPlainText -Force)) -ScriptBlock {get-service -name polling | Format-List -Property Status }
    5. echo $ergebn
    6. #Ausgabe Status : Running
    7. # Message Box
    8. Add-Type -AssemblyName PresentationFramework
    9. [System.Windows.MessageBox]::Show("Test",$ergebn,0)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „jnpanzer“ ()

    Keine Ahnung was da in die Hose geht. Mach's einfach auf die harte Tour, das sollte auch bei dir gehen.

    Quellcode

    1. $function = @"
    2. [DllImport("user32.dll")]public static extern int MessageBox(IntPtr hWnd, String lpText, String lpCaption, uint uType);
    3. "@
    4. $msgbox = Add-Type -MemberDefinition $function -Name "Win32MessageBox" -Namespace Win32Functions -PassThru
    5. $res = $msgbox::MessageBox(0, "TEST", "TEST", 0)

    Hi Takadusa,
    wir reden anneinander vorbei.
    Danke für Eure Tipps hat mir sehr geholfen

    Ich habs jetzt aber gelöst :)

    Quellcode

    1. #Abfrage Dienst auf Server3
    2. $user='domain\Administrator'
    3. $pass='password'
    4. $ergebn = Invoke-Command -ComputerName Server3 -Credential (New-Object System.Management.Automation.PSCredential $user,(ConvertTo-SecureString $pass -AsPlainText -Force)) -ScriptBlock {get-service -name polling | Format-List -Property Status }
    5. $ergebn = $ergebn | Format-Table -HideTableHeaders | Out-String
    6. $ergebn= $ergebn.Trim()
    7. # Message Box
    8. Add-Type -AssemblyName PresentationFramework
    9. [System.Windows.MessageBox]::Show("Test",$ergebn,0)

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „jnpanzer“ ()

    Oooopps, jetzt seh ich das auch, dachte hast Probleme die MessageBox zu zeigen. Der(entfernte) Screenshot, hätte in den ersten Post gehört, da steht nur das es nicht läuft.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Takafusa“ ()