• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 4470
  • Last Modified:

run executable and pass options in vbscript

I am a Citrix Engineer and want to use VBScript to execute Pinch.exe to check status of ports on my servers. I want to publish a VBscript in Citrix for the Firewall Team.  Below is the vbscript that I use to run pinch.exe. it runs fine but I need to pass values to pinch.exe as the syntax for pinch.exe is:
pinch.exe <servername> <port>

I want to include an input box for users to enter the servername and port number. These values have to be passed to pinch.exe at run time.

Any suggestions ?
-----------------------------------------------------------------------------------
Option Explicit

Dim FSO
Dim WSH

Const AppToRun = "d:\myscripts\pinch.exe"

Set WSH = WScript.CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")

If FSO.FileExists(AppToRun) Then
WSH.Run AppToRun
Else
MsgBox ApptoRun & " Does not Exist"  
End If
0
ramagoni_kiran
Asked:
ramagoni_kiran
  • 3
  • 3
1 Solution
 
BSonPoshCommented:
I would use powershell, but if you like vbscript you can use wscript.arguments something like this... sorry its been a long time :)

Option Explicit

Dim FSO
Dim WSH

Const AppToRun = "d:\myscripts\pinch.exe" + wscript.arguments(0) + " " + wscript.arguments(1)

Set WSH = WScript.CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")

If FSO.FileExists(AppToRun) Then
WSH.Run AppToRun
Else
MsgBox ApptoRun & " Does not Exist"  
End If
0
 
ramagoni_kiranAuthor Commented:
Is there a way to prompt the user to enter the values and then pass it during runtime.. in this case the server name and port number.

Finally the command that needs to be executed is:
Pinch.exe <servername> <port number>

I got to get going with improving in VBScript, till then I'd appreciate answers as this is extremely urgent for firewall folks so that Citrix guys need not be on standby when they do their changes on firewalls.
0
 
BSonPoshCommented:
Option Explicit

Dim FSO
Dim WSH
Dim strServer
Dim strPort

strServer = inputbox("Server Name")
strPort = inputbox("Port")

Const AppToRun = "d:\myscripts\pinch.exe " + strServer + " " + strPort

Set WSH = WScript.CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")

If FSO.FileExists(AppToRun) Then
WSH.Run AppToRun
Else
MsgBox ApptoRun & " Does not Exist"  
End If
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
ramagoni_kiranAuthor Commented:
That did not work. Gives an error at line 11 char 71.

Error: Expected Literal constant

Any ideas ?
0
 
BSonPoshCommented:
Try this
#############
Option Explicit

Dim FSO
Dim WSH
Dim strServer
Dim strPort
Dim AppToRun

strServer = inputbox("Server Name")
strPort = inputbox("Port")

AppToRun = "d:\myscripts\pinch.exe " + strServer + " " + strPort

Set WSH = WScript.CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")

If FSO.FileExists(AppToRun) Then
WSH.Run AppToRun
Else
MsgBox ApptoRun & " Does not Exist"  
End If
0
 
ramagoni_kiranAuthor Commented:
Thanks BSonPosh. That worked.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now