Hi @Tan Phat Huynh ,
We can try retrieve all column name and get items by title.Following code for sample:
$siteURL = "site url"
$userId = "abc@tenant.onmicrosoft.com"
$pwd = Read-Host -Prompt "123456" -AsSecureString
$creds = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($userId, $pwd)
$ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteURL)
$ctx.credentials = $creds
try{
$lists = $ctx.web.Lists
$list = $lists.GetByTitle("TestList01")
$listItems = $list.GetItems([Microsoft.SharePoint.Client.CamlQuery]::CreateAllItemsQuery())
$ctx.load($listItems)
$ctx.load($list.Fields)
$ctx.executeQuery()
foreach($Field in $list.Fields){
foreach($listItem in $listItems){
Write-Host $Field.Title " - " $listItem[$Field.Title]
}
}
}
catch{
write-host "$($_.Exception.Message)" -foregroundcolor red
}