最近、Invoke-WebRequest コマンドレットで Sysinternals のツールをダウンロードしようとしたら、「接続が切断されました:送信時に、予期しないエラーが発生しました」(英語だと The underlying connection was closed: An unexprected error occurred on a send.)と表示されてちょっと焦りました。TLS 1.2 を強制するサイトのあるあるだそうで。
上のように次の 1 行を実行してから再試行すれば回避可能。
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Windows 10 ver 1803 以前の PowerShell 5.1 の既定は SSL3 と TLS になっているので、TLS 1.2 が強制されているサイトへの接続は拒否されます。
Windows 10 ver 1803 以前でシステムの既定値を変更する方法はこちら。
.NET Framework で TLS1.1 および 1.2 を有効化する方法 -まとめ-
https://blogs.technet.microsoft.com/jpieblog/2018/10/11/net-framework-tls11-12-2/
ちなみに、Windows 10 ver 1809 (幻の October 2018 Update)の既定は、TLS、TLS 1.1、TLS 1.2 でした。ので、「接続が切断されました:送信時に、予期しないエラーが発生しました」に出会うことはないでしょう。
最近まで https://live.sysinternals.com では TLS 1.2 は強制されていなかったような気がします(たぶん)。なぜなら、以下のスクリプトは ver 1803 の同じ PC で作ったもの。
関連
Windows Sysinternals 更新情報 (2018 年 10 月 16 日) - BGInfo v4.26、SigCheck v2.70、VMMap v3.22
とにかく何台か試したときは気付かなかった。とりあえず、スクリプトに修正を加え、TLS 1.2 で接続するようにしました。
Live.sysinternals.com が TLS 1.2 を強制していることを改めて確認すると...
ほんまや
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。