$FileServerShares
ist bereits ein Array (auch ohne [array]
Angabe):
PS> $FileServerShares.getType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Object[] System.Array
Wenn aus irgendeinem Grund ein Array von Freigabeobjekten in eine Zeichenfolge konvertiert wird, wird jede Freigabe in dieselbe Zeile gestellt. Ich weiß nicht, warum das so ist, aber Sie könnten die Freigabeobjekte in Strings konvertieren, sodass Sie ein Array von Strings haben. String-Arrays werden in mehrzeilige Strings konvertiert.
$FileServer = "ServerName" $FileServerShares = gwmi win32_Share -ComputerName $FileServer | Where-Object {$_.type -eq '0'} | Where {$_.name -notlike "*$*"} | % { $_.ToString() } Write-Host $FileServerShares