0 Pluspunkte 0 Minuspunkte

Ich habe dieses Script um einen PRTG Sensor mit Hilfe der API zu löschen.

$benutzer = "*****"            
$passhash = "*****"            
$lhuri = "https://*****"            

function Remove-PRTGitem {            
param(            
[parameter(mandatory=$true)][int]$objektid            
)            

[string]$loeschenuri = "$lhuri/api/deleteobject.htm?id=$objektid&approve=1&username=$benutzer&passhash=$passhash" # URI zum löschen von PRTG Objekten            

Invoke-RestMethod -uri $loeschenuri # Rest-Schnittstellen Aufruf mit Parameter loeschenuri            

}            

remove-prtgitem -objektid 23283 | Out-Null  

Aber es kommt ständig der selbe Fehler

Invoke-RestMethod : Die zugrunde liegende Verbindung wurde geschlossen: Für den geschützten SSL/TLS-Kanal konnte keine Vertrauensstellung hergestellt werden..
In C:\Users\dan\Desktop\Aktuell\DB Backups\PRTGApi - Kopie.ps1:32 Zeichen:1
+ Invoke-RestMethod -uri $loeschenuri # Rest-Schnittstellen Aufruf mit  ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Du kannst dieses Snippet am beginn deines Script einfügen

Add-Type @"
using System.Net;
using System.Security.Cryptography.X509Certificates;
public class TrustAllCertsPolicy : ICertificatePolicy {
    public bool CheckValidationResult(
    ServicePoint srvPoint, X509Certificate certificate,
    WebRequest request, int certificateProblem) {
        return true;
    }
}
"@

[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy

# Set Tls versions
$allProtocols = [System.Net.SecurityProtocolType]'Ssl3,Tls,Tls11,Tls12'
[System.Net.ServicePointManager]::SecurityProtocol = $allProtocols
von (776 Punkte)