Selenium 尝试在powershell中远程运行批处理文件无效
我目前正在管理一个Selenium网格,其中20台远程PC充当服务器上单个集线器的节点。目前,当我想重新启动中心或节点并清除任何过时的chromedriver或chrome实例时,我必须远程访问每台机器。我正在尝试通过Powershell自动化此过程 到目前为止,我已经成功地编写了ps脚本来杀死PC上的任何chrome、chromedriver和java实例,然后重新启动集线器或节点。它们在每台机器上本地启动时工作,但在我尝试通过PSSession执行它们时失败 我已经在每台机器上成功地启用了远程会话,我可以调用命令来杀死现有的java和chrome实例,但我无法重新启动集线器或节点 集线器powershell脚本示例:Selenium 尝试在powershell中远程运行批处理文件无效,selenium,batch-file,cmd,webdriver,powershell-remoting,Selenium,Batch File,Cmd,Webdriver,Powershell Remoting,我目前正在管理一个Selenium网格,其中20台远程PC充当服务器上单个集线器的节点。目前,当我想重新启动中心或节点并清除任何过时的chromedriver或chrome实例时,我必须远程访问每台机器。我正在尝试通过Powershell自动化此过程 到目前为止,我已经成功地编写了ps脚本来杀死PC上的任何chrome、chromedriver和java实例,然后重新启动集线器或节点。它们在每台机器上本地启动时工作,但在我尝试通过PSSession执行它们时失败 我已经在每台机器上成功地启用了远
#This script kills any existing java process and runs StartHub.bat
Set-Location C:\Selenium
kill -Name java -Force -PassThru -ErrorAction Continue
Start-Process -FilePath "C:\Selenium\StartHub.bat" -PassThru -Verbose
bat文件如下所示:
java -jar C:\Selenium\selenium-server-standalone-3.4.0.jar -role hub -hubConfig "V:\ServerFiles\hubconfig.json"
我一直在使用无限制执行策略进行测试,我的网络管理员更改了GPO以允许我远程启动java进程,但它不起作用。我尝试了以下几种方法:
1:在远程服务器上输入PSSession并调用ps1文件:
C:\RestartHub.ps1
结果是现有的集线器实例被终止,但新的集线器实例没有打开
2:然后,我尝试使用ScriptBlock启动作业,调用cmd脚本以启动批处理文件:
Set-Location C:\Selenium
kill -Name java -Force -PassThru -ErrorAction Continue
Start-Job -ScriptBlock{cmd /c start "C:\Selenium\StartHub.bat"} -Name Hub -Verbose
这将再次终止现有集线器实例,但启动脚本不会运行或以静默方式失败
我已经查看了远程机器上的安全日志,以查看是否存在任何问题,但PSSession似乎是正确的,使用了具有完全管理权限的正确用户
我还将远程计算机上的ExecutionPolicy
更改为restricted
,以查看是否显示了访问被拒绝的错误。我改回无限制
,错误消失了
如果您有任何想法,我将不胜感激。
启动流程
将从可执行文件启动流程,您不能将bat文件用作可执行文件,-FilePath
需要可执行文件的路径
见下文
Start-Process cmd -Argumentlist "C:\Selenium\StartHub.bat" -PassThru -Verbose
您是否尝试过在ScriptBlock中设置当前位置
-ScriptBlock{Set Location“C:\Selenium”;cmd/C start“C:\Selenium\StartHub.bat”}
我将bat文件更改为:java-jar C:\Selenium\Selenium-server-standalone-3.4.0.jar-role hub-hubConfig“V:\ServerFiles\hubConfig.json”
并且我可以在本地启动中心,但不能通过远程会话启动。我将编辑到问题来表示这一点