Private/Get-PSObjectFromEntity.ps1

function Get-PSObjectFromEntity
{
    # Internal function
    # Converts entities output from the ExecuteQuery method of table into an array of PowerShell Objects

    [CmdletBinding()]
    param
    (
        [Parameter(Mandatory=$true)]
        $entityList
    )

    $returnObjects = @()

    if (-not [string]::IsNullOrEmpty($entityList))
    {
        foreach ($entity in $entityList)
        {
            $entityNewObj = New-Object -TypeName psobject
            $entity.Properties.Keys | ForEach-Object {Add-Member -InputObject $entityNewObj -Name $_ -Value $entity.Properties[$_].PropertyAsObject -MemberType NoteProperty}

            # Adding table entity other attributes
            Add-Member -InputObject $entityNewObj -Name "PartitionKey" -Value $entity.PartitionKey -MemberType NoteProperty
            Add-Member -InputObject $entityNewObj -Name "RowKey" -Value $entity.RowKey -MemberType NoteProperty
            Add-Member -InputObject $entityNewObj -Name "TableTimestamp" -Value $entity.Timestamp -MemberType NoteProperty
            Add-Member -InputObject $entityNewObj -Name "Etag" -Value $entity.Etag -MemberType NoteProperty

            $returnObjects += $entityNewObj
        }
    }

    return $returnObjects

}
# SIG # Begin signature block
# MIINGQYJKoZIhvcNAQcCoIINCjCCDQYCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUyL3nyvlkIwvJb9paqOcgL/Uu
# fkagggpOMIIE7TCCA9WgAwIBAgIQQZPGqlPXiwG2ivrlaoev8jANBgkqhkiG9w0B
# AQsFADB/MQswCQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRp
# b24xHzAdBgNVBAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxMDAuBgNVBAMTJ1N5
# bWFudGVjIENsYXNzIDMgU0hBMjU2IENvZGUgU2lnbmluZyBDQTAeFw0xODAzMTkw
# MDAwMDBaFw0yMTA2MTAyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UECAwM
# UGVubnN5bHZhbmlhMQ4wDAYDVQQHDAVFeHRvbjEmMCQGA1UECgwdQmVudGxleSBT
# eXN0ZW1zLCBJbmNvcnBvcmF0ZWQxJjAkBgNVBAMMHUJlbnRsZXkgU3lzdGVtcywg
# SW5jb3Jwb3JhdGVkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA79TX
# 6inxpO0aZE9va+HOzFRDWoBh9Cy0gp8Rnya/hUK1cLI250PQQed0SbT4bWNbXvAU
# HekN8Xm6zL53akGbhJre7f9iqTfm2WFdcNDvQxcFwYVVvOa/R5kycmb31Uv30zuT
# zeSPjfn4yuEajN6piRPPOaGQpwpeVCRmCISgWrVrdmiFP9TCr2E1DNGBtH+uR5gM
# 4r/ZAtzwQKBFJH9lzVLN50cRbWFyft1jcEy75hSqlME+5HqkoNs/RamLCPFM6xr7
# NqYNA/7cSv1bH9vG/REGccre06+hAA4PQ4sRyTfNbEKB9lp04+rbkS6tYXWyyGqK
# MaK1UiRqnBwmr58OLQIDAQABo4IBXTCCAVkwCQYDVR0TBAIwADAOBgNVHQ8BAf8E
# BAMCB4AwKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3N2LnN5bWNiLmNvbS9zdi5j
# cmwwYQYDVR0gBFowWDBWBgZngQwBBAEwTDAjBggrBgEFBQcCARYXaHR0cHM6Ly9k
# LnN5bWNiLmNvbS9jcHMwJQYIKwYBBQUHAgIwGQwXaHR0cHM6Ly9kLnN5bWNiLmNv
# bS9ycGEwEwYDVR0lBAwwCgYIKwYBBQUHAwMwVwYIKwYBBQUHAQEESzBJMB8GCCsG
# AQUFBzABhhNodHRwOi8vc3Yuc3ltY2QuY29tMCYGCCsGAQUFBzAChhpodHRwOi8v
# c3Yuc3ltY2IuY29tL3N2LmNydDAfBgNVHSMEGDAWgBSWO1PweTOXr32D7y4rzMq3
# hh5yZjAdBgNVHQ4EFgQUwKmk2F+wqoV90WWkKr+6Emnsg2cwDQYJKoZIhvcNAQEL
# BQADggEBAELOfisTEfHRye6F8VgF1b8SyK5Djmoi6bRYI9m2zzTcbTSEAAeZg5zR
# rv0BOTICLxkltcJK2lxKahpTNa5kNF3jAiwNK1eCz6Id65iLbEo7xVPkTJzuFzdX
# wiCWjo4CO9DEIHJSRyDaPv4bKeW4+4f9YAhJZXcQgH12nRqJaw0rQUig1MZmTPuj
# prF3xeODz2wd67ExM6nzfeHkHELG5JXcjmA5fVBP7KaDibpYGpg+CIHAl9ZC9xnE
# MU4MMab6QS3OZz3EoVSTV6ej9On74E+I8k7/X9NzKZGCQ0tJ28V2OhXD/oXW7a5N
# Aj7F/TiWHEjkdZUTOBZLR/feG2yghBUwggVZMIIEQaADAgECAhA9eNf5dklgsmF9
# 9PAeyoYqMA0GCSqGSIb3DQEBCwUAMIHKMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO
# VmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsx
# OjA4BgNVBAsTMShjKSAyMDA2IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6
# ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFBy
# aW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHNTAeFw0xMzEyMTAwMDAw
# MDBaFw0yMzEyMDkyMzU5NTlaMH8xCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1h
# bnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29y
# azEwMC4GA1UEAxMnU3ltYW50ZWMgQ2xhc3MgMyBTSEEyNTYgQ29kZSBTaWduaW5n
# IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl4MeABavLLHSCMTX
# aJNRYB5x9uJHtNtYTSNiarS/WhtR96MNGHdou9g2qy8hUNqe8+dfJ04LwpfICXCT
# qdpcDU6kDZGgtOwUzpFyVC7Oo9tE6VIbP0E8ykrkqsDoOatTzCHQzM9/m+bCzFhq
# ghXuPTbPHMWXBySO8Xu+MS09bty1mUKfS2GVXxxw7hd924vlYYl4x2gbrxF4Gpiu
# xFVHU9mzMtahDkZAxZeSitFTp5lbhTVX0+qTYmEgCscwdyQRTWKDtrp7aIIx7mXK
# 3/nVjbI13Iwrb2pyXGCEnPIMlF7AVlIASMzT+KV93i/XE+Q4qITVRrgThsIbnepa
# ON2b2wIDAQABo4IBgzCCAX8wLwYIKwYBBQUHAQEEIzAhMB8GCCsGAQUFBzABhhNo
# dHRwOi8vczIuc3ltY2IuY29tMBIGA1UdEwEB/wQIMAYBAf8CAQAwbAYDVR0gBGUw
# YzBhBgtghkgBhvhFAQcXAzBSMCYGCCsGAQUFBwIBFhpodHRwOi8vd3d3LnN5bWF1
# dGguY29tL2NwczAoBggrBgEFBQcCAjAcGhpodHRwOi8vd3d3LnN5bWF1dGguY29t
# L3JwYTAwBgNVHR8EKTAnMCWgI6Ahhh9odHRwOi8vczEuc3ltY2IuY29tL3BjYTMt
# ZzUuY3JsMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDAzAOBgNVHQ8BAf8E
# BAMCAQYwKQYDVR0RBCIwIKQeMBwxGjAYBgNVBAMTEVN5bWFudGVjUEtJLTEtNTY3
# MB0GA1UdDgQWBBSWO1PweTOXr32D7y4rzMq3hh5yZjAfBgNVHSMEGDAWgBR/02Wn
# wt3su/AwCfNDOfoCrzMxMzANBgkqhkiG9w0BAQsFAAOCAQEAE4UaHmmpN/egvaSv
# fh1hU/6djF4MpnUeeBcj3f3sGgNVOftxlcdlWqeOMNJEWmHbcG/aIQXCLnO6SfHR
# k/5dyc1eA+CJnj90Htf3OIup1s+7NS8zWKiSVtHITTuC5nmEFvwosLFH8x2iPu6H
# 2aZ/pFalP62ELinefLyoqqM9BAHqupOiDlAiKRdMh+Q6EV/WpCWJmwVrL7TJAUwn
# ewusGQUioGAVP9rJ+01Mj/tyZ3f9J5THujUOiEn+jf0or0oSvQ2zlwXeRAwV+jYr
# A9zBUAHxoRFdFOXivSdLVL4rhF4PpsN0BQrvl8OJIrEfd/O9zUPU8UypP7WLhK9k
# 8tAUITGCAjUwggIxAgEBMIGTMH8xCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1h
# bnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29y
# azEwMC4GA1UEAxMnU3ltYW50ZWMgQ2xhc3MgMyBTSEEyNTYgQ29kZSBTaWduaW5n
# IENBAhBBk8aqU9eLAbaK+uVqh6/yMAkGBSsOAwIaBQCgeDAYBgorBgEEAYI3AgEM
# MQowCKACgAChAoAAMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQB
# gjcCAQsxDjAMBgorBgEEAYI3AgEVMCMGCSqGSIb3DQEJBDEWBBQeBPYTnPaujyQj
# Zx69oV4dBF3TWDANBgkqhkiG9w0BAQEFAASCAQAGPpvtQ0930+R+liVsPgYlvnrq
# k8xUxJOKj/XRjaY3RSEwh8azW3/irWRivXWdWlhDydjA9fyEXC/z2nlkgbDnsO1O
# oVOHaQaaWfFxFBptUUVsc6gXWWqY2FFSZX2NjwT4zLCgofJPGtrJJyH0kGZJy1bW
# DPYkNbAhmRzCmsb4LCItaljBDlL4qlyS9IIRef9x6RMlaGg4RKNXn3FKclnHoY17
# oNUF9kIvUkOBySjZNkiPnng1Cd7E840d50fE1LF9CMBUJ9mMInLwAKVxEzTpTfVk
# 8bV+Uo3PGgxBElIFHj1f2onCLyz4xrS4AFctpzevNu0P0LAkLIwfX5D8nzy2
# SIG # End signature block