小编fir*_*247的帖子

Invoke-RestMethod - 忽略自签名证书

似乎这个问题已被提出并得到解答,但到目前为止,我遇到的每个解决方案都无济于事.我正在编写一个PowerShell脚本来运行一些REST API来获取使用信息.我的脚本只是在尝试与服务器通信时立即中断.为了测试,我做了一个非常简单的命令:

Invoke-RestMethod 'https://server:4443/login'
Run Code Online (Sandbox Code Playgroud)

它返回此错误:

Invoke-RestMethod : The underlying connection was closed: An unexpected error occurred on a send.
Run Code Online (Sandbox Code Playgroud)

我可以运行相同的命令,但使用URL google.com,我得到一个有效的返回,所以我知道该命令正在发挥作用.

如果我在服务器本身运行curl等效项,事情就会按预期完成.这是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):
* …
Run Code Online (Sandbox Code Playgroud)

rest powershell self-signed powershell-5.0

12
推荐指数
3
解决办法
3万
查看次数

通过PowerShell计划的作业将在3天后退出

我有一个可以合法运行超过3天的脚本(这是一个命令排队脚本,所以它有很多暂停等待工作完成).我正在使用PowerShell Register-ScheduledJobcmdlet来创建作业.

一切正常,但默认情况下,如果脚本在3天后仍未完成,Windows任务计划程序将停止脚本.我可以通过进入GUI并取消选中" 如果运行时间超过:3天就停止任务 "复选框来解决此问题.我需要能够通过Powershell代码"取消选中"该框.这是我目前如何安排它:

$immediate = (get-date).AddMinutes(2).ToString("MM/dd/yyyy HH:mm")
$scheduled_date = get-date -Format "yyyyMMMd-HHMMss"
$trigger = New-JobTrigger -Once -At $immediate
$sjo = New-ScheduledJobOption -RunElevated
Register-ScheduledJob -Name "SVC Migrations - $scheduled_date" -ScriptBlock {powershell.exe -File C:\scripts\addvdiskcopy_queue.ps1 } -Trigger $trigger -ScheduledJobOption $sjo >> C:\scripts\temp\job_scheduled.txt
Run Code Online (Sandbox Code Playgroud)

再次,一切都很好用,直到72小时命中.任何帮助表示赞赏!谢谢!

powershell scheduled-tasks

4
推荐指数
3
解决办法
4745
查看次数