Get-SPAllFolderItems.ps1
Function Get-SPAllFolderItems{ [CmdletBinding()] Param( [Parameter(Mandatory=$true,ValueFromPipeline,ParameterSetName='Folder')] [Microsoft.SharePoint.Client.Folder]$Folder, [Parameter(Mandatory=$true,ValueFromPipeline,ParameterSetName='List')] [Microsoft.SharePoint.Client.List]$List ) #update Initialize to support arrays. #Initialize-SPOCSOMCollections -CSOMCollection @($list.RootFolder,$list.RootFolder.Folders,$List.RootFolder.Files) if($List){ Initialize-SPOCSOMCollections -CSOMCollection $list.RootFolder $Folder = $list.RootFolder } Initialize-SPOCSOMCollections -CSOMCollection $Folder.Folders Initialize-SPOCSOMCollections -CSOMCollection $Folder.Files $items = $Folder.Files If($Folder.Folders.Count -gt 0){ $Folder.Folders | ForEach-Object { $items += Get-SPAllFolderItems -Folder $_ } } Return $items } |