Invoquer-RestMethod - Ignorer Les Certificats Auto-Signés

Il semble que cette question a été posée et répondue, mais jusqu'à présent, chaque solution que j'ai trouver n'aide pas. Je suis en train d'écrire un script PowerShell pour exécuter certaines API REST pour obtenir des informations d'utilisation. Mon script sauts juste essayer de communiquer avec le serveur. Pour le test de souci, je suis en train de faire un très simpliste de commande:

Invoke-RestMethod 'https://server:4443/login'

Il retourne avec cette erreur:

Invoke-RestMethod : The underlying connection was closed: An unexpected error occurred on a send.

Je peux lancer la même commande mais avec l'URL google.com et je reçois un retour valide, donc je connais la commande de travail de manière générale.

Si j'exécute la boucle d'équivalent sur le serveur lui-même, les choses se terminer comme prévu. Voici un extrait de la sortie détaillée de la commande curl:

* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server key exchange (12):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using TLSv1.0 / DHE-RSA-AES256-SHA
* Server certificate:
*        subject: CN=localhost
*        start date: 2016-03-22 21:48:57 GMT
*        expire date: 2026-03-20 21:48:57 GMT
*        issuer: CN=localhost
*        SSL certificate verify result: self signed certificate (18), continuing anyway.

Je suis en supposant que c'est une auto-signé cert question basée sur la recherche le générique d'erreur PowerShell retourne.

J'ai essayé:

[Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}

et d'autres méthodes similaires (fonctions complexes) pour aider à ignorer les problèmes de certificat avec pas de chance.

Je suis en cours d'exécution de PowerShell 5 dans le cas qui aide.

Je suis décent avec PowerShell code mais c'est ma première fois d'essayer Invoke-RestMethod, donc peut-être que je suis absent quelque chose. Toute réflexion est apprécié.

Peut-être que vous manquez de vos informations d'identification si le serveur nécessite auth (-Credential). Ou vous avez besoin de spécifier -Method paramètre post ou"get. Il est difficile de dire si nous ne savons pas ce que votre serveur attend.
Mes excuses pour ne pas donner une information complète à l'avance. Je passe des informations d'identification via les en-têtes. J'ai essayé d'appeler explicitement la méthode de trop.

OriginalL'auteur firestarter247 | 2016-04-06