mapdrives脚本使用用户名和密码

时间:2017-03-19 15:53:18

标签: vbscript

我正在尝试使用VBScript来映射网络驱动器。该脚本工作正常,除非我尝试修改它以使用不同的凭据(用户名和密码)。

Option Explicit
Dim WSHNetwork, strMsg, sUser, sPass

sUser = "user12"
sPass = "testpassword"

Set WSHNetwork = WScript.CreateObject( "WScript.Network")
Call Unmap
Call TryMapDrive("N", "\\192.168.0.10\Music")
Call TryMapDrive("M", "\\192.168.0.10\Movies")
Call TryMapDrive("P", "\\192.168.0.10\Pictures")
Call TryMapDrive("W", "\\192.168.0.10\Work")
Call TryMapDrive("S", "\\192.168.0.10\Store")

strMsg = ShowNetwork() + vbCrLf + vbCrLf + EnumNetworkDrives()
MsgBox strMsg, vbInformation + vbOKOnly, "Network Properties"

Function TryMapDrive(cDrive, strShare, sUser, sPass)
  On Error Resume Next
  WSHNetwork.MapNetworkDrive cDrive & ":", strShare, sUser, sPass
  TryMapDrive = Err.Number = 0
End Function

Function ShowNetwork
  Dim strMsg

  strMsg = "UserName" & Chr(9) & "= " & WSHNetwork.UserName & vbCrLf & _
           "ComputerName" & Chr(9) & "= " & WSHNetwork.ComputerName 
  ShowNetwork = strMsg
End Function

Function EnumNetworkDrives
  Dim colDrives, strMsg, i

  Set colDrives = WSHNetwork.EnumNetworkDrives
  strMsg = "Current network drive connections: " & vbCrLf
  For i = 0 To colDrives.Count - 1 Step 2
    strMsg = strMsg & vbCRLF & colDrives(i) & Chr(9) & colDrives(i+1)
  Next
  EnumNetworkDrives = strMsg
End Function

Function Unmap
  On Error Resume Next
  Dim objNetwork, colDrives, i
  Set objNetwork = CreateObject("WScript.Network")
  Set colDrives = objNetwork.EnumNetworkDrives
  For i = 0 To colDrives.Count -1 Step 2
    objNetwork.RemoveNetworkDrive colDrives.Item(i)
  Next
End Function

当我尝试使用sPasssUser启动时,它会失败并显示以下消息。没有尝试不同的凭据,脚本工作正常。

Windows Script Host - error

0 个答案:

没有答案