我有一个 Powershell 脚本,可以打开本地保存的 html 文件并解析该文件。当它从创建它的服务器运行时,它工作正常。但是,当我从需要驻留的服务器上运行它时,我不断弹出 IE 安全性。代码是:
$Source = Get-Content -Path $SrcFilePath -raw
$HTML = New-Object -Com "HTMLFile"
$HTML.IHTMLDocument2_write($Source)
$results = $HTML.all.tags('table') | % OuterHtml
变量 $SrcFilePath 是本地存储 HTML 文件的路径。当它到达线路时
$HTML.IHTMLDocument2_write($Source)
单击“关闭”后,脚本将恢复。问题是,这个脚本将是自动化的,所以当它出现时,没有人会在附近点击“关闭”按钮。
我尝试创建一个共享到保存 html 文件的位置,并将其添加到 IE 中的受信任站点。我已经更改了安全级别,并且还添加了 about:security_scriptdriver64.exe 到 IE 的本地 Intranet,但这些都不起作用。有任何想法吗?
详细信息更新 我运行它的服务器是 Windows 2016,IE 版本是 11。
我正在解析的 html 文件本地保存在服务器上,即 E:\temp\webpage.html
当我创建共享并将其添加到受信任的站点时(我尝试使用 NetBIOS 和 FQDN),未选中“需要服务器验证”选项。
我还尝试将 about:security_scriptdriver64.exe 添加到受信任的站点。
我还通过服务器管理器为管理员和用户关闭了“IE 增强安全配置”,但这不起作用。
更新 2 我在上一条评论中提到:security_scriptdriver64.exe 到受信任的站点,经过测试,它没有工作。我开始研究使用 Invoke-WebRequest 并使用它。有问题,所以我想我会回到 IHTMLDocument2_write 解决方案。我想我会使用一个简单的 html 文件来开始,我有一张桌子,一行,一列。我的计划是慢慢开始将原始 html 文件中的标签添加到准系统中。当我想我会用原版再试一次时,我已经更新了标题标签。有效。
我从受信任的站点中删除了 about:security_scriptdriver64.exe 并再次尝试。它仍然有效。我离开了它,一切都很好,所以回到绘图板。
我再次开始将关于行添加到受信任的站点。没有工作,所以再次使用准系统 HTML 开始。该文件中有一段 JavaScript。当我将它添加到准系统文件时,它不起作用。当我删除它时,它起作用了。所以,它是 JavaScript。我仍然不明白为什么它上周开始工作。HTML 文件始终使用该 JavaScript 块生成。SMH。