我需要使用凭据从本地网络运行setup.exe。
我能够用bat文件做到这一点,但问题是,但我不希望cmd
窗口在执行时显示。
所以从我所读到的,一个很好的选择是使用这样的vbs
脚本,除了我找不到一种方法来使用它的凭据。
Set shell = WScript.CreateObject("Wscript.Shell")
shell.Run("\192.168.0.100Setupsetup.exe"), 0 , True
基本上我需要的是相当于这个批处理脚本在vbs:
net use Z: \192.168.0.100sh /user:user password /persistent:yes
start /d "Z:Setup" setup.exe
你可以这样做:
Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.MapNetworkDrive "Z:", "\192.168.0.100sh", True, user, password
Set shell = WScript.CreateObject("Wscript.Shell")
shell.CurrentDirectory = "Z:Setup"
shell.Run("setup.exe"), 0 , True
注意:如果Z:已经映射,MapNetworkDrive将失败。你需要处理这个
PSExec就是你想要的:
https://technet.microsoft.com/en-us/sysinternals/pstools.aspx:
Set shell = WScript.CreateObject("Wscript.Shell")
shell.Run("psexec.exe -u User -p Password -accepteula \192.168.0.100Setupsetup.exe"), 0 , True
文档:https://technet.microsoft.com/en-us/sysinternals/pxexec
使用PsExec用法:psexec [computer[,computer2[,…][-u user [-p .]psswd] [n s] [- r名][h] [- l] [s | - e] [- x][我[日]][- c[-f|-v]][-w目录][-d][-][-a n,n,…]CMD[参数]
-u登录远程计算机的可选用户名。
-p用户名的可选密码。如果省略这个系统将提示您输入隐藏密码。
-accepteula该标志禁止显示许可对话框。