0
我們在經典ASP頁面中使用vbscript,並在該vbscript中使用Wscript調用Powershell。我想檢查回報,因爲它是爲了告訴我Powershell是否成功完成。我在Powershell腳本中有一個返回值。我已經嘗試了objShell.Run和objShell.Exec,並且都沒有讓Powershell返回值通過我的ASP頁面。使用Wscript運行powershell腳本的vbscript - 需要從powershell返回
我的問題:如何從Powershell獲取返回值?
的VBScript如下:
'call PowerShell script with filename and printername and scriptname
strScript = Application("EnvSvcsPSScript")
Set objShell = CreateObject("Wscript.Shell")
dim strCommand
strCommand = "powershell.exe -file " & strScript & " " & strFileName & " " & strPrinterName
Set strPSReturn = objShell.Run(strCommand, 0, true)
response.Write("return from shell: " & strPSReturn.StdOut.ReadAll & "<br>")
response.Write("return from shell: " & strPSReturn.StdErr.ReadAll & "<br>")
PowerShell腳本:
$FileName = $args[0]
$PrinterName = $args[1]
$strReturn = "0^Successful"
"Filename: " + $FileName
"Printer: " + $PrinterName
try
{
get-content $FileName | out-printer -name $PrinterName
[gc]::collect()
[gc]::WaitForPendingFinalizers()
}
catch
{
$strReturn = "1^Error attempting to print report."
}
finally
{
}
return $strReturn
THANK YOU!
嘗試了什麼已提供,但是,當我嘗試使用「WScript.Echo ret」顯示返回值時出現以下錯誤:microsoft vbscript運行時錯誤'800a01a8'所需的對象'' – LReeder14
@ user3567046 VBScript代碼太短,我不知道會出現什麼問題。 我唯一的猜測是缺少的對象是'oShell',並且'Set oShell = WScript.CreateObject(「WScript.Shell」)中有一些''也許是一個錯字? 請仔細檢查您的代碼或提供完整的命令和代碼清單。 – Emons