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

У нас установлено несколько принтеров для наших лабораторий. У нас есть специальный тестовый аккаунт в 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

1 ответ

Решение

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

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
Другие вопросы по тегам