Daran erinnern, dass ForEach Gegenstände nicht zur Rohrleitung zurückbringt, in der ForEach-Gegenstand tut.
Sie können Work-around das Problem, wenn die ForEach Schleife innerhalb eines Indexblockes durchgeführt. Obgleich Umwandlung zum ForEach-Gegenstand im Allgemeinen auf den Augen einfacher ist.
Erhalten-Inhalt c:\tmp\GetADAccountInfos\Users.txt | ForEach-Gegenstand {
$ _ Erhalten-QADUser | Vorwählen-Gegenstand SamAccountName, gesperrt, Beschreibung, MemberOf
} | c:\tmp\query.csv Exportieren-Csv
Sie konnten das gleiche Problem mit System.String noch haben []. Wenn Sie Sie PS unterrichten müssen, wie man die Reihe beschäftigt. Eine Wahl ist diese:
Erhalten-Inhalt c:\tmp\GetADAccountInfos\Users.txt | ForEach-Gegenstand {
$ _ Erhalten-QADUser | Vorwählen-Gegenstand SamAccountName, gesperrt, Beschreibung,
@ {n='MemberOf'; e= {„$ ($_.MemberOf)“}}
} | c:\tmp\query.csv Exportieren-Csv
Es benutzt den Rückstellung Ausgangs-Feld-Separator, einen Raum, um der Schnurreihe (System.String []) anzuschließen, also können Sie den Inhalt sehen. Sie können den Buchstaben aufheben, der benutzt, um zu verbinden, indem Sie einen Wert für die reservierte Variable $OFS einstellen (z.B. $OFS = „; ").
HTH
Chris