$Username = "tmp" $Password = "tmp" $QueueName = "RANDOM" $Url = "http://localhost:15672/api/queues/%2F/$QueueName/get" # Encode credentials $EncodedCredentials = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("$Username`:$Password")) $Headers = @{ "Authorization" = "Basic $EncodedCredentials" "Content-Type" = "application/json" } # Request body $Body = @{ "count" = 10 "requeue" = $false "encoding" = "auto" } | ConvertTo-Json -Compress # Send request $Response = Invoke-WebRequest -Uri $Url -Method Post -Headers $Headers -Body $Body # Print messages $Messages = $Response.Content | ConvertFrom-Json $Messages | ForEach-Object { Write-Output "Message: $($_.payload)" }