0

We have multiple printers installed for our labs. We have a special testing account in AD that can't print to the room the tests are being taken in to protect personal information.

I need a logon script that will set a different printer as the default printer based on if this user logs in.

This is what we have now to set default printer by OU. I'd like to add a line at the end for the user.

Set objSysInfo = CreateObject("ADSystemInfo")
strName = objSysInfo.ComputerName

arrComputerName = Split(strName, ",")
arrOU = Split(arrComputerName(1), "=")
strComputerOU = arrOU(1) 

Set objNetwork = CreateObject("WScript.Network")

Select Case strComputerOU
Case "OU for Printer 1"

    objNetwork.SetDefaultPrinter "Printer 1"

Case "OU for Printer 2"

    objNetwork.SetDefaultPrinter "Printer 2"

Case "OU for Printer 3"

    objNetwork.SetDefaultPrinter "Printer 3"

Case "LabColorPrinter"

    objNetwork.SetDefaultPrinter "Color Printer"

Case Else
    objNetwork.SetDefaultPrinter "Printer 1"

End Select
user318320
  • 33
  • 1
  • 6

1 Answers1

0

The following should satisfy your requirements, although the testing account could still change the printer anyway.

Set objSysInfo = CreateObject("ADSystemInfo")
strName = objSysInfo.ComputerName

arrComputerName = Split(strName, ",")
arrOU = Split(arrComputerName(1), "=")
strComputerOU = arrOU(1) 

Set objNetwork = CreateObject("WScript.Network")

If objNetwork.UserName = "TestUsername" Then
    objNetwork.SetDefaultPrinter "Printer X"
Else

    Select Case strComputerOU
        Case "OU for Printer 1"
            objNetwork.SetDefaultPrinter "Printer 1"

        Case "OU for Printer 2"
            objNetwork.SetDefaultPrinter "Printer 2"

        Case "OU for Printer 3"
            objNetwork.SetDefaultPrinter "Printer 3"

        Case "LabColorPrinter"
            objNetwork.SetDefaultPrinter "Color Printer"

        Case Else
            objNetwork.SetDefaultPrinter "Printer 1"
    End Select

End If
Jay Adams
  • 306
  • 1
  • 5