无法使用服务帐户创建 SSL/TLS 安全通道调用网络请求任务计划程序



我在问题的第一部分找到了很多资源,特别是尽管我正在寻找将其与任务计划程序/服务帐户一起使用的解决方案

我有一个PowerShell脚本,它可以吸收一些日志并将它们转发到端点。这是通过计划任务运行的。执行转发的帐户具有能够发送到端点的有效证书

我已经使用我的证书测试了PowerShell脚本,它按预期工作。我还测试了服务帐户证书是否有效,但以我自己而不是服务帐户的身份运行。我无法从服务帐户测试它,因为它没有任何登录权限

我已经更新了此处所述的[net.servicepointmanager]::securityprotocol

我相信错误Could not create ssl/tls secure channel是正确的错误,但我相信原因不是通过谷歌搜索发现的常见错误

我还应该测试什么才能看到这里发生了什么? PSVersion 5.1, .Net 4.5

按照这里的要求,我用来获取服务帐户证书的一堆代码

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$subject = "account"
$certs = Get-ChildItem("certs:") -recurce | Where-object {($_.Subject -like "*$subject*" -and $_.HasPrivateKey -eq $true)}
$cert = $certs | Sort-object $_."Not Before" | select-object -first 1
$file = gci(D:Temp)
$contentType = "application/json"
$request = Invoke-Webrequest -uri "mydestination" -Certificate $cert -Method Post -infile $file.Fullname -contentType $contentType

所以在遵循@mclayton的指导后(但是我没有权限更改 .exe.config 文件(

我发现了这篇文章,最终导致获取证书私钥时出错,因为服务帐户没有权限。

我需要的唯一其他最后一步是调用 Web 请求上的 -useBasicParsing 参数

最新更新