none
foreach-object pipe to csv failed RRS feed

  • Frage

  • Hi i have the following Probleme:

    Get-Content C:\USerlist.txt| Get-QADUser |foreach-object { $_.displayname,$_.PasswordLastSet}
    This works fine, but how could i export this to a CSV . Tried to pipe it to export-csv.. did not work-

    Freitag, 12. Oktober 2012 09:47

Antworten

  • Hi welcome !
     This is the German PowerShell Forum!

    For english see here:

    http://social.technet.microsoft.com/Forums/en-US/winserverpowershell/threads

    Your problem is easy to solve:

    Get-Content C:\USerlist.txt| Get-QADUser | Select-object displayname,PasswordLastSet | Export-Csv c:\temp\Users.csv


    Please click “Mark as Answer” if my post answers your question and click Vote as Help if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als Hilfreich und Beiträge die deine Frage ganz oder teilweise beantwortet haben als Antwort.
    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' '



    • Bearbeitet Peter Kriegel Freitag, 12. Oktober 2012 10:07
    • Als Antwort markiert gpa2 Freitag, 12. Oktober 2012 11:07
    Freitag, 12. Oktober 2012 10:05
  • Export-CSV erwartet EIN Objekt, das in eine Tabelle Konvertiert wird.
    Da dein ForEach  2 Objekte in der Pipeline weitergibt, weiß Export-CSV nicht wie es diese beiden Objekte in einer Tabelle zusammenführen soll.
    Select-Objekt liest die gewünschten Properties aus und erstellt aus diesen Properties ein neues Objekt. Dieses neue Objekt wir dann weitergereicht. Somit bekommt Export-CSV nur ein Objekt als Eingabe.

    Mit -NoTypeInformation wird es noch sauberer:

    Get-Content C:\USerlist.txt| Get-QADUser | Select-object displayname,PasswordLastSet | Export-Csv c:\temp\Users.csv -NoTypeInformation


    Please click “Mark as Answer” if my post answers your question and click Vote as Help if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als Hilfreich und Beiträge die deine Frage ganz oder teilweise beantwortet haben als Antwort.
    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' '


    • Bearbeitet Peter Kriegel Freitag, 12. Oktober 2012 10:46
    • Als Antwort markiert gpa2 Freitag, 12. Oktober 2012 11:08
    Freitag, 12. Oktober 2012 10:44

Alle Antworten

  • Hi welcome !
     This is the German PowerShell Forum!

    For english see here:

    http://social.technet.microsoft.com/Forums/en-US/winserverpowershell/threads

    Your problem is easy to solve:

    Get-Content C:\USerlist.txt| Get-QADUser | Select-object displayname,PasswordLastSet | Export-Csv c:\temp\Users.csv


    Please click “Mark as Answer” if my post answers your question and click Vote as Help if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als Hilfreich und Beiträge die deine Frage ganz oder teilweise beantwortet haben als Antwort.
    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' '



    • Bearbeitet Peter Kriegel Freitag, 12. Oktober 2012 10:07
    • Als Antwort markiert gpa2 Freitag, 12. Oktober 2012 11:07
    Freitag, 12. Oktober 2012 10:05
  • Moin,

    da wir im deutschen Forum sind, machen wir in deutsch weiter:

    Mach aus:

    Get-Content C:\USerlist.txt| Get-QADUser |foreach-object { $_.displayname,$_.PasswordLastSet}

    Einfach:

    Get-Content C:\USerlist.txt| Get-QADUser | select-object displayname,PasswordLastSet

    Das kannst Du anschließend problemlos auch mit export-csv in eine CSV-Datei pipen (oder mit format-table ausgeben, oder mit  convertto-html in eine HTML-Datei konvertieren, usw. usf.).


    Grüße aus Berlin schickt Robert
    MVP Exchange Server
    Freitag, 12. Oktober 2012 10:13
  • Hallo Peter , das funktioniert super . Könntest Du mir erklären warum es mit meinem foreach-Objekt Ansatz nicht funktioniert.

    Freitag, 12. Oktober 2012 10:14
  • Hallo Robert  , das funktioniert super . Könntest Du mir erklären warum es mit meinem foreach-Objekt Ansatz nicht funktioniert.

    Freitag, 12. Oktober 2012 10:23
  • Export-CSV erwartet EIN Objekt, das in eine Tabelle Konvertiert wird.
    Da dein ForEach  2 Objekte in der Pipeline weitergibt, weiß Export-CSV nicht wie es diese beiden Objekte in einer Tabelle zusammenführen soll.
    Select-Objekt liest die gewünschten Properties aus und erstellt aus diesen Properties ein neues Objekt. Dieses neue Objekt wir dann weitergereicht. Somit bekommt Export-CSV nur ein Objekt als Eingabe.

    Mit -NoTypeInformation wird es noch sauberer:

    Get-Content C:\USerlist.txt| Get-QADUser | Select-object displayname,PasswordLastSet | Export-Csv c:\temp\Users.csv -NoTypeInformation


    Please click “Mark as Answer” if my post answers your question and click Vote as Help if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als Hilfreich und Beiträge die deine Frage ganz oder teilweise beantwortet haben als Antwort.
    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' '


    • Bearbeitet Peter Kriegel Freitag, 12. Oktober 2012 10:46
    • Als Antwort markiert gpa2 Freitag, 12. Oktober 2012 11:08
    Freitag, 12. Oktober 2012 10:44
  • Hallo Peter, super Erkärung .. Vielen Dank
    Freitag, 12. Oktober 2012 10:48
  • Gerne doch!

    Bitte Markiere die richtige Antwort als Antwort ! (unten im Post : Als Antwort markieren)
    Bei mehrteiligen Antworten kannst du auch mehrere Post markieren!
    Dies hilft späteren Lesern die Antwort sofort (grün) zu finden!
    Nicht als Hilfreich !


    Please click “Mark as Answer” if my post answers your question and click Vote as Help if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als Hilfreich und Beiträge die deine Frage ganz oder teilweise beantwortet haben als Antwort.
    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' '

    Freitag, 12. Oktober 2012 10:54