Please help - Error: Cannot index into a null array.

Welcome Forums General PowerShell Q&A Please help - Error: Cannot index into a null array.

Viewing 2 reply threads
  • Author
    • #174685
      Topics: 1
      Replies: 0
      Points: -1
      Rank: Member
      #Load SharePoint CSOM Assemblies
      Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
      Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
      #Function to get all files of a folder
      Function Get-AllFilesFromFolder([Microsoft.SharePoint.Client.Folder]$Folder)
      #Get All Files of the Folder
      $Ctx = $Folder.Context
      #Get all files in Folder
      < # ForEach ($File in $Folder.files)
      #Get the File Name or do something
      Write-host -f Green $File.Name
      } #>
      $DataCollection = @()
      #Iterate through each document in the library
      ForEach($File in $Folder.files)
      #Collect data
      $Data = New-Object PSObject -Property ([Ordered] @{
      FileName = $File.FieldValues["FileLeafRef"]
      RelativeURL = $File.FieldValues["FileRef"]
      CreatedBy = $File.FieldValues["Created_x0020_By"]
      CreatedOn = $File.FieldValues["Created"]
      ModifiedBy = $File.FieldValues["Modified_x0020_By"]
      ModifiedOn = $File.FieldValues["Modified"]
      FileSize = $File.FieldValues["File_x0020_Size"]
      $DataCollection += $Data
      #Export Documents data to CSV
      $DataCollection | Export-Csv -Path $CSVPath -Force -NoTypeInformation
      Write-host -f Green "Documents Data Exported to CSV!"
      #Recursively Call the function to get files of all folders
      #Exclude "Forms" system folder and iterate through each folder
      ForEach($SubFolder in $Folder.Folders | Where {$_.Name -ne "Forms"})
      Get-AllFilesFromFolder -Folder $SubFolder
      #powershell list all documents in sharepoint online library
      Function Get-SPODocumentLibraryFiles()
      [Parameter(Mandatory=$true)] [string] $SiteURL,
      [Parameter(Mandatory=$true)] [string] $LibraryName,
      [Parameter(Mandatory=$true)] [System.Management.Automation.PSCredential] $Credential
      Try {
      #Setup the context
      $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
      $Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)
      #Get the Library and Its Root Folder
      #Call the function to get Files of the Root Folder
      Get-AllFilesFromFolder -Folder $Library.RootFolder
      Catch {
      write-host -f Red "Error:" $_.Exception.Message
      #Config Parameters
      $SiteURL= "https://xxxxxxxxxx/sites/xxxxxxxx/"
      $LibraryName="XX Project Archive"
      $CSVPath = "C:\Lakshmi\TEST\ARCHIVE.csv"
      #Get Credentials to connect
      $Cred = Get-Credential
      #Call the function to Get All Files from a document library
      Get-SPODocumentLibraryFiles -SiteURL $SiteURL -LibraryName $LibraryName -Credential $Cred
    • #174820
      Topics: 0
      Replies: 115
      Points: 433
      Helping Hand
      Rank: Contributor

      If you run your code line by line when do you get the error? What validation have you done? What is the exact error message you receive a copy and paste of it will help us to identify the issue.

    • #174892
      Senior Moderator
      Topics: 8
      Replies: 1141
      Points: 3,927
      Helping Hand
      Rank: Community Hero

      @lpatange – It'll be more easy if you could post the complete error you get here. Don't forget to use the code formatting tags 🙂

Viewing 2 reply threads
  • The topic ‘Please help - Error: Cannot index into a null array.’ is closed to new replies.