Reply
Old January 7th, 2010 Top | #1
 
illmaticone's Avatar
OSNN Junior Addict
Joined: January 2006
Posts: 45
Reputation: 0
Power: 74

Default Win 2k3 login script on Win 7

ok so heres there deal, i have a windows 2003 server pushing out the script below... The login script executes on windows 7, it maps all my drives EXCEPT the the maps with username/password specified. this works 100% on Windows XP.

Code:
' Create the Shell or environment for the commands:
Set WshShell = WScript.CreateObject("WScript.Shell")

' Define objects:
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set oDrives = WshNetwork.EnumNetworkDrives()

' ====================================
' DEFINE WHO TO CONTACT for pop-up messages:
' ====================================
strContactMessage = "If you require assistance, please contact IT Support ."

Dim strUserName

' Here is where we extract the UserName
strUserName = WshNetwork.UserName 

' ==================
' DEFINE DRIVES TO MAP:
' ==================
' Users home folder
Mapit "H", "\\server\Profile\"+ strUserName +"\My Documents", "", ""

' DATA
Mapit "N", "\\server\stanton\data", "", ""

' Server2 Public
Mapit "O", "\\server2\public", "", ""

' Server1 Public
Mapit "P", "\\server1\public", "", ""

' AQ-Import
Mapit "Q", "\\server3\folder", "user", "pass"

' S2K Docs
Mapit "S", "\\server3\S2KDOCS\", "user", "pass"

' set PC time
wshShell.Run "Net Time /Domain:xxx /set /yes",0,False

' ========
' CLEAN UP:
' ========
Set WshShell = Nothing
Set WshNetwork = Nothing
Set oDrives = Nothing


' ##################################
' DO NOT MODIFY ANYTHING BELOW THIS POINT...
'   unless you are familiar with the proper settings.
' ##################################
Sub Mapit(strLetter, strPath, strUser, strPass)

    ' Define the DriveLetter:
    DriveLetter = strLetter & ":"

    ' Define the remote path:
    RemotePath = strPath

    ' Pop-up Notices (set to False to disable notices, otherwise set to True):
    bPopReminder = false

    ' Define known errors to trap:
    Dim arrErrCode(1)
    Dim arrErrDesc(1)
    arrErrCode(0) = -2147023694
    arrErrCode(1) = -2147024811
    arrErrDesc(0) = "Unable to map drive " & DriveLetter & " to " & RemotePath _
        & " due to a previously defined remembered map with the same letter." _
        & vbCrLf & vbCrLf & "Please MANUALLY disconnect map drive " & DriveLetter _
        & ", then Log Out and Log back in."
    arrErrDesc(1) = "Unable to map drive " & DriveLetter & " to " & RemotePath _
        & " since " & DriveLetter & ": was previously reserved by your computer." _
        & vbCrLf & vbCrLf & "(Refer to Management, Shared Folders, Shares)"

    ' Define whether the map information should be removed from the current user's profile:
    bForceRemoveFromProfile = True
    bRemoveFromProfile = True

    ' Define whether the map information should be stored in the current user's profile:
    bStoreInProfile = False

    ' Check if already connected:
    AlreadyConnected = False
    For i = 0 To oDrives.Count - 1 Step 2
        If LCase(oDrives.Item(i)) = LCase(DriveLetter) Then AlreadyConnected = True
    Next

    ' Attempt to map the drive.  If already mapped, first attempt disconnect:
    If AlreadyConnected = True then
        WshNetwork.RemoveNetworkDrive DriveLetter, bForceRemoveFromProfile, bRemoveFromProfile
        If Not strUser = "" Then
            WshNetwork.MapNetworkDrive DriveLetter, RemotePath, bStoreInProfile, strUser, strPass
        Else
            WshNetwork.MapNetworkDrive DriveLetter, RemotePath, bStoreInProfile
        End If
        If bPopReminder Then WshShell.PopUp "Drive " & DriveLetter & " disconnected, then connected successfully to " & RemotePath
    Else
        On Error Resume Next
        If Not strUser = "" Then
            WshNetwork.MapNetworkDrive DriveLetter, RemotePath, bStoreInProfile, strUser, strPass
        Else
            WshNetwork.MapNetworkDrive DriveLetter, RemotePath, bStoreInProfile
        End If
        If Err.Number <> 0 Then
            bKnownError = False
            For I = LBound(arrErrCode) To UBound(arrErrCode)
                If Err.Number = arrErrCode(I) Then
                    bKnownError = True
                    strPopMessage = arrErrDesc(I)
                    ' Display the Disconnect Network Drives window:
                    If Err.Number = arrErrCode(0) Then
                        Set objWSH = Wscript.CreateObject("WScript.Shell")
                        objWSH.Run "rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL Disconnect", 1, true
                    End If
                    Exit For
                End If
            Next
            If Not bKnownError Then
                strPopMessage = "Unable to map drive " & DriveLetter & " to " & RemotePath _
                    & " due to reason stated below."
            End If
            ' Display warning message:
            strPopMessage = "WARNING!!   WARNING!!   WARNING!!   WARNING!!" _
                & vbCrLf & vbCrLf & strPopMessage _
                & vbCrLf & vbCrLf & Err.Description & " (error " & Err.Number & ")" _
                & vbCrLf & vbCrLf & strContactMessage
            WshShell.PopUp strPopMessage
        Else
            If bPopReminder Then WshShell.PopUp "Drive " & DriveLetter & " connected successfully to " & RemotePath
        End If
    End If

    ' Release resources:
    Set objWSH = Nothing

    ' Slight pause to ensure each pass has time to commit:
    wscript.sleep 200
End Sub
i'm pulling my hair here, any help would be greatly appreciated. Thanks!!
illmaticone is offline   Reply With Quote

Reply

Bookmarks

Thread Tools

Posting Rules

Similar Threads
Thread Thread Starter Forum Replies Last Post
VBS Printer Login Script Based on IP illmaticone Windows Server Systems 1 January 13th, 2009 6:38pm
Domain group policy login script not applying Mainframeguy Windows Desktop Systems 1 October 8th, 2007 7:45pm
Login Script Help kcnychief Windows Server Systems 2 January 18th, 2007 4:45am
Login Script Syntax kcnychief Windows Server Systems 10 March 12th, 2006 4:30am
HELP ...cant go pass login screen cause of custom login program... steveklebs Windows Desktop Systems 3 January 26th, 2002 12:38pm