gpt4 book ai didi

powershell - SSL 证书警告破坏 IE 自动化

转载 作者:太空宇宙 更新时间:2023-11-03 14:35:32 26 4
gpt4 key购买 nike

我需要在 CUCM(Cisco Unified Communications Manager)上自动执行一些操作,所以我使用的是 PowerShell 的 InternetExplorer.Application

但是,我发现了一个与 SSL 错误相关的问题:

enter image description here

接着this tutorial , 我首先找到 Go on to webpage 链接并发送点击操作 - 这很好用。

但是,当下一页加载时(我需要在此处输入登录详细信息),我的脚本无法填充登录字段

The property 'value' cannot be found on this object. Verify that the property exists and can be set. At C:\temp\termTEST\TermForm.ps1:34 char:2 + $document.getelementsbyname("j_username")[0].value = 'sebastian.k ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : PropertyAssignmentException

但我可以确认登录字段存在,所以似乎 $ie$document 对象得到回收或类似的东西,这意味着我无法访问那些字段。

我怎样才能克服这个问题?

脚本:

$ie = New-Object -ComObject internetexplorer.application
$ie.navigate("https://10.40.193.31/ccmadmin/phoneFindList.do")
$ie.visible = $true
while ($ie.busy) { sleep 1 }
$global:document = $ie.document
#A while loop to check for IE certificate errors on the page and continue loading the page anyway if there are any
while ($document.readyState -ne 'complete') { sleep -Milliseconds 100 }
if ($document.getelementbyID("overridelink"))
{
$document.getelementbyid("overridelink").click();
while ($ie.busy) { sleep 1 }
$document;
while ($document.readyState -ne 'complete') { sleep -Milliseconds 100 }
}
#Loading the credentials from the queryCredentials function to log onto the portal
$document.getelementsbyname("j_username")[0].value = 'Bassie' # ERROR OCCURS HERE
$document.getelementsbyname("j_password")[0].value = 'password'
$document.getelementbyid("logonform").submit()

如果我手动单步执行代码并点击 continue 链接(导致跳过 if 语句),那么登录字段就会被填充,所以这肯定和证书错误信息有关。

我尝试将证书安装到我的机器上,但出于某种原因我仍然收到消息。还联系了我们的支持团队更新证书,但他们拒绝帮助我,所以我只能靠自己了。

最佳答案

以下是一些事实:

  1. 除非网站不受信任(在受信任的站点区域中)并且具有由受信任的机构签署的证书,否则 IE 自动化将无法工作
  2. 证书应提供给 fqdn 或主机名,而不是 ip 地址
  3. 运行 IE/Powershell 的客户端需要在用户证书 > 受信任的根证书颁发机构中安装参与签名链的根 CA。

如果您申请并购买 ssl 证书会更容易(它们并不昂贵)

以下是您可以执行的操作:

  1. 为此 https://10.40.193.31 想出一个主机名网站,即 cucm.company.org
  2. 创建证书请求 csr 文件和私钥,如下所示

    openssl req -nodes -new -newkey rsa:4096 -subj '/C=AU/O=Company Limited/CN=cucm.company.org/OU=Phones/L=Sydney/ST=New South Wales/' -keyout cucm.company.org.key -out cucm.company.org.csr

  3. 提出请求,得到签发

  4. 按照与此类似的说明将 Web 服务器 sll 证书安装到 CUCM 网站:https://supportforums.cisco.com/t5/collaboration-voice-and-video/cucm-uploading-ccmadmin-web-gui-certificates/ta-p/3120166

  5. 添加https://cucm.company.org.csr到 IE 中的受信任站点区域

关于powershell - SSL 证书警告破坏 IE 自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48291524/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com