我需要帮助创建VBScript才能执行以下操作:
启动名为“NAS PM服务”的服务
net start "NAS PM service"
然后检查\ 192.168.1.1 \ drive1是否存在
IF EXIST \192.168.1.1\drive1
如果是,请将其映射到指定登录/传递的驱动器:
net use M: \192.168.1.1\Disk_1 password /USER:admin
如果它还不存在,请等待10秒再尝试再次映射(直到成功)。
我或多或少地知道如何使用ping
作为批处理文件来等待,但我宁愿使用没有ping
的小而干净的VBScript。
答案 0 :(得分:1)
在连接尝试期间启用错误处理,并在您不断收到错误时继续:
Set net = CreateObject("WScript.Network")
On Error Resume Next
Do
Err.Clear
net.MapNetworkDrive "M:", "\\192.168.1.1\Disk_1", False, "admin", "password"
If Err Then WScript.Sleep 10000
Loop While Err
On Error Goto 0
WScript.Echo "Drive connected."
但是,限制最大连接尝试次数可能是一个好主意,否则如果远程共享永远不会联机,脚本将永远循环。
可以通过WMI启动服务:
Set wmi = GetObject("winmgmts://./root/cimv2")
qry = "SELECT * FROM Win32_Service WHERE Name='NAS PM service' AND State='Stopped'"
For Each svc In wmi.ExecQuery(qry)
svc.StartService
Next