Recordar que ForEach no vuelve objetos a la tubería donde lo hace el ForEach-Objeto.
Usted puede work-around el problema si el lazo de ForEach se ejecuta dentro de un bloque de la escritura. Aunque la conversión al ForEach-Objeto sea generalmente más fácil en los ojos.
Conseguir-Contenido c:\tmp\GetADAccountInfos\Users.txt | ForEach-Objeto {
Conseguir-QADUser el _ de $ | Seleccionar-Objeto SamAccountName, inhabilitado, descripción, MemberOf
} | Exportar-Csv c:\tmp\query.csv
Usted puede ser que todavía tenga el mismo problema con System.String []. Si usted usted necesita enseñar picosegundo a cómo ocuparse del arsenal. Una opción es ésta:
Conseguir-Contenido c:\tmp\GetADAccountInfos\Users.txt | ForEach-Objeto {
Conseguir-QADUser el _ de $ | Seleccionar-Objeto SamAccountName, inhabilitado, descripción,
@ {e= del n='MemberOf'; {“$ ($_.MemberOf)”}}
} | Exportar-Csv c:\tmp\query.csv
Utiliza el separador de campo de la salida del defecto, un espacio, para ensamblar el arsenal de la secuencia (System.String []) así que usted puede ver el contenido. Usted puede eliminar el carácter usado para ensamblar fijando un valor para la variable reservada $OFS (e.g. $OFS = “; ").
HTH
Chris