在远程计算机上安装软件?

时间:2009-06-15 08:37:28

标签: windows vbscript

这看起来像是一个转储问题,但我对VbScript的完全无知让我没有机会尝试解决它。简而言之,我的系统管理员朋友让我给他写了一个脚本,该脚本应该允许他输入远程机器名,域凭据和将安装在指定远程机器上的MSI包。
我知道这很傻,我的意思是,来吧!没有人可以登录SO并要求蛋糕,人们应该询问如何煮蛋糕。我知道,但请原谅我的绝对懒惰和帮助!

4 个答案:

答案 0 :(得分:3)

这将打开简单的输入框以获取所需信息。 *注意:仅检查输入以确保它不是空白,输入无效数据将导致脚本失败。

strUser = ""
strPassword = ""
strMSI = ""
strComputer = ""

'Get user name, cannot be blank
Do While strUser = ""
    strUser = InputBox("Enter user name", "User Name")
Loop
'Get password, cannot be blank
Do While strPassword = ""
    strPassword = InputBox("Enter password", "Password")
Loop
'Get msi package path, cannot be blank
Do While strMSI = ""
    strMSI = InputBox("Enter the path to the msi package", "MSI package")
Loop
'Get destination computer, cannot be blank
Do While strComputer = ""
    strComputer = InputBox("Enter the destination computer name", "Computer")
Loop


Const wbemImpersonationLevelDelegate = 4

Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objConnection = objwbemLocator.ConnectServer _
    (strComputer, "root\cimv2", strUser, strPassword)
objConnection.Security_.ImpersonationLevel = wbemImpersonationLevelDelegate

Set objSoftware = objConnection.Get("Win32_Product")
errReturn = objSoftware.Install(strMSI,,True)

**此脚本未经测试。

答案 1 :(得分:2)

您可以使用psexec吗?

或者,似乎您可以使用WMI Win32_Product类的Install方法。有关详细信息,请参阅technet。此serverwatch article中还有更多信息

答案 2 :(得分:2)

TechNet有一个示例脚本:Install Software on a Remote Computer

答案 3 :(得分:0)

围绕此处概述的命令编写一些VbScript:“使用PsExec进行远程无人值守MSI安装” - http://www.geekytidbits.com/unattended-msi-installation-psexec/