我想编写一个 PS1 文件,使用 Windows 任务调度程序(主要是每天 2 次)及时调用它,现在 PS1 文件的目的是调用我们的内部网站以保持应用程序池处于活动状态,因为我正在运行应用程序池范围内的一些后台作业。
所以我写了以下文件:
$request = [System.Net.WebRequest]::Create("https://localhost/")
$response = $request.GetResponse()
$response.Close()
但它会引发以下错误:
使用“0”参数调用“GetResponse”的异常:“底层连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。”
所以我修改了我的 ps1 文件,以绕过安全证书,如下所示:
$request = [System.Net.WebRequest]::Create("https://localhost/")
$response = $request.GetResponse()
$response.Close()
ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => certificate.Issuer == "CN=localhost";
但这将引发以下错误:
在 ******\AppPoolActivation.ps1:4 char:67 + ServicePointManager.ServerCertificateValidationCallback +=(发件人,证书,... + ~ 参数列表中缺少参数。 + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : MissingArgument
那么任何人都可以建议我如何在执行后台作业之前调用本地主机以保持我的应用程序池处于活动状态,并绕过安全证书?