Назад | Перейти на главную страницу

Скрипт для установки принтера по умолчанию для конкретного пользователя

В наших лабораториях установлено несколько принтеров. У нас есть специальная учетная запись для тестирования в AD, которая не может печатать в комнате, в которой проводятся тесты, для защиты личной информации.

Мне нужен сценарий входа в систему, который установит другой принтер в качестве принтера по умолчанию в зависимости от того, входит ли этот пользователь в систему.

Это то, что у нас есть теперь, чтобы установить принтер по умолчанию для OU. Я хочу добавить в конце строку для пользователя.

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

Следующее должно удовлетворять вашим требованиям, хотя тестовая учетная запись все равно может изменить принтер.

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