réponse un peu tardive mais j'ai moi même eu du mal à trouver l'info puis en voyant ton post ça ma orienté sur une autre piste.
# files
[System.IO.FileInfo[]]$files = $([System.IO.Directory]::EnumerateFiles($PWD,"*.*",[System.IO.SearchOption]::AllDirectories)) | %{ [System.IO.FileInfo]$_ }
# custom properties
$files | select BaseName,Name,FullName,Length | Export-Csv -Path $PWD\filelist.csv -Delimiter ';' -NoTypeInformation -Encoding UTF8
# files - splat
$files_ps = @{ Property = @( "BaseName","Name","FullName","Length" ) }
$files = $([System.IO.Directory]::EnumerateFiles($PWD,"*.*",[System.IO.SearchOption]::AllDirectories)) | %{ [System.IO.FileInfo]$_ | select @files_ps }
$files | Export-Csv -Path $PWD\filelist.csv -Delimiter ';' -NoTypeInformation -Encoding UTF8
# directory
[System.IO.DirectoryInfo[]]$directory = [System.IO.Directory]::EnumerateDirectories($PWD,"*",[System.IO.SearchOption]::AllDirectories)