更多PowerShell到VBScript返回代码问题

时间:2017-10-16 14:37:05

标签: powershell vbscript

所以,我已经隔离了"问题"我看到强制参数。这是我的主叫VBS

strCmd = "powershell.exe -noLogo -executionpolicy bypass -file ""C:\TestReturnCode.ps1"" -message:""I'm ALIVE"""
result = CreateObject("WScript.Shell").Run(strCMD, 0, True)
msgBox result

这是PowerShell

param (
    [string][parameter(Mandatory = $true)]$message
)

Write-Host $message
Exit 9

实际返回的是0,而不是9.但是,删除[parameter(Mandatory = $true)]然后它会起作用。如果参数是必需的,我可以使用快捷方式启动PS1,并在提供参数时起作用。只有通过VBScript启动它才能按预期工作。这是PS2.0,FWIW。 有人看到我做错了什么,或者这是我必须接受的错误?微软自己的工具以一种有意义的方式相互交谈似乎有点荒谬,但如果这是现实,我就无法对抗它。只是不确定它的现实和时间让我继续前进。 ;)

编辑:它似乎也只是Windows 7。它在Windows 10中按预期工作。希望它是一个PS问题,更新到更新版本的PS修复它在Win7中。

0 个答案:

没有答案