gpt4 book ai didi

powershell - 如何将 PowerShell 变量返回到 VBScript

转载 作者:行者123 更新时间:2023-12-04 23:17:16 28 4
gpt4 key购买 nike

我有一个 vbscript 来调用 PowerShell 脚本,希望将 PowerShell 输出返回到 HTA(HTML 应用程序)GUI。现在我只想看看是否可以将 PowerShell 输出返回到 vbscript 中的 MsgBox 中。我对此不太走运。

VBScript 代码:

Set shell = CreateObject("WScript.Shell")
return = shell.Run("powershell.exe -executionpolicy bypass -noprofile -file pathToScript\PowerShellToVBA.ps1", , true)
MsgBox return

PowerShell 代码:
Clear-Host
return 50

我试图保持返回值非常简单,直到它起作用。有了这个,我希望 MsgBox 返回“50”,但它返回“0”。任何想法我做错了什么?

最佳答案

我认为您只希望退出命令获取返回值:

VBScript

pscommand = ".\myscript.ps1; exit $LASTEXITCODE"
cmd = "powershell.exe -noprofile -command " & pscommand
Set shell = CreateObject("WScript.Shell")
rv = shell.Run(cmd, , True)
MsgBox "PowerShell returned: " & rv, vbSystemModal

Powershell
exit 50;

编辑 #1

或者,如果您想获取返回字符串:

VBScript
pscommand = ".\myscript2.ps1"
cmd = "powershell.exe -noprofile -command " & pscommand
Set shell = CreateObject("WScript.Shell")
Set executor = shell.Exec(cmd)
executor.StdIn.Close
MsgBox executor.StdOut.ReadAll

Powershell
Write-Output '***SUCCESS***';

关于powershell - 如何将 PowerShell 变量返回到 VBScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36941027/

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