none
SSH Invoke-SSHCommand Ausgabe formatiert in Datei schreiben RRS feed

  • Frage

  • Hallo zusammen,

    ich möchte gerne mit PowerShell per SSH eine Veribndung aufbauen und z.B. "df -h" abfragen.

    Die Verbindung und die Abfrage funktioniert soweit: 

    Invoke-SshCommand -ComputerName $computername -Command 'df -h' 

    Der Befehl zeigt mir auch die Belegung an.

    Mein Problem ist jetzt:

    Wenn ich die Ausgabe z.B. Invoke-SshCommand -ComputerName $computername -Command 'df -h' | Out-File  $Datei

    erstelle.

    Wird das Ergebnis der Abfrage "df -h" in die Datei gechrieben, jedoch als eine einzige unformatierte Zeile, und nicht als Tabelle, oder por auf der Console angezeigte Zeile eine Zeile in der Datei.

    Gibt es hier eine Möglichkeit die Ausgabe der Abfrage "lesbarer" in eine Datei zu schreiben ?

    Danke Gruß. 

    Dienstag, 15. März 2016 11:50

Antworten

  • Hallo,

    vielen Dank.

    Das war es, das die Ausgabe formatiert dargestellt wird:

    $Strings = $Query[0] -split "`n"
    
    $Strings
    
    $Strings.Count

    • Als Antwort markiert Sv. Gr Mittwoch, 16. März 2016 09:22
    Mittwoch, 16. März 2016 09:22
  • Hallo,

    in diesem Fall die Formatierung ist nicht das Problem. Sagen Sie mir genau was Sie erreichen wollen.

    Schauen Sie mal hier: Using SSH to Access Linux Servers in PowerShell

    "

    To work with a Linux server, first of all you need to establish a session to the server with New-SshSession (I think this cmdlet would benefit from a Credential parameter):

    New-SshSession -ComputerName PuppetVM -Username root -Password puppet

    "

    Gruß,

    Teodora


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.


    Mittwoch, 16. März 2016 08:48
    Moderator

Alle Antworten

  • Hallo,

    erst können Sie der Abfrage in Liste formatieren so:

     Invoke-SshCommand -ComputerName $computername -Command 'df -h' |fl |Out-File  $Datei

    Oder versuchen Sie damit:

    Windows PowerShell Tip of the Week

    Z.B. folgendes:

    $a = "<style>"
    $a = $a + "BODY{background-color:peachpuff;}"
    $a = $a + "TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}"
    $a = $a + "TH{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:thistle}"
    $a = $a + "TD{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:PaleGoldenrod}"
    $a = $a + "</style>"
    
    Get-Service | Select-Object Status, Name, DisplayName | 
    ConvertTo-HTML -head $a &45;body "<H2>Service Information</H2>" | 
    Out-File C:\Scripts\Test.htm
    
    Invoke-Expression C:\Scripts\Test.htm

    Gruß,

    Teodora


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Mittwoch, 16. März 2016 06:11
    Moderator
  • Hallo,

    die Formatierung mit  " | fl " hat leider nicht funktioniert.

    In der Datei wird die Ausgabe trotzdem als eine Zeile dargestellt.

    Bei der Ausgabe mit htm erhalte ich:

    Count Length LongLength Rank SyncRoot IsReadOnly IsFixedSize IsSynchronized
    1 1 1 1 System.Object[] False True False

    Mittwoch, 16. März 2016 07:22
  • Hallo,

    und haben Sie die zweite Variante ausprobiert? Mit der html Datei?

    Gruß,

    Teodora


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Mittwoch, 16. März 2016 07:44
    Moderator
  • Hallo,

    ja habe ich.

    In der html Datei erhalte ich zwar eine Tabelle aber ohne die Werte.

    Es wird eine Tabelle mit folgendne Werten angezeigt:

    
    Count Length LongLength Rank SyncRoot IsReadOnly IsFixedSize IsSynchronized
    1 1 1 1 System.Object[] False True Fal

    Mittwoch, 16. März 2016 07:54
  • Hallo,

    in diesem Fall die Formatierung ist nicht das Problem. Sagen Sie mir genau was Sie erreichen wollen.

    Schauen Sie mal hier: Using SSH to Access Linux Servers in PowerShell

    "

    To work with a Linux server, first of all you need to establish a session to the server with New-SshSession (I think this cmdlet would benefit from a Credential parameter):

    New-SshSession -ComputerName PuppetVM -Username root -Password puppet

    "

    Gruß,

    Teodora


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.


    Mittwoch, 16. März 2016 08:48
    Moderator
  • Hallo,

    vielen Dank.

    Das war es, das die Ausgabe formatiert dargestellt wird:

    $Strings = $Query[0] -split "`n"
    
    $Strings
    
    $Strings.Count

    • Als Antwort markiert Sv. Gr Mittwoch, 16. März 2016 09:22
    Mittwoch, 16. März 2016 09:22