Я новичок в создании сценария vbs для сопоставления сетевых дисков в Windows. По какой-то причине сценарий запускается, но не отображает сетевые диски, когда пользователь входит в домен. Вот сценарий, который я использую. Это довольно просто и понятно.
Option Explicit
Dim wshNetwork
Set wshNetwork = CreateObject("WScript.Network")
wshNetwork.MapNetworkDrive "S:","\\server\shared"
wshNetwork.MapNetworkDrive "U:","\\server\" & wshNetwork.UserName
WScript.Quit
Что я делаю не так?
Пытаться:
wshNetwork.MapNetworkDrive "S:","\\server\shared", True
wshNetwork.MapNetworkDrive "U:","\\server\" & wshNetwork.UserName, True
Я также добавляю процедуру для удаления всех общих ресурсов, чтобы избежать ошибок «устройство уже используется», которые я получал до сопоставления дисков.
wshNetwork.RemoveNetworkDrive "S:", True, True
wshNetwork.RemoveNetworkDrive "U:", True, True
wscript.sleep 300
Вот функция, которую я использовал:
Function MapDrive(ByVal strDrive, ByVal strShare)
' Function to map network share to a drive letter.
' If the drive letter specified is already in use, the function
' attempts to remove the network connection.
' objFSO is the File System Object, with global scope.
' objNetwork is the Network object, with global scope.
' Returns True if drive mapped, False otherwise.
Dim objDrive
On Error Resume Next
If (objFSO.DriveExists(strDrive) = True) Then
Set objDrive = objFSO.GetDrive(strDrive)
If (Err.Number <> 0) Then
On Error GoTo 0
MapDrive = False
Exit Function
End If
If (objDrive.DriveType = 3) Then
objNetwork.RemoveNetworkDrive strDrive, True, True
Else
MapDrive = False
Exit Function
End If
Set objDrive = Nothing
End If
objNetwork.MapNetworkDrive strDrive, strShare
If (Err.Number = 0) Then
MapDrive = True
Else
Err.Clear
MapDrive = False
End If
On Error GoTo 0
End Function
Пример использования:
If (MapDrive("Z:", "\\yourserver\yourshare") = False) Then
' Do something because there was an error.
End If