Recordar que ForEach não retorna objetos ao encanamento onde o ForEach-Objeto faz.
Você pode ac1ão alternativa o problema se o laço de ForEach é executado dentro de um bloco do certificado. Embora a conversão ao ForEach-Objeto seja geralmente mais fácil nos olhos.
Começ-Índice c:\tmp\GetADAccountInfos\Users.txt | ForEach-Objeto {
Começ-QADUser o _ de $ | Selecionar-Objeto SamAccountName, deficiente, descrição, MemberOf
} | Exportar-Csv c:\tmp\query.csv
Você pôde ainda ter o mesmo problema com System.String []. Se você você precisa de ensinar a picosegundo como tratar a disposição. Uma opção é esta:
Começ-Índice c:\tmp\GetADAccountInfos\Users.txt | ForEach-Objeto {
Começ-QADUser o _ de $ | Selecionar-Objeto SamAccountName, deficiente, descrição,
@ {e= do n='MemberOf'; {“$ ($_.MemberOf)”}}
} | Exportar-Csv c:\tmp\query.csv
Usa o separador de campo da saída do defeito, um espaço, para juntar-se à disposição da corda (System.String []) assim que você pode ver os índices. Você pode cancelar o caráter usado para juntar-se ajustando um valor para a variável reservado $OFS (por exemplo $OFS = “; ").
HTH
Chris