使用autosys远程执行powershell脚本-与IE\u ComObject交互
我有一个Powershell脚本,用于自动测试某些URL。该脚本调用Internet Explorer会话,如下所示:使用autosys远程执行powershell脚本-与IE\u ComObject交互,powershell,internet-explorer,remote-access,autosys,comobject,Powershell,Internet Explorer,Remote Access,Autosys,Comobject,我有一个Powershell脚本,用于自动测试某些URL。该脚本调用Internet Explorer会话,如下所示: $IEProcess = Start-Process -FilePAth 'C:\Program Files (x86)\Internet Explorer\iexplore.exe' -ArgumentList "-private $url" $Shell = New-Object -ComObject Shell.Application $IE = $Shell.W
$IEProcess = Start-Process -FilePAth 'C:\Program Files (x86)\Internet Explorer\iexplore.exe' -ArgumentList "-private $url"
$Shell = New-Object -ComObject Shell.Application
$IE = $Shell.Windows()
然后,它继续使用$IE对象导航到不同的URL,对页面HTML文档体执行各种检查,并截图生成的网页。最终,IE会话结束,截图作为附件通过电子邮件分发
当使用服务帐户登录到虚拟主机时,该脚本工作正常,该服务帐户具有单次登录各种URL所需的权限。但是,要求脚本作为计划任务每天远程运行。除了打开生成的电子邮件之外,用户不应该进行任何交互
我在AutoSys中设置了一个作业,每天以最高权限远程执行一次脚本;但脚本未能按预期完成。具体而言,.Windows()方法无法传递以下错误消息:
Exception calling "Windows" with "0" argument(s): "The server process could not
be started because the configured identity is incorrect. Check the username an
d password. (Exception from HRESULT: 0x8000401A)"
我必须将安排autosys中任务的作业交给其他人(出于安全原因),但我相信他们已为必要的服务帐户配置了适当的用户名/密码
一些在线消息来源向我建议,问题可能在于尝试远程使用_comObject,并且Internet Explorer的实例需要一个带有UI的交互式用户会话,这不是autosys批处理作业的标准配置
我已经让我的autosys助手在工作描述中添加了一个标志,该标志应该使用户会话“交互式”,但脚本仍然无法正确执行
我正在寻找一些关于这个主题的一般见解,并希望找到一个解决方案来运行这个工作。如果有人愿意帮助我,我将不胜感激
我还有一个更集中的问题:
即使我成功地获得了IE会话的句柄,由于VM的屏幕缓冲区没有要渲染到的监视器,我是否应该期望脚本获取的屏幕截图失败图像为位图,并参考IE外壳对象“位置”、“宽度”和“高度”以获取位置/尺寸;如果没有屏幕分辨率,这可能意味着什么都没有
感谢您抽出时间阅读我的文章