我有一个PowerShell脚本登录到我们的一个网站,点击一些链接,然后关闭。基本上只是为了监控和确保一切正常!下面是脚本顶部的一个片段。
$ie = new-object -com "InternetExplorer.Application"
$ie.visible = $true
$ie.navigate($url)
while( $ie.busy){Start-Sleep 1}
$doc = $ie.document
$continue = $doc.getElementByID("overridelink")
$continue.click()
while( $ie.busy){Start-Sleep 1} 基本上,此部分打开IE并单击“继续”按钮以查找证书错误。如果我在我的windows 7机器上运行这个程序,它可以正常工作,但是在服务器2012 R2上我得到:
“不能对空值表达式调用方法”
桌面和服务器都在运行PowerShell 4.0和Internet 11。
我读了一段时间前提到的,这可能是一个错误,在2012年,它不允许这个方法点击IE中的链接,但不记得哪里和是否有一个修复!
有没有人知道是什么原因造成的,也许是如何解决的?
另一件我在想的事情(如果有人想解释的话!),我是否应该使用调用-webrequest来代替?如果是这样,是否有可能登录到一个网站,打开一些链接(不一定要在屏幕上可见),然后关闭确认所有的工作?
谢谢您的任何意见!
发布于 2015-06-30 10:09:35
只需启用Internet企业模式。
在Internet中,按"ALT“键,转到Tools > Enterprise。
如果企业模式不可用:·启动GPEDIT.MSC·转到用户配置>管理模板> Windows > Internet >让用户从“工具”菜单启动并使用企业模式。
而且起作用了!
https://stackoverflow.com/questions/28723314
复制相似问题