1年以上問題なく動作しているInvoke-RestMethodを呼び出すと、安全な(https)サイトが呼び出されました。多くのテストの結果、のセキュリティで保護されたサイトのリクエストで、コールが一貫して失敗して再現できることがわかりましたが、理由はわかりません。次のコードは失敗します。Powershell Invoke-RestMethod証明書の有効性確認
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
Invoke-RestMethod -Uri https://blogs.msdn.com/powershell/rss.aspx | Format-Table -Property Title, pubDate
生成エラーは以下の通りです:
起動-RestMethod:基礎となる接続が閉じられました:予期しないエラーが送信時に発生しました。 行目:1文字:1 + Invoke-RestMethod -Uri https://blogs.msdn.com/powershell/rss.aspx |フォーマットテーブル... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:はInvalidOperation:(System.Net.HttpWebRequest:HttpWebRequestの)-RestMethodを起動]、WebException + FullyQualifiedErrorId:WebCmdletWebResponseException 、
Microsoft.PowerShell.Commands.InvokeRestMethodCommand
は私は を[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
上記の行を含む場合、私が以前に示されたエラーを得ることを見出しました。上記の動作とエラーは、実際にはとは逆のです。以前は、ServerCertificateValidationCallbackをtrueに設定せずにhttps要求を行うことはできませんでした。
さまざまなWindowsユーザープロファイルで複数のコンピュータから試してみましたが、管理者権限でPowerShellを起動しましたが、上記の行を追加すると問題を再現できます。動作させるには、PowerShellを閉じてから再度開いて、ServerCertificateValidationCallback行を削除する必要があります。コードに行を追加すると、エラーが返されます。
私がコードを実行した最後の時間は2週間前であったため、時間枠を正確に特定できるほど狭くなりました。なぜこれが今失敗しているのかについてのアイデアはありますか?
これはではありません。私はもともと問題があったサイトですが、私が直面している問題は上記のコードで再現できます。
[これは役立つかもしれません](http://stackoverflow.com/questions/36265534/invoke-webrequest-ssl-fails/36266735#36266735) –