' ============================================================
' MapNetworkDrive.vbs
'
' Maps a network share to a drive letter, reconnecting at logon.
' Useful in logon scripts (Group Policy) for classic Windows shops
' still relying on WSH instead of PowerShell.
'
' Usage:
'   cscript MapNetworkDrive.vbs
'   (edit DRIVE_LETTER / SHARE_PATH below, or pass as arguments:)
'   cscript MapNetworkDrive.vbs Z: \\fileserver\shared
' ============================================================

Option Explicit

Dim objNetwork, objArgs
Dim driveLetter, sharePath

Set objNetwork = CreateObject("WScript.Network")
Set objArgs = WScript.Arguments

If objArgs.Count >= 2 Then
    driveLetter = objArgs(0)
    sharePath   = objArgs(1)
Else
    driveLetter = "Z:"
    sharePath   = "\\fileserver\shared"
End If

' Remove existing mapping on that letter first (ignore errors if not mapped)
On Error Resume Next
objNetwork.RemoveNetworkDrive driveLetter, True, True
On Error Goto 0

On Error Resume Next
objNetwork.MapNetworkDrive driveLetter, sharePath, True ' True = persistent (reconnect at logon)

If Err.Number = 0 Then
    WScript.Echo "Mapped " & driveLetter & " -> " & sharePath
Else
    WScript.Echo "Failed to map " & driveLetter & " -> " & sharePath & _
                 " (Error " & Err.Number & ": " & Err.Description & ")"
End If
On Error Goto 0
