Logon Script: Not Working on Vista

TechieSooner

Supreme [H]ardness
Joined
Nov 7, 2007
Messages
7,601
This works in XP.
On Vista, it does not work at all... Sure some of this is bad with Vista, so my question is how do I fix it but it works in both XP/Vista?


Code:
'MAP THE PRINTERS
Set objNetwork = CreateObject("WScript.Network") 
Dim objNetwork, strLocal, strUNCPrinter1, strUNCPrinter2
strUNCPrinter1 = "\\server\prt1"
strUNCPrinter2 = "\\server\prt2"
Set objNetwork = CreateObject("WScript.Network") 
objNetwork.AddWindowsPrinterConnection strUNCPrinter1
objNetwork.AddWindowsPrinterConnection strUNCPrinter2

'SET DEFAULT PRINTER BASED ON GROUP MEMBERSHIP
On Error Resume Next
Set objSysInfo = CreateObject("ADSystemInfo")
Set objNetwork = CreateObject("Wscript.Network")
strUserPath = "LDAP://" & objSysInfo.UserName
Set objUser = GetObject(strUserPath)
For Each strGroup in objUser.MemberOf
    strGroupPath = "LDAP://" & strGroup
    Set objGroup = GetObject(strGroupPath)
    strGroupName = objGroup.CN
    Select Case strGroupName
        Case "Printer 1 Users"
            objNetwork.SetDefaultPrinter "\\server\prt1" 
        Case "Printer 2 Users" 
            objNetwork.SetDefaultPrinter "\\server\prt2"
    End Select
Next

'MAP THE DRIVES
Set objNetwork = CreateObject("WScript.Network") 
objNetwork.MapNetworkDrive "R:" , "\\server\share1"
objNetwork.MapNetworkDrive "W:" , "\\server\share2"
objNetwork.MapNetworkDrive "X:" , "\\server\share3"
 
Where does it error out and what does it error out with?

My guess is the printer definitions.

Also, is this ALL of the script?

You have an 'on error resume next' statement there, so if you're not seeing an error message it's because you've told the script you are going to handle errors, but you aren't. Try putting in some error handlers to at least display if theres a problem and it might help you figure out what is going on.

Code:
'MAP THE PRINTERS
Set objNetwork = CreateObject("WScript.Network") 
Dim objNetwork, strLocal, strUNCPrinter1, strUNCPrinter2
strUNCPrinter1 = "\\server\prt1"
strUNCPrinter2 = "\\server\prt2"
Set objNetwork = CreateObject("WScript.Network") 
objNetwork.AddWindowsPrinterConnection strUNCPrinter1
objNetwork.AddWindowsPrinterConnection strUNCPrinter2

'SET DEFAULT PRINTER BASED ON GROUP MEMBERSHIP
On Error Resume Next
Set objSysInfo = CreateObject("ADSystemInfo")
    If error.number <> 0 then wscript.echo "Error " & err.Number & ": " & err.Description
Set objNetwork = CreateObject("Wscript.Network")
    If error.number <> 0 then wscript.echo "Error " & err.Number & ": " & err.Description

strUserPath = "LDAP://" & objSysInfo.UserName
Set objUser = GetObject(strUserPath)
  If error.number <> 0 then wscript.echo "Error " & err.Number & ": " & err.Description

For Each strGroup in objUser.MemberOf
    strGroupPath = "LDAP://" & strGroup
    Set objGroup = GetObject(strGroupPath)
    If error.number <> 0 then wscript.echo "Error " & err.Number & ": " & err.Description
    
    strGroupName = objGroup.CN

    Select Case strGroupName
        Case "Printer 1 Users"
            objNetwork.SetDefaultPrinter "\\server\prt1" 
            If error.number <> 0 then wscript.echo "Error " & err.Number & ": " & err.Description
        Case "Printer 2 Users" 
            objNetwork.SetDefaultPrinter "\\server\prt2"
            If error.number <> 0 then wscript.echo "Error " & err.Number & ": " & err.Description
    End Select
Next

'MAP THE DRIVES
Set objNetwork = CreateObject("WScript.Network") 
objNetwork.MapNetworkDrive "R:" , "\\server\share1"
  If error.number <> 0 then wscript.echo "Error " & err.Number & ": " & err.Description
objNetwork.MapNetworkDrive "W:" , "\\server\share2"
  If error.number <> 0 then wscript.echo "Error " & err.Number & ": " & err.Description
objNetwork.MapNetworkDrive "X:" , "\\server\share3"
  If error.number <> 0 then wscript.echo "Error " & err.Number & ": " & err.Description
 
Back
Top