none
Problem Ausgabeformatierung/Export RRS feed

  • Frage

  • Hallo,

    ich habe folgendes Problem:

    ich möchte aus Exchange(2010) per PS eine Liste über die Auslastung verschiedener Ordner haben (Fragestellung: Wer löscht seinen Papierkorb nicht?)

    Folgenden Script habe ich gefunden und etwas passend gemacht:

    Get-Mailbox | Get-MailboxfolderStatistics |where {$_.FolderPath -match "/Gelöschte Objekte"} |  ft ItemsInFolder,FolderSize,Identity -Wrap -AutoSize

    Wenn ich den in eine Datei ausgebe (> Test.txt), dann erfolgt bei Identity ein Zeilenumbruch (zu lang), der mich stört. Ich hätte das gern in einer Zeile.

    Noch besser wäre natürlich, wenn ich das Ergebnis über Export-CSV in eine CSV bekommen würde. Damit bin ich bis jetzt gescheitert. Irgendwie kommen da nicht die 3 Spalten (ItemsInFolder, FolderSize, Identity)

    Versucht hab ich das folgendermaßen:

    Get-Mailbox | Get-MailboxfolderStatistics |where {$_.FolderPath -match "/Gelöschte Objekte"} |  ft ItemsInFolder,FolderSize,Identity -Wrap -AutoSize | Export-CSV C:\Test.csv -Delimiter ";"

    Weiß jemand, wos klemmt


    Rene Hubert - Systemadministrator - DRK KH Lichtenstein gGmbH

    Freitag, 9. März 2012 07:31

Antworten

  • Hallo Rene,

    wo klemmt es den beim letzten Script? Da kannst Du übrigens die ganze Format-Table (ft) Anweisung weg lassen, wenn es eh als CSV exportiert werden soll.


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    • Als Antwort markiert Hubi Freitag, 9. März 2012 09:48
    Freitag, 9. März 2012 07:45
  • Hallo Rene,

    wenn du Export-CSV benutzt, solltest du nur mit Select-Object arbeiten, nicht mit FL oder FT, da dann die Eigenschaften der Formateigenschaften angezeigt werden. Siehe: http://technet.microsoft.com/en-us/library/dd347724.aspx

    Viele Grüße

    Michael

    • Als Antwort markiert Hubi Freitag, 9. März 2012 09:48
    Freitag, 9. März 2012 09:19
  • Hallo Rene,

    Für Export-CSV kannst du auch den Parameter -UseCultur nutzen. Damit wird das Trennzeichen passend zur Spracheinstellung des Systems automatisch gewählt. Alternativ -Delimiter ((Get-Culture).TextInfo.ListSeparator). Dadurch bist du ein bisschen unabhängiger, wenn du unterschiedliche Sprachversionen einsetzt.

    Viele Grüße

    Michael

    • Als Antwort markiert Hubi Samstag, 10. März 2012 17:40
    Freitag, 9. März 2012 11:15

Alle Antworten

  • Hallo Rene,

    wo klemmt es den beim letzten Script? Da kannst Du übrigens die ganze Format-Table (ft) Anweisung weg lassen, wenn es eh als CSV exportiert werden soll.


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    • Als Antwort markiert Hubi Freitag, 9. März 2012 09:48
    Freitag, 9. März 2012 07:45
  • Hallo Olaf,

    danke, das hat mich schon mal ein Stück weiter gebracht.

    mit dem "ft" sah die Ausgabe so aus:

    #TYPE Microsoft.PowerShell.Commands.Internal.Format.FormatStartData
    "ClassId2e4f51ef21dd47e99d3c952918aff9cd";"pageHeaderEntry";"pageFooterEntry";"autosizeInfo";"shapeInfo";"groupingEntry"
    "033ecb2bc07a4d43b5ef94ed5a35d280";;;"Microsoft.PowerShell.Commands.Internal.Format.AutosizeInfo";"Microsoft.PowerShell.Commands.Internal.Format.TableHeaderInfo";
    "9e210fe47d09416682b841769c78b8a3";;;;;
    "27c87ef9bbda4f709f6b4002fa4af63c";;;;;

    Jetzt, ohne "ft", werden alle Felder exportiert. Kann man beim Export evtl. noch die auszugebenden Felder angeben? 


    Rene Hubert - Systemadministrator - DRK KH Lichtenstein gGmbH

    Freitag, 9. März 2012 08:43
  • Hallo Rene,

    wenn du Export-CSV benutzt, solltest du nur mit Select-Object arbeiten, nicht mit FL oder FT, da dann die Eigenschaften der Formateigenschaften angezeigt werden. Siehe: http://technet.microsoft.com/en-us/library/dd347724.aspx

    Viele Grüße

    Michael

    • Als Antwort markiert Hubi Freitag, 9. März 2012 09:48
    Freitag, 9. März 2012 09:19
  • Hallo Michael,

    danke für den Tip mit Select-Object.

    So funktionierts prima:

    Get-Mailbox | Get-MailboxfolderStatistics |where {$_.FolderPath -match "/Gelöschte Objekte"} | Select-Object ItemsInFolder,FolderSize,Identity | Export-CSV C:\Test.csv -Delimiter ";" -NoTypeInformation -Encoding UNICODE


    Rene Hubert - Systemadministrator - DRK KH Lichtenstein gGmbH

    Freitag, 9. März 2012 09:48
  • Hallo Rene,

    Für Export-CSV kannst du auch den Parameter -UseCultur nutzen. Damit wird das Trennzeichen passend zur Spracheinstellung des Systems automatisch gewählt. Alternativ -Delimiter ((Get-Culture).TextInfo.ListSeparator). Dadurch bist du ein bisschen unabhängiger, wenn du unterschiedliche Sprachversionen einsetzt.

    Viele Grüße

    Michael

    • Als Antwort markiert Hubi Samstag, 10. März 2012 17:40
    Freitag, 9. März 2012 11:15