Invoke-HTPlatformMessage.ps1
function Invoke-HTPlatformMessage { [CmdletBinding()] param ( [string]$RawMessage, [string]$ToDirectComponent, [int]$Count=1 ) begin { if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback').Type) { $certCallback = ' using System; using System.Net; using System.Net.Security; using System.Security.Cryptography.X509Certificates; public class ServerCertificateValidationCallback { public static void Ignore() { if(ServicePointManager.ServerCertificateValidationCallback ==null) { ServicePointManager.ServerCertificateValidationCallback += delegate ( Object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors ) { return true; }; } } } ' Add-Type $certCallback } [ServerCertificateValidationCallback]::Ignore() } process { $posturi = 'https://localhost:8001' if($ToDirectComponent -ne '') { $posturi = "https://localhost:8003/$ToDirectComponent/1" } $param = @{ 'Uri' = $posturi; 'Method' = 'POST'; 'Headers' = @{'Content-Type'='application/json'}; 'Body' = $RawMessage } 1..$Count | ForEach-Object { $result = Invoke-WebRequest @param Write-Information "Response:`n $($result.RawContent)" } Write-Host "Post URL: $posturi" -ForegroundColor Yellow Write-Host "Count: $Count" -ForegroundColor Yellow } } |