Private/ps1/Get-CookiesObject.ps1

<#
.SYNOPSIS
    Converts cookies from a response into an array of hashtables.
 
.DESCRIPTION
    Takes cookie collection from Invoke-WebRequest response and converts them
    into an array of hashtables containing cookie information.
 
.PARAMETER Cookies
    The cookies collection from the response object.
 
.EXAMPLE
    $cookiesObj = Get-CookiesObject $response.Cookies
#>

function Get-CookiesObject {
    param (
        $Cookies
    )
    
    if (-not $Cookies) {
        return @()
    }
    
    $cookiesList = @()
    foreach ($cookie in $Cookies) {
        $cookiesList += @{
            Name = $cookie.Name
            Value = $cookie.Value
            Path = $cookie.Path
            Domain = $cookie.Domain
            Expires = $cookie.Expires
        }
    }
    
    return $cookiesList
}