批处理文件- VBS执行从网络与凭证



我需要使用凭据从本地网络运行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该标志禁止显示许可对话框。

最新更新