Vbscript MapDrive脚本使用用户名和密码

Vbscript MapDrive脚本使用用户名和密码,vbscript,Vbscript,我正在尝试使用VBScript映射网络驱动器。这个脚本运行得很好,除非我试图修改它以使用不同的凭据(用户名和密码) 当我试图用sPass和sUser启动它时,它会失败,并显示以下消息。没有尝试不同的凭据,脚本工作正常 您正在调用一个需要4个参数的函数,但只传递了两个参数。@MC ND,谢谢您的评论。我假设我需要将这两个参数放在实际的函数调用行中?不幸的是,这没有效果-没有错误,但实际上没有映射驱动器。没有映射驱动器,错误(Err.Number或Err.Description)是什么?映射网络驱动

我正在尝试使用VBScript映射网络驱动器。这个脚本运行得很好,除非我试图修改它以使用不同的凭据(用户名和密码)

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


您正在调用一个需要4个参数的函数,但只传递了两个参数。@MC ND,谢谢您的评论。我假设我需要将这两个参数放在实际的函数调用行中?不幸的是,这没有效果-没有错误,但实际上没有映射驱动器。
没有映射驱动器
,错误(
Err.Number
Err.Description
)是什么?
映射网络驱动器(strLocalDrive,strRemoteShare,[persistent],[strUser],[strPassword])
,您缺少另一个参数。我正在尝试理解它,但不幸的是没有成功。例如:调用TryMapDrive(“N”,“\\192.168.0.10\Music”,strUser,strPass)?
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