【问题标题】:Script that open an url then close the browser打开 url 然后关闭浏览器的脚本
【发布时间】:2022-12-16 07:01:03
【问题描述】:

我正在编写一个需要执行以下任务的 PowerShell 脚本:

  • 打开一个 url 然后关闭打开的窗口
Start-Process -FilePath msedge http://127.0.0.1:62354/now
Start-Sleep -Seconds 1
get-process msedge | %{ $_.closemainwindow() }

我面临两个问题:

-第一个:我实际上是强制使用 Edge 打开 url,这样我就可以毫无问题地关闭它,因为我知道用户可能使用什么默认浏览器。

- 第二个:当我关闭窗口时,它实际上关闭了所有 Edge 进程,而不是刚刚打开的进程,这很麻烦,因为用户也可能使用此浏览器在 webapp 上工作

如果我能诚实地解决第二个问题,第一个就不是问题

希望你们能帮助我

【问题讨论】:

  • 你为什么要这样做?
  • @Julia 我在实习期间使用解决方案为我的资产清点清单,我需要在每个资产上部署代理,然后强制代理使用 url 127.0.0.1:62354/now 联系主服务器,因为我不想打扰用户使用打开并关闭它的浏览器,我想用脚本关闭它。解决方案是 GLPI,如果您碰巧知道的话
  • 你必须使用 MS Edge 吗?也许你可以试试“chrome.sessions”。
  • @harper 嗨,不,我不需要使用 Edge,但因为我确定它是每个资产的默认设置,我对自己说,而不是检查每个默认浏览器,让我们只使用 Edge,我应该如何使用 chrome.sessions 然后?

标签: powershell


【解决方案1】:

可以这样想,当您打开 Internet Explorer、Edge 或 Chrome 并浏览到一个 URL 时,它会向该 URL 发送一个 HTTP GET,该 URL 会以一个 html 文件进行响应。然后它为页面上嵌入的每个脚本和文件执行GET

您要做的就是加载此页面一秒钟,以便您可以在某个服务器上注册它。

考虑到这一点,你真的不需要浏览到此网页,您可以改为发送网络请求。

试试这个!

Invoke-WebRequest http://127.0.0.1:62354/now

【讨论】:

  • 非常感谢您的回答,您不仅提供了解决方案,还解释了其背后的原因。多谢。注意:我试过了,对我来说效果很好
【解决方案2】:

谢谢先生,为我工作得很好

【讨论】:

    猜你喜欢
    • 2021-06-13
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    相关资源
    最近更新 更多