A raiz do seu problema é que Lynn Johnson possui vários dispositivos e seu código assume que Get-MobileDeviceStatistics
retornará apenas um único resultado.
Como a consulta de Lynn retorna vários resultados, a referência feita a $a.DeviceModel
e tal são matrizes de objetos (prováveis sequências). Você precisa contabilizar isso de alguma forma, dependendo dos requisitos do seu negócio. Eu acho que o mais lógico para alguém consumir o CSV seria ter um registro por dispositivo. Então, se Lynn tiver 3 dispositivos, ela terá 3 linhas no CSV. Mas você também pode tentar unir os elementos da matriz em um único valor de coluna combinada. Ou você pode optar por relatar apenas o primeiro dispositivo, etc.
Há algumas outras sugestões que tenho para o seu script também.
- Não use
-Properties *
na sua consultaGet-ADUser
. É um desperdício em termos de tempo de processamento e largura de banda. Você já sabe quais propriedades você deseja. Então, basta escrevê-los no script. - Não tente formatar manualmente a saída CSV. Deixe o cmdlet nativo de
Export-CSV
do Powershell fazer o trabalho para você. Ele tem um parâmetro-Delimiter
, então você ainda pode usar um ponto-e-vírgula se não gostar da vírgula default.