需要帮助这个Visual Basic脚本:在静音模式下启动程序(Need help in this

2019-11-03 07:59发布

我试图以静默方式启动一个程序,安装某个应用程序。 用于启动在无声模式下的安装命令行如下:

setup.exe /s /v" /q"

我尝试使用以下: strCmd="C:\setup.exe"" /s /v"""" /q"""

但显然,这并不工作。 谁能帮我写上正确的语法。 我知道有一些错误报价作为转义字符。 我已经浪费了很多时间试图找出答案。 任何帮助,高度赞赏。

Answer 1:

如果你想使用不同的凭据运行该命令,你可以使用RunAs命令。 在内部嵌入您的命令时,事情可能很麻烦RunAs命令,但是。 这些步骤可能会有所帮助:

  1. 确定正确的命令行语法。 直接在命令提示符下进行测试以确保它是正确的。

     c:\setup.exe /s /v"/qn" 
  2. 在中嵌入你的命令RunAs命令。 你的整个命令必须用引号括起来。 此外,命令中的任何引号需要用转义\ 。 此外,直接在命令提示符下进行测试以确保它是正确的。

     runas.exe /user:DOMAIN\USER "c:\setup.exe /s /v\"/qn\"" 
  3. 转换整个命令字符串为VBScript。 无论你在哪里看到报价,加倍,或将其替换为Chr(34) 下面是当报价翻倍它会怎样看:

     runas.exe /user:DOMAIN\USER ""c:\setup.exe /s /v\""/qn\"""" 
  4. 它分配给一个VBScript变量。 我们只是需要把周围的整个命令的其他报价:

     strCommand = "runas.exe /user:DOMAIN\USER ""c:\setup.exe /s /v\""/qn\""""" 
  5. 现在你已经准备好了。 您可以直接运行这个Shell.Run

     With CreateObject("WScript.Shell") .Run strCommand End With 

请注意,您仍然需要使用SendKeysRunAs提示您输入密码,因为它提供了没办法通过它的命令行上。

另一种方法是使用SCHTASKS安排立即运行一个一次性的任务。 随着SCHTASKS ,你可以通过在命令行上完整的凭据。



Answer 2:

从意见,确定正确安装字符串。 对于VBS,您可以运行它(机器):

Dim oShell
Set oShell = WScript.CreateObject ("WScript.Shell")
oShell.run "cmd /C C:\setup.exe /s /v""/qn"""
Set oShell = Nothing

如果你不希望使用GPO部署,也可以把安装任务的计算机与PSEXEC.EXE手动,它不需要的setup.exe是计算机和网络共享文件夹,给这个。



文章来源: Need help in this visual basic script: launching a program in silent mode