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