gpt4 book ai didi

powershell - 在Powershell中运行远程GUI应用

转载 作者:行者123 更新时间:2023-12-03 13:28:10 24 4
gpt4 key购买 nike

我们有一个自定义组件,该组件包装了一些powershell功能,因此可以在BizTalk 2006中使用。对于大多数操作(检查文件路径,复制或移动文件),它都可以正常工作。但是,我们需要远程启动GUI应用程序以进行一些处理。组件本身处理到远程盒的连接,我们要做的就是设置一些参数,然后告诉它执行命令。

Start-Process -FilePath "path to exe" -ArgumentList "arguments for exe" -WorkingDirectory "workingdir for exe"

问题是这样的:如果我们从盒子本身的powershell命令行运行它,则可以正常工作。但是,当我们远程启动它(从BizTalk,测试工具,甚至使用远程Powershell命令行并通过Start-PSSession进行连接)时,此应用程序将短暂运行,然后退出,而实际上没有执行任何操作。我的怀疑是,因为有问题的exe要求GUI加载才能运行该进程,所以正是这引起了问题。我已经尝试了所有我能想到的东西,包括-NoNewWindow和-WindowStyle,但无济于事。任何帮助使此工作正常进行的工作将不胜感激。

注意:我们无权访问我们尝试运行的应用程序的源代码,因为它是较旧的win32应用程序,并且尚未提供此应用程序的批处理或命令行版本。

最佳答案

使用标准PowerShell方法(WinRM,WMI),无法使用GUI启动应用程序。我知道的唯一解决方案是使用PsExec from SysInternals(或类似工具)。它可以启动向用户提供GUI的应用程序。您的命令行将如下所示:

& ".\psexec" -accepteula -i "\\computername" -u "domain\username" -p "password" "command line"
  • -accepteula —默默接受EULA。
  • -i —允许GUI。

  • 其他解决方案则比较棘手,包括将任务远程添加到调度程序。

    关于powershell - 在Powershell中运行远程GUI应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3570517/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com