403Webshell
Server IP : 127.0.0.1  /  Your IP : 216.73.216.109
Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10
System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64
User : SERVERWEB ( 0)
PHP Version : 8.1.10
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : OFF |  Perl : OFF |  Python : OFF |  Sudo : OFF |  Pkexec : OFF
Directory :  C:/Windows/System32/Printing_Admin_Scripts/es-ES/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : C:/Windows/System32/Printing_Admin_Scripts/es-ES/prncnfg.vbs
��'----------------------------------------------------------------------

'

' Copyright (c) Microsoft Corporation. All rights reserved.

'

' Abstract:

'

' prncnfg.vbs - printer configuration script for WMI on Windows used to get

'     and set printer configuration also used to rename a printer

'

' Usage:

' prncnfg [-gtx?] [-s server] [-p printer] [-u user name] [-w password]

'                 [-z new printer name] [-r port name] [-l location] [-m comment]

'                 [-h share name] [-f sep-file] [-y data-type] [-st start time]

'                 [-ut until time] [-o priority] [-i default priority]

'                 [<+|->rawonly][<+|->keepprintedjobs][<+|->queued][<+|->workoffline]

'                 [<+|->enabledevq][<+|->docompletefirst][<+|->enablebidi]

'

' Examples:

' prncnfg -g -s server -p printer

' prncnfg -x -p printer -w "new Printer"

' prncnfg -t -s server -p Printer -l "Building A/Floor 100/Office 1" -m "Color Printer"

' prncnfg -t -p printer -h "Share" +shared -direct

' prncnfg -t -p printer +rawonly +keepprintedjobs

' prncnfg -t -p printer -st 2300 -ut 0215 -o 10 -i 5

'

'----------------------------------------------------------------------



option explicit



'

' Debugging trace flags, to enable debug output trace message

' change gDebugFlag to true.

'

const kDebugTrace = 1

const kDebugError = 2

dim   gDebugFlag



gDebugFlag = false



const kFlagUpdateOnly = 1



'

' Operation action values.

'

const kActionUnknown   = 0

const kActionSet       = 1

const kActionGet       = 2

const kActionRename    = 3



const kErrorSuccess    = 0

const kErrorFailure    = 1



'

' Constants for the parameter dictionary

'

const kServerName      = 1

const kPrinterName     = 2

const kNewPrinterName  = 3

const kShareName       = 4

const kPortName        = 5

const kDriverName      = 6

const kComment         = 7

const kLocation        = 8

const kSepFile         = 9

const kPrintProc       = 10

const kDataType        = 11

const kParameters      = 12

const kPriority        = 13

const kDefaultPriority = 14

const kStartTime       = 15

const kUntilTime       = 16

const kQueued          = 17

const kDirect          = 18

const kDefault         = 19

const kShared          = 20

const kNetwork         = 21

const kHidden          = 23

const kLocal           = 24

const kEnableDevq      = 25

const kKeepPrintedJobs = 26

const kDoCompleteFirst = 27

const kWorkOffline     = 28

const kEnableBidi      = 29

const kRawOnly         = 30

const kPublished       = 31

const kUserName        = 32

const kPassword        = 33



const kNameSpace       = "root\cimv2"



'

' Generic strings

'

const L_Empty_Text                 = ""

const L_Space_Text                 = " "

const L_Error_Text                 = "Error"

const L_Success_Text               = "Correcto"

const L_Failed_Text                = "Error"

const L_Hex_Text                   = "0x"

const L_Printer_Text               = "Impresora"

const L_Operation_Text             = "Operaci�n"

const L_Provider_Text              = "Proveedor"

const L_Description_Text           = "Descripci�n"

const L_Debug_Text                 = "Depurar:"



'

' General usage messages

'

const L_Help_Help_General01_Text   = "Uso: prncnfg [-gtx?] [-s servidor][-p impresora][-z nombre nuevo de impresora]"

const L_Help_Help_General02_Text   = "               [-u usuario][-w contrase�a][-r nombre de puerto][-l ubicaci�n]"

const L_Help_Help_General03_Text   = "               [-m comentario][-h nombre de recurso][-f archivo][-y tipo de dato]"

const L_Help_Help_General04_Text   = "               [-st hora_inicio][-ut hora_final][-i prioridad predet,]"

const L_Help_Help_General05_Text   = "               [-o priority][<+|->shared][<+|->direct][<+|->hidden]"

const L_Help_Help_General06_Text   = "               [<+|->published][<+|->rawonly][<+|->queued][<+|->enablebidi]"

const L_Help_Help_General07_Text   = "               [<+|->keepprintedjobs][<+|->workoffline][<+|->enabledevq]"

const L_Help_Help_General08_Text   = "               [<+|->docompletefirst]"

const L_Help_Help_General09_Text   = "Argumentos:"

const L_Help_Help_General10_Text   = "-f     - nombre del archivo separador"

const L_Help_Help_General11_Text   = "-g     - obtener configuraci�n"

const L_Help_Help_General12_Text   = "-h     - compartir nombre"

const L_Help_Help_General13_Text   = "-i     - prioridad predeterminada"

const L_Help_Help_General14_Text   = "-l     - cadena de ubicaci�n"

const L_Help_Help_General15_Text   = "-m     - cadena de comentario"

const L_Help_Help_General16_Text   = "-o     - prioridad"

const L_Help_Help_General17_Text   = "-p     - nombre de la impresora"

const L_Help_Help_General18_Text   = "-r     - nombre del puerto"

const L_Help_Help_General19_Text   = "-s     - nombre del sevidor"

const L_Help_Help_General20_Text   = "-st    - tiempo de inicio"

const L_Help_Help_General21_Text   = "-t     - establecer configuraci�n"

const L_Help_Help_General22_Text   = "-u     - nombre de usuario"

const L_Help_Help_General23_Text   = "-ut    - tiempo final"

const L_Help_Help_General24_Text   = "-w     - contrase�a"

const L_Help_Help_General25_Text   = "-x     - cambiar nombre de impresora"

const L_Help_Help_General26_Text   = "-y     - cadena de tipo de datos"

const L_Help_Help_General27_Text   = "-z     - nombre nuevo de impresora"

const L_Help_Help_General28_Text   = "-?     - muestra el uso del comando"

const L_Help_Help_General29_Text   = "Ejemplos:"

const L_Help_Help_General30_Text   = "prncnfg -g -s servidor -p impresora"

const L_Help_Help_General31_Text   = "prncnfg -x -s servidor -p impresora -z ""impresora nueva"""

const L_Help_Help_General32_Text   = "prncnfg -t -p printer -l ""Edificio A/piso 100/Oficina 1"" -m ""Impresora a color"""

const L_Help_Help_General33_Text   = "prncnfg -t -p impresora -h ""recurso"" +shared -direct"

const L_Help_Help_General34_Text   = "prncnfg -t -p impresora +rawonly +keepprintedjobs"

const L_Help_Help_General35_Text   = "prncnfg -t -p impresora -st 2300 -ut 0215 -o 1 -i 5"



'

' Messages to be displayed if the scripting host is not cscript

'

const L_Help_Help_Host01_Text      = "Este script se debe ejecutar desde el s�mbolo del sistema por medio del comando CScript.exe."

const L_Help_Help_Host02_Text      = "Por ejemplo: CScript script.vbs argumentos"

const L_Help_Help_Host03_Text      = ""

const L_Help_Help_Host04_Text      = "Para establecer a CScript como la aplicaci�n predeterminada para ejecutar archivos .VBS, ejecute lo siguiente:"

const L_Help_Help_Host05_Text      = "     CScript //H:CScript //S"

const L_Help_Help_Host06_Text      = "Podr� entonces ejecutar ""script.vbs argumentos"" sin necesidad de agregar CScript antes del script."



'

' General error messages

'

const L_Text_Error_General01_Text  = "No se pudo determinar el host de scripting."

const L_Text_Error_General02_Text  = "No se puede analizar la l�nea de comandos."

const L_Text_Error_General03_Text  = "C�digo de error de Win32"



'

' Miscellaneous messages

'

const L_Text_Msg_General01_Text    = "Impresora que se cambi� de nombre"

const L_Text_Msg_General02_Text    = "Modelo de impresora nuevo"

const L_Text_Msg_General03_Text    = "No se puede cambiar de nombre a la impresora"

const L_Text_Msg_General04_Text    = "No se puede obtener la configuraci�n de la impresora"

const L_Text_Msg_General05_Text    = "Impresora siempre disponible"

const L_Text_Msg_General06_Text    = "Impresora configurada"

const L_Text_Msg_General07_Text    = "No se puede configurar la impresora"

const L_Text_Msg_General08_Text    = "No se puede obtener el objeto SWbemLocator"

const L_Text_Msg_General09_Text    = "No se puede conectar con el servicio WMI"

const L_Text_Msg_General10_Text    = "Estado de la impresora"

const L_Text_Msg_General11_Text    = "Estado de impresora extendido"

const L_Text_Msg_General12_Text    = "Estado de error detectado"

const L_Text_Msg_General13_Text    = "Estado de error detectado extendido"



'

' Printer properties

'

const L_Text_Msg_Printer01_Text    = "Nombre de servidor"

const L_Text_Msg_Printer02_Text    = "Nombre de impresora"

const L_Text_Msg_Printer03_Text    = "Nombre del recurso compartido"

const L_Text_Msg_Printer04_Text    = "Nombre de controlador"

const L_Text_Msg_Printer05_Text    = "Nombre del puerto"

const L_Text_Msg_Printer06_Text    = "Comentario"

const L_Text_Msg_Printer07_Text    = "Ubicaci�n"

const L_Text_Msg_Printer08_Text    = "Archivo separador"

const L_Text_Msg_Printer09_Text    = "Procesador de impresi�n"

const L_Text_Msg_Printer10_Text    = "Tipo de datos"

const L_Text_Msg_Printer11_Text    = "Par�metros"

const L_Text_Msg_Printer12_Text    = "Atributos"

const L_Text_Msg_Printer13_Text    = "Prioridad"

const L_Text_Msg_Printer14_Text    = "Prioridad predeterminada"

const L_Text_Msg_Printer15_Text    = "Hora de inicio"

const L_Text_Msg_Printer16_Text    = "Tiempo final"

const L_Text_Msg_Printer17_Text    = "Estado"

const L_Text_Msg_Printer18_Text    = "Cuenta de trabajos"

const L_Text_Msg_Printer19_Text    = "N�mero medio de p�ginas por minuto"



'

' Printer attributes

'

const L_Text_Msg_Attrib01_Text     = "direct"

const L_Text_Msg_Attrib02_Text     = "raw_only"

const L_Text_Msg_Attrib03_Text     = "local"

const L_Text_Msg_Attrib04_Text     = "shared"

const L_Text_Msg_Attrib05_Text     = "keep_printed_jobs"

const L_Text_Msg_Attrib06_Text     = "published"

const L_Text_Msg_Attrib07_Text     = "queued"

const L_Text_Msg_Attrib08_Text     = "default"

const L_Text_Msg_Attrib09_Text     = "network"

const L_Text_Msg_Attrib10_Text     = "enable_bidi"

const L_Text_Msg_Attrib11_Text     = "do_complete_first"

const L_Text_Msg_Attrib12_Text     = "work_offline"

const L_Text_Msg_Attrib13_Text     = "hidden"

const L_Text_Msg_Attrib14_Text     = "enable_devq_print"



'

' Printer status

'

const L_Text_Msg_Status01_Text     = "Otros"

const L_Text_Msg_Status02_Text     = "Desconocido"

const L_Text_Msg_Status03_Text     = "Inactivo"

const L_Text_Msg_Status04_Text     = "Imprimiendo"

const L_Text_Msg_Status05_Text     = "Calentamiento"

const L_Text_Msg_Status06_Text     = "Impresi�n detenida"

const L_Text_Msg_Status07_Text     = "Sin conexi�n"

const L_Text_Msg_Status08_Text     = "Pausado"

const L_Text_Msg_Status09_Text     = "Error"

const L_Text_Msg_Status10_Text     = "Ocupado"

const L_Text_Msg_Status11_Text     = "No disponible"

const L_Text_Msg_Status12_Text     = "En espera"

const L_Text_Msg_Status13_Text     = "Procesando"

const L_Text_Msg_Status14_Text     = "Inicializando"

const L_Text_Msg_Status15_Text     = "Ahorro de energ�a"

const L_Text_Msg_Status16_Text     = "Eliminaci�n pendiente"

const L_Text_Msg_Status17_Text     = "E/S activa"

const L_Text_Msg_Status18_Text     = "Alimentaci�n manual"

const L_Text_Msg_Status19_Text     = "Sin errores"

const L_Text_Msg_Status20_Text     = "Falta papel"

const L_Text_Msg_Status21_Text     = "No hay papel"

const L_Text_Msg_Status22_Text     = "Falta t�ner"

const L_Text_Msg_Status23_Text     = "Sin t�ner"

const L_Text_Msg_Status24_Text     = "Puerta abierta"

const L_Text_Msg_Status25_Text     = "Atascado"

const L_Text_Msg_Status26_Text     = "Servicio solicitado"

const L_Text_Msg_Status27_Text     = "Bandeja de salida llena"

const L_Text_Msg_Status28_Text     = "Problema con el papel"

const L_Text_Msg_Status29_Text     = "No se puede imprimir la p�gina"

const L_Text_Msg_Status30_Text     = "Intervenci�n del usuario requerida"

const L_Text_Msg_Status31_Text     = "Memoria insuficiente"

const L_Text_Msg_Status32_Text     = "Servidor desconocido"





'

' Debug messages

'

const L_Text_Dbg_Msg01_Text        = "En la funci�n RenamePrinter"

const L_Text_Dbg_Msg02_Text        = "Modelo de impresora nuevo"

const L_Text_Dbg_Msg03_Text        = "En la funci�n GetPrinter"

const L_Text_Dbg_Msg04_Text        = "En la funci�n SetPrinter"

const L_Text_Dbg_Msg05_Text        = "En la funci�n ParseCommandLine"



main



'

' Main execution starts here

'

sub main



    dim iAction

    dim iRetval

    dim oParamDict



    '

    ' Abort if the host is not cscript

    '

    if not IsHostCscript() then



        call wscript.echo(L_Help_Help_Host01_Text & vbCRLF & L_Help_Help_Host02_Text & vbCRLF & _

                          L_Help_Help_Host03_Text & vbCRLF & L_Help_Help_Host04_Text & vbCRLF & _

                          L_Help_Help_Host05_Text & vbCRLF & L_Help_Help_Host06_Text & vbCRLF)



        wscript.quit



    end if



    set oParamDict = CreateObject("Scripting.Dictionary")



    iRetval = ParseCommandLine(iAction, oParamDict)



    if iRetval = kErrorSuccess then



        select case iAction



            case kActionSet

                 iRetval = SetPrinter(oParamDict)



            case kActionGet

                 iRetval = GetPrinter(oParamDict)



            case kActionRename

                 iRetval = RenamePrinter(oParamDict)



            case else

                 Usage(True)

                 exit sub



        end select



    end if



end sub



'

' Rename printer

'

function RenamePrinter(oParamDict)



    on error resume next



    DebugPrint kDebugTrace, L_Text_Dbg_Msg01_Text

    DebugPrint kDebugTrace, L_Text_Msg_Printer01_Text & L_Space_Text & oParamDict.Item(kServerName)

    DebugPrint kDebugTrace, L_Text_Msg_Printer02_Text & L_Space_Text & oParamDict.Item(kPrinterName)

    DebugPrint kDebugTrace, L_Text_Dbg_Msg02_Text & L_Space_Text & oParamDict.Item(kNewPrinterName)



    dim oPrinter

    dim oService

    dim iRetval

    dim uResult

    dim strServer

    dim strPrinter

    dim strNewName

    dim strUser

    dim strPassword



    iRetval = kErrorFailure



    strServer   = oParamDict.Item(kServerName)

    strPrinter  = oParamDict.Item(kPrinterName)

    strNewName  = oParamDict.Item(kNewPrinterName)

    strUser     = oParamDict.Item(kUserName)

    strPassword = oParamDict.Item(kPassword)



    if WmiConnect(strServer, kNameSpace, strUser, strPassword, oService) then



        set oPrinter = oService.Get("Win32_Printer.DeviceID='" & strPrinter & "'")



    else



        RenamePrinter = kErrorFailure



        exit function



    end if



    '

    ' Check if Get was successful

    '

    if Err.Number = kErrorSuccess then



        uResult = oPrinter.RenamePrinter(strNewName)



        if Err.Number = kErrorSuccess then



            if uResult = kErrorSuccess then



                wscript.echo L_Text_Msg_General01_Text & L_Space_Text & strPrinter

                wscript.echo L_Text_Msg_General02_Text & L_Space_Text & strNewName



                iRetval = kErrorSuccess



            else



                wscript.echo L_Text_Msg_General03_Text & L_Space_Text & strPrinter & L_Space_Text _

                             & L_Text_Error_General03_Text & L_Space_Text & uResult



            end if



        else



            wscript.echo L_Text_Msg_General04_Text & L_Space_Text & strPrinter & L_Space_Text _

                         & L_Error_Text & L_Space_Text & L_Hex_Text & hex(Err.Number) & L_Space_Text _

                         & Err.Description



        end if



    else



        wscript.echo L_Text_Msg_General04_Text & L_Space_Text & strPrinter & L_Space_Text _

                     & L_Error_Text & L_Space_Text & L_Hex_Text & hex(Err.Number) & L_Space_Text _

                     & Err.Description



        '

        ' Try getting extended error information

        '

        call LastError()



    end if



    RenamePrinter = iRetval



end function



'

' Get printer configuration

'

function GetPrinter(oParamDict)



    on error resume next



    DebugPrint kDebugTrace, L_Text_Dbg_Msg03_Text

    DebugPrint kDebugTrace, L_Text_Msg_Printer01_Text & L_Space_Text & oParamDict.Item(kServerName)

    DebugPrint kDebugTrace, L_Text_Msg_Printer02_Text & L_Space_Text & oParamDict.Item(kPrinterName)



    dim oPrinter

    dim oService

    dim iRetval

    dim uResult

    dim strServer

    dim strPrinter

    dim strAttributes

    dim strStart

    dim strEnd

    dim strUser

    dim strPassword



    iRetval = kErrorFailure



    strServer  = oParamDict.Item(kServerName)

    strPrinter = oParamDict.Item(kPrinterName)

    strUser     = oParamDict.Item(kUserName)

    strPassword = oParamDict.Item(kPassword)



    if WmiConnect(strServer, kNameSpace, strUser, strPassword, oService) then



        set oPrinter = oService.Get("Win32_Printer='" & strPrinter & "'")



    else



        GetPrinter = kErrorFailure



        exit function



    end if



    '

    ' Check if Get was successful

    '

    if Err.Number = kErrorSuccess then



        wscript.echo L_Text_Msg_Printer01_Text & L_Space_Text & strServer

        wscript.echo L_Text_Msg_Printer02_Text & L_Space_Text & oPrinter.DeviceID

        wscript.echo L_Text_Msg_Printer03_Text & L_Space_Text & oPrinter.ShareName

        wscript.echo L_Text_Msg_Printer04_Text & L_Space_Text & oPrinter.DriverName

        wscript.echo L_Text_Msg_Printer05_Text & L_Space_Text & oPrinter.PortName

        wscript.echo L_Text_Msg_Printer06_Text & L_Space_Text & oPrinter.Comment

        wscript.echo L_Text_Msg_Printer07_Text & L_Space_Text & oPrinter.Location

        wscript.echo L_Text_Msg_Printer08_Text & L_Space_Text & oPrinter.SeparatorFile

        wscript.echo L_Text_Msg_Printer09_Text & L_Space_Text & oPrinter.PrintProcessor

        wscript.echo L_Text_Msg_Printer10_Text & L_Space_Text & oPrinter.PrintJobDatatype

        wscript.echo L_Text_Msg_Printer11_Text & L_Space_Text & oPrinter.Parameters

        wscript.echo L_Text_Msg_Printer13_Text & L_Space_Text & CStr(oPrinter.Priority)

        wscript.echo L_Text_Msg_Printer14_Text & L_Space_Text & CStr(oPrinter.DefaultPriority)



        strStart = Mid(CStr(oPrinter.StartTime), 9, 4)

        strEnd = Mid(CStr(oPrinter.UntilTime), 9, 4)



        if strStart <> "" and strEnd <> "" then



            wscript.echo L_Text_Msg_Printer15_Text & L_Space_Text & Mid(strStart, 1, 2) & "h" & Mid(strStart, 3, 2)

            wscript.echo L_Text_Msg_Printer16_Text & L_Space_Text & Mid(strEnd, 1, 2) & "h" & Mid(strEnd, 3, 2)



        else



            wscript.echo L_Text_Msg_General05_Text



        end if



        strAttributes = L_Text_Msg_Printer12_Text



        if oPrinter.Direct then



            strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib01_Text



        end if



        if oPrinter.RawOnly then



            strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib02_Text



        end if



        if oPrinter.Local then



            strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib03_Text



        end if



        if oPrinter.Shared then



            strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib04_Text



        end if



        if oPrinter.KeepPrintedJobs then



            strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib05_Text



        end if



        if oPrinter.Published then



            strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib06_Text



        end if



        if oPrinter.Queued then



            strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib07_Text



        end if



        if oPrinter.Default then



            strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib08_Text



        end if



        if oPrinter.Network then



            strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib09_Text



        end if



        if oPrinter.EnableBiDi then



            strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib10_Text



        end if



        if oPrinter.DoCompleteFirst then



            strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib11_Text



        end if



        if oPrinter.WorkOffline then



            strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib12_Text



        end if



        if oPrinter.Hidden then



            strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib13_Text



        end if



        if oPrinter.EnableDevQueryPrint then



            strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib14_Text



        end if



        wscript.echo strAttributes

        wscript.echo

        wscript.echo L_Text_Msg_General10_Text & L_Space_Text & PrnStatusToString(oPrinter.PrinterStatus)

        wscript.echo L_Text_Msg_General11_Text & L_Space_Text & ExtPrnStatusToString(oPrinter.ExtendedPrinterStatus)

        wscript.echo L_Text_Msg_General12_Text & L_Space_Text & DetectedErrorStateToString(oPrinter.DetectedErrorState)

        wscript.echo L_Text_Msg_General13_Text & L_Space_Text & ExtDetectedErrorStateToString(oPrinter.ExtendedDetectedErrorState)



        iRetval = kErrorSuccess



    else



        wscript.echo L_Text_Msg_General04_Text & L_Space_Text & oParamDict.Item(kPrinterName) & L_Space_Text _

                     & L_Error_Text & L_Space_Text & L_Hex_Text & hex(Err.Number) & L_Space_Text _

                     & Err.Description



        '

        ' Try getting extended error information

        '

        call LastError()



    end if



    GetPrinter = iRetval



end function



'

' Configure a printer

'

function SetPrinter(oParamDict)



    on error resume next



    DebugPrint kDebugTrace, L_Text_Dbg_Msg04_Text

    DebugPrint kDebugTrace, L_Text_Msg_Printer01_Text & L_Space_Text & oParamDict.Item(kServerName)

    DebugPrint kDebugTrace, L_Text_Msg_Printer02_Text & L_Space_Text & oParamDict.Item(kPrinterName)



    dim oPrinter

    dim oService

    dim iRetval

    dim uResult

    dim strServer

    dim strPrinter

    dim strUser

    dim strPassword



    iRetval = kErrorFailure



    strServer   = oParamDict.Item(kServerName)

    strPrinter  = oParamDict.Item(kPrinterName)

    strNewName  = oParamDict.Item(kNewPrinterName)

    strUser     = oParamDict.Item(kUserName)

    strPassword = oParamDict.Item(kPassword)



    if WmiConnect(strServer, kNameSpace, strUser, strPassword, oService) then



        set oPrinter = oService.Get("Win32_Printer='" & strPrinter & "'")



    else



        SetPrinter = kErrorFailure



        exit function



    end if



    '

    ' Check if Get was successful

    '

    if Err.Number = kErrorSuccess then



        if oParamdict.Exists(kPortName)        then oPrinter.PortName            = oParamDict.Item(kPortName)        end if

        if oParamdict.Exists(kDriverName)      then oPrinter.DriverName          = oParamDict.Item(kDriverName)      end if

        if oParamdict.Exists(kShareName)       then oPrinter.ShareName           = oParamDict.Item(kShareName)       end if

        if oParamdict.Exists(kLocation)        then oPrinter.Location            = oParamDict.Item(kLocation)        end if

        if oParamdict.Exists(kComment)         then oPrinter.Comment             = oParamDict.Item(kComment)         end if

        if oParamdict.Exists(kDataType)        then oPrinter.PrintJobDataType    = oParamDict.Item(kDataType)        end if

        if oParamdict.Exists(kSepFile)         then oPrinter.SeparatorFile       = oParamDict.Item(kSepfile)         end if

        if oParamdict.Exists(kParameters)      then oPrinter.Parameters          = oParamDict.Item(kParameters)      end if

        if oParamdict.Exists(kPriority)        then oPrinter.Priority            = oParamDict.Item(kPriority)        end if

        if oParamdict.Exists(kDefaultPriority) then oPrinter.DefaultPriority     = oParamDict.Item(kDefaultPriority) end if

        if oParamdict.Exists(kPrintProc)       then oPrinter.PrintProc           = oParamDict.Item(kPrintProc)       end if

        if oParamdict.Exists(kStartTime)       then oPrinter.StartTime           = oParamDict.Item(kStartTime)       end if

        if oParamdict.Exists(kUntilTime)       then oPrinter.UntilTime           = oParamDict.Item(kUntilTime)       end if

        if oParamdict.Exists(kQueued)          then oPrinter.Queued              = oParamDict.Item(kQueued)          end if

        if oParamdict.Exists(kDirect)          then oPrinter.Direct              = oParamDict.Item(kDirect)          end if

        if oParamdict.Exists(kShared)          then oPrinter.Shared              = oParamDict.Item(kShared)          end if

        if oParamdict.Exists(kHidden)          then oPrinter.Hidden              = oParamDict.Item(kHidden)          end if

        if oParamdict.Exists(kEnabledevq)      then oPrinter.EnableDevQueryPrint = oParamDict.Item(kEnabledevq)      end if

        if oParamdict.Exists(kKeepPrintedJobs) then oPrinter.KeepPrintedJobs     = oParamDict.Item(kKeepPrintedJobs) end if

        if oParamdict.Exists(kDoCompleteFirst) then oPrinter.DoCompleteFirst     = oParamDict.Item(kDoCompleteFirst) end if

        if oParamdict.Exists(kWorkOffline)     then oPrinter.WorkOffline         = oParamDict.Item(kWorkOffline)     end if

        if oParamdict.Exists(kEnableBidi)      then oPrinter.EnableBidi          = oParamDict.Item(kEnableBidi)      end if

        if oParamdict.Exists(kRawonly)         then oPrinter.RawOnly             = oParamDict.Item(kRawonly)         end if

        if oParamdict.Exists(kPublished)       then oPrinter.Published           = oParamDict.Item(kPublished)       end if



        oPrinter.Put_(kFlagUpdateOnly)



        if Err.Number = kErrorSuccess then



            wscript.echo L_Text_Msg_General06_Text & L_Space_Text & strPrinter



            iRetval = kErrorSuccess



        else



            wscript.echo L_Text_Msg_General07_Text & L_Space_Text & strPrinter & L_Space_Text _

                         & L_Error_Text & L_Space_Text & L_Hex_Text & hex(Err.Number) & L_Space_Text _

                         & Err.Description



            '

            ' Try getting extended error information

            '

            call LastError()



        end if



    else



        wscript.echo L_Text_Msg_General04_Text & L_Space_Text & strPrinter & L_Space_Text _

                     & L_Error_Text & L_Space_Text & L_Hex_Text & hex(Err.Number) & L_Space_Text _

                     & Err.Description



        '

        ' Try getting extended error information

        '

        call LastError()



    end if



    SetPrinter = iRetval



end function



'

' Converts the printer status to a string

'

function PrnStatusToString(Status)



    dim str



    str = L_Empty_Text



    select case Status



        case 1

            str = str + L_Text_Msg_Status01_Text + L_Space_Text



        case 2

            str = str + L_Text_Msg_Status02_Text + L_Space_Text



        case 3

            str = str + L_Text_Msg_Status03_Text + L_Space_Text



        case 4

            str = str + L_Text_Msg_Status04_Text + L_Space_Text



        case 5

            str = str + L_Text_Msg_Status05_Text + L_Space_Text



        case 6

            str = str + L_Text_Msg_Status06_Text + L_Space_Text



        case 7

            str = str + L_Text_Msg_Status07_Text + L_Space_Text



    end select



    PrnStatusToString = str



end function



'

' Converts the extended printer status to a string

'

function ExtPrnStatusToString(Status)



    dim str



    str = L_Empty_Text



    select case Status



        case 1

            str = str + L_Text_Msg_Status01_Text + L_Space_Text



        case 2

            str = str + L_Text_Msg_Status02_Text + L_Space_Text



        case 3

            str = str + L_Text_Msg_Status03_Text + L_Space_Text



        case 4

            str = str + L_Text_Msg_Status04_Text + L_Space_Text



        case 5

            str = str + L_Text_Msg_Status05_Text + L_Space_Text



        case 6

            str = str + L_Text_Msg_Status06_Text + L_Space_Text



        case 7

            str = str + L_Text_Msg_Status07_Text + L_Space_Text



        case 8

            str = str + L_Text_Msg_Status08_Text + L_Space_Text



        case 9

            str = str + L_Text_Msg_Status09_Text + L_Space_Text



        case 10

            str = str + L_Text_Msg_Status10_Text + L_Space_Text



        case 11

            str = str + L_Text_Msg_Status11_Text + L_Space_Text



        case 12

            str = str + L_Text_Msg_Status12_Text + L_Space_Text



        case 13

            str = str + L_Text_Msg_Status13_Text + L_Space_Text



        case 14

            str = str + L_Text_Msg_Status14_Text + L_Space_Text



        case 15

            str = str + L_Text_Msg_Status15_Text + L_Space_Text



        case 16

            str = str + L_Text_Msg_Status16_Text + L_Space_Text



        case 17

            str = str + L_Text_Msg_Status17_Text + L_Space_Text



        case 18

            str = str + L_Text_Msg_Status18_Text + L_Space_Text



    end select



    ExtPrnStatusToString = str



end function



'

' Converts the detected error state to a string

'

function DetectedErrorStateToString(Status)



    dim str



    str = L_Empty_Text



    select case Status



        case 0

            str = str + L_Text_Msg_Status02_Text + L_Space_Text



        case 1

            str = str + L_Text_Msg_Status01_Text + L_Space_Text



        case 2

            str = str + L_Text_Msg_Status01_Text + L_Space_Text



        case 3

            str = str + L_Text_Msg_Status20_Text + L_Space_Text



        case 4

            str = str + L_Text_Msg_Status21_Text + L_Space_Text



        case 5

            str = str + L_Text_Msg_Status22_Text + L_Space_Text



        case 6

            str = str + L_Text_Msg_Status23_Text + L_Space_Text



        case 7

            str = str + L_Text_Msg_Status24_Text + L_Space_Text



        case 8

            str = str + L_Text_Msg_Status25_Text + L_Space_Text



        case 9

            str = str + L_Text_Msg_Status07_Text + L_Space_Text



        case 10

            str = str + L_Text_Msg_Status26_Text + L_Space_Text



        case 11

            str = str + L_Text_Msg_Status27_Text + L_Space_Text



    end select



    DetectedErrorStateToString = str



end function



'

' Converts the extended detected error state to a string

'

function ExtDetectedErrorStateToString(Status)



    dim str



    str = L_Empty_Text



    select case Status



        case 0

            str = str + L_Text_Msg_Status02_Text + L_Space_Text



        case 1

            str = str + L_Text_Msg_Status01_Text + L_Space_Text



        case 2

            str = str + L_Text_Msg_Status01_Text + L_Space_Text



        case 3

            str = str + L_Text_Msg_Status20_Text + L_Space_Text



        case 4

            str = str + L_Text_Msg_Status21_Text + L_Space_Text



        case 5

            str = str + L_Text_Msg_Status22_Text + L_Space_Text



        case 6

            str = str + L_Text_Msg_Status23_Text + L_Space_Text



        case 7

            str = str + L_Text_Msg_Status24_Text + L_Space_Text



        case 8

            str = str + L_Text_Msg_Status25_Text + L_Space_Text



        case 9

            str = str + L_Text_Msg_Status07_Text + L_Space_Text



        case 10

            str = str + L_Text_Msg_Status26_Text + L_Space_Text



        case 11

            str = str + L_Text_Msg_Status27_Text + L_Space_Text



        case 12

            str = str + L_Text_Msg_Status28_Text + L_Space_Text



        case 13

            str = str + L_Text_Msg_Status29_Text + L_Space_Text



        case 14

            str = str + L_Text_Msg_Status30_Text + L_Space_Text



        case 15

            str = str + L_Text_Msg_Status31_Text + L_Space_Text



        case 16

            str = str + L_Text_Msg_Status32_Text + L_Space_Text



    end select



    ExtDetectedErrorStateToString = str



end function



'

' Debug display helper function

'

sub DebugPrint(uFlags, strString)



    if gDebugFlag = true then



        if uFlags = kDebugTrace then



            wscript.echo L_Debug_Text & L_Space_Text & strString



        end if



        if uFlags = kDebugError then



            if Err <> 0 then



                wscript.echo L_Debug_Text & L_Space_Text & strString & L_Space_Text _

                             & L_Error_Text & L_Space_Text & L_Hex_Text & hex(Err.Number) _

                             & L_Space_Text & Err.Description



            end if



        end if



    end if



end sub



'

' Parse the command line into its components

'

function ParseCommandLine(iAction, oParamdict)



    on error resume next



    DebugPrint kDebugTrace, L_Text_Dbg_Msg05_Text



    dim oArgs

    dim iIndex



    iAction = kActionUnknown

    iIndex = 0



    set oArgs = wscript.Arguments



    while iIndex < oArgs.Count



        select case oArgs(iIndex)



            case "-g"

                iAction = kActionGet



            case "-t"

                iAction = kActionSet



            case "-x"

                iAction = kActionRename



            case "-p"

                iIndex = iIndex + 1

                oParamdict.Add kPrinterName, oArgs(iIndex)



            case "-s"

                iIndex = iIndex + 1

                oParamdict.Add kServerName, RemoveBackslashes(oArgs(iIndex))



            case "-r"

                iIndex = iIndex + 1

                oParamdict.Add kPortName, oArgs(iIndex)



            case "-h"

                iIndex = iIndex + 1

                oParamdict.Add kShareName, oArgs(iIndex)



            case "-m"

                iIndex = iIndex + 1

                oParamdict.Add kComment, oArgs(iIndex)



            case "-l"

                iIndex = iIndex + 1

                oParamdict.Add kLocation, oArgs(iIndex)



            case "-y"

                iIndex = iIndex + 1

                oParamdict.Add kDataType, oArgs(iIndex)



            case "-f"

                iIndex = iIndex + 1

                oParamdict.Add kSepFile, oArgs(iIndex)



            case "-z"

                iIndex = iIndex + 1

                oParamdict.Add kNewPrinterName, oArgs(iIndex)



            case "-u"

                iIndex = iIndex + 1

                oParamdict.Add kUserName, oArgs(iIndex)



            case "-w"

                iIndex = iIndex + 1

                oParamdict.Add kPassword, oArgs(iIndex)



            case "-st"

                iIndex = iIndex + 1

                oParamdict.Add kStartTime, "********" & oArgs(iIndex) & "00.000000+000"



            case "-o"

                iIndex = iIndex + 1

                oParamdict.Add kPriority, oArgs(iIndex)



            case "-i"

                iIndex = iIndex + 1

                oParamdict.Add kDefaultPriority, oArgs(iIndex)



            case "-ut"

                iIndex = iIndex + 1

                oParamdict.Add kUntilTime, "********" & oArgs(iIndex) & "00.000000+000"



            case "-queued"

                oParamdict.Add kQueued, false



            case "+queued"

                oParamdict.Add kQueued, true



            case "-direct"

                oParamdict.Add kDirect, false



            case "+direct"

                oParamdict.Add kDirect, true



            case "-shared"

                oParamdict.Add kShared, false



            case "+shared"

                oParamdict.Add kShared, true



            case "-hidden"

                oParamdict.Add kHidden, false



            case "+hidden"

                oParamdict.Add kHidden, true



            case "-enabledevq"

                oParamdict.Add kEnabledevq, false



            case "+enabledevq"

                oParamdict.Add kEnabledevq, true



            case "-keepprintedjobs"

                oParamdict.Add kKeepprintedjobs, false



            case "+keepprintedjobs"

                oParamdict.Add kKeepprintedjobs, true



            case "-docompletefirst"

                oParamdict.Add kDocompletefirst, false



            case "+docompletefirst"

                oParamdict.Add kDocompletefirst, true



            case "-workoffline"

                oParamdict.Add kWorkoffline, false



            case "+workoffline"

                oParamdict.Add kWorkoffline, true



            case "-enablebidi"

                oParamdict.Add kEnablebidi, false



            case "+enablebidi"

                oParamdict.Add kEnablebidi, true



            case "-rawonly"

                oParamdict.Add kRawonly, false



            case "+rawonly"

                oParamdict.Add kRawonly, true



            case "-published"

                oParamdict.Add kPublished, false



            case "+published"

                oParamdict.Add kPublished, true



            case "-?"

                Usage(true)

                exit function



            case else

                Usage(true)

                exit function



        end select



        iIndex = iIndex + 1



    wend



    if Err = kErrorSuccess then



        ParseCommandLine = kErrorSuccess



    else



        wscript.echo L_Text_Error_General02_Text & L_Space_Text & L_Error_Text & L_Space_Text _

                     & L_Hex_Text & hex(Err.Number) & L_Space_text & Err.Description



        ParseCommandLine = kErrorFailure



    end if



end function



'

' Display command usage.

'

sub Usage(bExit)



    wscript.echo L_Help_Help_General01_Text

    wscript.echo L_Help_Help_General02_Text

    wscript.echo L_Help_Help_General03_Text

    wscript.echo L_Help_Help_General04_Text

    wscript.echo L_Help_Help_General05_Text

    wscript.echo L_Help_Help_General06_Text

    wscript.echo L_Help_Help_General07_Text

    wscript.echo L_Help_Help_General08_Text

    wscript.echo L_Help_Help_General09_Text

    wscript.echo L_Help_Help_General10_Text

    wscript.echo L_Help_Help_General11_Text

    wscript.echo L_Help_Help_General12_Text

    wscript.echo L_Help_Help_General13_Text

    wscript.echo L_Help_Help_General14_Text

    wscript.echo L_Help_Help_General15_Text

    wscript.echo L_Help_Help_General16_Text

    wscript.echo L_Help_Help_General17_Text

    wscript.echo L_Help_Help_General18_Text

    wscript.echo L_Help_Help_General19_Text

    wscript.echo L_Help_Help_General20_Text

    wscript.echo L_Help_Help_General21_Text

    wscript.echo L_Help_Help_General22_Text

    wscript.echo L_Help_Help_General23_Text

    wscript.echo L_Help_Help_General24_Text

    wscript.echo L_Help_Help_General25_Text

    wscript.echo L_Help_Help_General26_Text

    wscript.echo L_Help_Help_General27_Text

    wscript.echo L_Empty_Text

    wscript.echo L_Help_Help_General28_Text

    wscript.echo L_Help_Help_General29_Text

    wscript.echo L_Help_Help_General30_Text

    wscript.echo L_Help_Help_General31_Text

    wscript.echo L_Help_Help_General32_Text

    wscript.echo L_Help_Help_General33_Text

    wscript.echo L_Help_Help_General34_Text

    wscript.echo L_Help_Help_General35_Text



    if bExit then



        wscript.quit(1)



    end if



end sub



'

' Determines which program is being used to run this script.

' Returns true if the script host is cscript.exe

'

function IsHostCscript()



    on error resume next



    dim strFullName

    dim strCommand

    dim i, j

    dim bReturn



    bReturn = false



    strFullName = WScript.FullName



    i = InStr(1, strFullName, ".exe", 1)



    if i <> 0 then



        j = InStrRev(strFullName, "\", i, 1)



        if j <> 0 then



            strCommand = Mid(strFullName, j+1, i-j-1)



            if LCase(strCommand) = "cscript" then



                bReturn = true



            end if



        end if



    end if



    if Err <> 0 then



        wscript.echo L_Text_Error_General01_Text & L_Space_Text & L_Error_Text & L_Space_Text _

                     & L_Hex_Text & hex(Err.Number) & L_Space_Text & Err.Description



    end if



    IsHostCscript = bReturn



end function



'

' Retrieves extended information about the last error that occurred

' during a WBEM operation. The methods that set an SWbemLastError

' object are GetObject, PutInstance, DeleteInstance

'

sub LastError()



    on error resume next



    dim oError



    set oError = CreateObject("WbemScripting.SWbemLastError")



    if Err = kErrorSuccess then



        wscript.echo L_Operation_Text            & L_Space_Text & oError.Operation

        wscript.echo L_Provider_Text             & L_Space_Text & oError.ProviderName

        wscript.echo L_Description_Text          & L_Space_Text & oError.Description

        wscript.echo L_Text_Error_General03_Text & L_Space_Text & oError.StatusCode



    end if



end sub



'

' Connects to the WMI service on a server. oService is returned as a service

' object (SWbemServices)

'

function WmiConnect(strServer, strNameSpace, strUser, strPassword, oService)



    on error resume next



    dim oLocator

    dim bResult



    oService = null



    bResult  = false



    set oLocator = CreateObject("WbemScripting.SWbemLocator")



    if Err = kErrorSuccess then



        set oService = oLocator.ConnectServer(strServer, strNameSpace, strUser, strPassword)



        if Err = kErrorSuccess then



            bResult = true



            oService.Security_.impersonationlevel = 3



            '

            ' Required to perform administrative tasks on the spooler service

            '

            oService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege"



            Err.Clear



        else



            wscript.echo L_Text_Msg_General08_Text & L_Space_Text & L_Error_Text _

                         & L_Space_Text & L_Hex_Text & hex(Err.Number) & L_Space_Text _

                         & Err.Description



        end if



    else



        wscript.echo L_Text_Msg_General09_Text & L_Space_Text & L_Error_Text _

                     & L_Space_Text & L_Hex_Text & hex(Err.Number) & L_Space_Text _

                     & Err.Description



    end if



    WmiConnect = bResult



end function



'

' Remove leading "\\" from server name

'

function RemoveBackslashes(strServer)



    dim strRet



    strRet = strServer



    if Left(strServer, 2) = "\\" and Len(strServer) > 2 then



        strRet = Mid(strServer, 3)



    end if



    RemoveBackslashes = strRet



end function





'' SIG '' Begin signature block

'' SIG '' MIIZMAYJKoZIhvcNAQcCoIIZITCCGR0CAQExDjAMBggq

'' SIG '' hkiG9w0CBQUAMGYGCisGAQQBgjcCAQSgWDBWMDIGCisG

'' SIG '' AQQBgjcCAR4wJAIBAQQQTvApFpkntU2P5azhDxfrqwIB

'' SIG '' AAIBAAIBAAIBAAIBADAgMAwGCCqGSIb3DQIFBQAEEOLm

'' SIG '' 4j+9BLdGEED7+fyvFSygghQ4MIICvDCCAiUCEEoZ0jiM

'' SIG '' glkcpV1zXxVd3KMwDQYJKoZIhvcNAQEEBQAwgZ4xHzAd

'' SIG '' BgNVBAoTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxFzAV

'' SIG '' BgNVBAsTDlZlcmlTaWduLCBJbmMuMSwwKgYDVQQLEyNW

'' SIG '' ZXJpU2lnbiBUaW1lIFN0YW1waW5nIFNlcnZpY2UgUm9v

'' SIG '' dDE0MDIGA1UECxMrTk8gTElBQklMSVRZIEFDQ0VQVEVE

'' SIG '' LCAoYyk5NyBWZXJpU2lnbiwgSW5jLjAeFw05NzA1MTIw

'' SIG '' MDAwMDBaFw0wNDAxMDcyMzU5NTlaMIGeMR8wHQYDVQQK

'' SIG '' ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMRcwFQYDVQQL

'' SIG '' Ew5WZXJpU2lnbiwgSW5jLjEsMCoGA1UECxMjVmVyaVNp

'' SIG '' Z24gVGltZSBTdGFtcGluZyBTZXJ2aWNlIFJvb3QxNDAy

'' SIG '' BgNVBAsTK05PIExJQUJJTElUWSBBQ0NFUFRFRCwgKGMp

'' SIG '' OTcgVmVyaVNpZ24sIEluYy4wgZ8wDQYJKoZIhvcNAQEB

'' SIG '' BQADgY0AMIGJAoGBANMuIPBofCwtLoEcsQaypwu3EQ1X

'' SIG '' 2lPYdePJMyqy1PYJWzTz6ZD+CQzQ2xtauc3n9oixncCH

'' SIG '' Jet9WBBzanjLcRX9xlj2KatYXpYE/S1iEViBHMpxlNUi

'' SIG '' WC/VzBQFhDa6lKq0TUrp7jsirVaZfiGcbIbASkeXarSm

'' SIG '' NtX8CS3TtDmbAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEA

'' SIG '' YVUOPnvHkhJ+ERCOIszUsxMrW+hE5At4nqR+86cHch7i

'' SIG '' We/MhOOJlEzbTmHvs6T7Rj1QNAufcFb2jip/F87lY795

'' SIG '' aQdzLrCVKIr17aqp0l3NCsoQCY/Os68olsR5KYSS3P+6

'' SIG '' Z0JIppAQ5L9h+JxT5ZPRcz/4/Z1PhKxV0f0RY2MwggQC

'' SIG '' MIIDa6ADAgECAhAIem1cb2KTT7rE/UPhFBidMA0GCSqG

'' SIG '' SIb3DQEBBAUAMIGeMR8wHQYDVQQKExZWZXJpU2lnbiBU

'' SIG '' cnVzdCBOZXR3b3JrMRcwFQYDVQQLEw5WZXJpU2lnbiwg

'' SIG '' SW5jLjEsMCoGA1UECxMjVmVyaVNpZ24gVGltZSBTdGFt

'' SIG '' cGluZyBTZXJ2aWNlIFJvb3QxNDAyBgNVBAsTK05PIExJ

'' SIG '' QUJJTElUWSBBQ0NFUFRFRCwgKGMpOTcgVmVyaVNpZ24s

'' SIG '' IEluYy4wHhcNMDEwMjI4MDAwMDAwWhcNMDQwMTA2MjM1

'' SIG '' OTU5WjCBoDEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4x

'' SIG '' HzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsx

'' SIG '' OzA5BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczov

'' SIG '' L3d3dy52ZXJpc2lnbi5jb20vcnBhIChjKTAxMScwJQYD

'' SIG '' VQQDEx5WZXJpU2lnbiBUaW1lIFN0YW1waW5nIFNlcnZp

'' SIG '' Y2UwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB

'' SIG '' AQDAemGH67KnA2MbKxph3oC3FR2gi5A9uyeShBQ564XO

'' SIG '' KZIGZkikA0+N6E+n8K9e0S8Zx5HxtZ57kSHO6f/jTvD8

'' SIG '' r5VYuGMt5o72KRjNcI5Qw+2Wu0DbviXoQlXW9oXyBueL

'' SIG '' mRwx8wMP1EycJCrcGxuPgvOw76dN4xSn4I/Wx2jCYVip

'' SIG '' ctT4MEhP2S9vYyDZicqCe8JLvCjFgWjn5oJArEY6oPk/

'' SIG '' Ns1Mu1RCWnple/6E5MdHVKy5PeyAxxr3xDOBgckqlft/

'' SIG '' XjqHkBTbzC518u9r5j2pYL5CAapPqluoPyIxnxIV+XOh

'' SIG '' HoKLBCvqRgJMbY8fUC6VSyp4BoR0PZGPLEcxAgMBAAGj

'' SIG '' gbgwgbUwQAYIKwYBBQUHAQEENDAyMDAGCCsGAQUFBzAB

'' SIG '' hiRodHRwOi8vb2NzcC52ZXJpc2lnbi5jb20vb2NzcC9z

'' SIG '' dGF0dXMwCQYDVR0TBAIwADBEBgNVHSAEPTA7MDkGC2CG

'' SIG '' SAGG+EUBBwEBMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v

'' SIG '' d3d3LnZlcmlzaWduLmNvbS9ycGEwEwYDVR0lBAwwCgYI

'' SIG '' KwYBBQUHAwgwCwYDVR0PBAQDAgbAMA0GCSqGSIb3DQEB

'' SIG '' BAUAA4GBAC3zT2NgLBja9SQPUrMM67O8Z4XCI+2PRg3P

'' SIG '' Gk2+83x6IDAyGGiLkrsymfCTuDsVBid7PgIGAKQhkoQT

'' SIG '' CsWY5UBXxQUl6K+vEWqp5TvL6SP2lCldQFXzpVOdyDY6

'' SIG '' OWUIc3OkMtKvrL/HBTz/RezD6Nok0c5jrgmn++Ib4/1B

'' SIG '' CmqWMIIEEjCCAvqgAwIBAgIPAMEAizw8iBHRPvZj7N9A

'' SIG '' MA0GCSqGSIb3DQEBBAUAMHAxKzApBgNVBAsTIkNvcHly

'' SIG '' aWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAc

'' SIG '' BgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8G

'' SIG '' A1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0aG9yaXR5MB4X

'' SIG '' DTk3MDExMDA3MDAwMFoXDTIwMTIzMTA3MDAwMFowcDEr

'' SIG '' MCkGA1UECxMiQ29weXJpZ2h0IChjKSAxOTk3IE1pY3Jv

'' SIG '' c29mdCBDb3JwLjEeMBwGA1UECxMVTWljcm9zb2Z0IENv

'' SIG '' cnBvcmF0aW9uMSEwHwYDVQQDExhNaWNyb3NvZnQgUm9v

'' SIG '' dCBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IB

'' SIG '' DwAwggEKAoIBAQCpAr3BcOY78k4bKJ+XeF4w6qKpjSVf

'' SIG '' +P6VTKO3/p2iID58UaKboo9gMmvRQmR57qx2yVTa8uuc

'' SIG '' hhyPn4Rms8VremIj1h083g8BkuiWxL8tZpqaaCaZ0Dos

'' SIG '' vwy1WCbBRucKPjiWLKkoOajsSYNC44QPu5psVWGsgnyh

'' SIG '' YC13TOmZtGQ7mlAcMQgkFJ+p55ErGOY9mGMUYFgFZZ8d

'' SIG '' N1KH96fvlALGG9O/VUWziYC/OuxUlE6u/ad6bXROrxjM

'' SIG '' lgkoIQBXkGBpN7tLEgc8Vv9b+6RmCgim0oFWV++2O14W

'' SIG '' gXcE2va+roCV/rDNf9anGnJcPMq88AijIjCzBoXJsyB3

'' SIG '' E4XfAgMBAAGjgagwgaUwgaIGA1UdAQSBmjCBl4AQW9Bw

'' SIG '' 72lyniNRfhSyTY7/y6FyMHAxKzApBgNVBAsTIkNvcHly

'' SIG '' aWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAc

'' SIG '' BgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8G

'' SIG '' A1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0aG9yaXR5gg8A

'' SIG '' wQCLPDyIEdE+9mPs30AwDQYJKoZIhvcNAQEEBQADggEB

'' SIG '' AJXoC8CN85cYNe24ASTYdxHzXGAyn54Lyz4FkYiPyTrm

'' SIG '' IfLwV5MstaBHyGLv/NfMOztaqTZUaf4kbT/JzKreBXzd

'' SIG '' MY09nxBwarv+Ek8YacD80EPjEVogT+pie6+qGcgrNyUt

'' SIG '' vmWhEoolD2Oj91Qc+SHJ1hXzUqxuQzIH/YIX+OVnbA1R

'' SIG '' 9r3xUse958Qw/CAxCYgdlSkaTdUdAqXxgOADtFv0sd3I

'' SIG '' V+5lScdSVLa0AygS/5DW8AiPfriXxas3LOR65Kh343ag

'' SIG '' ANBqP8HSNorgQRKoNWobats14dQcBOSoRQTIWjM4bk0c

'' SIG '' DWK3CqKM09VUP0bNHFWmcNsSOoeTdZ+n0qAwggSLMIID

'' SIG '' c6ADAgECAgphBiqNAAAAAAALMA0GCSqGSIb3DQEBBQUA

'' SIG '' MIGmMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu

'' SIG '' Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV

'' SIG '' TWljcm9zb2Z0IENvcnBvcmF0aW9uMSswKQYDVQQLEyJD

'' SIG '' b3B5cmlnaHQgKGMpIDIwMDAgTWljcm9zb2Z0IENvcnAu

'' SIG '' MSMwIQYDVQQDExpNaWNyb3NvZnQgQ29kZSBTaWduaW5n

'' SIG '' IFBDQTAeFw0wMTAzMjkyMTI3MjZaFw0wMjA1MjkyMTM3

'' SIG '' MjZaMIGhMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz

'' SIG '' aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE

'' SIG '' ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSswKQYDVQQL

'' SIG '' EyJDb3B5cmlnaHQgKGMpIDIwMDEgTWljcm9zb2Z0IENv

'' SIG '' cnAuMR4wHAYDVQQDExVNaWNyb3NvZnQgQ29ycG9yYXRp

'' SIG '' b24wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAI4W

'' SIG '' b9oX0+NFlbKs0+XPMT0dxIe7TkgF+YtWqSuHY8hE2jDJ

'' SIG '' FLzreBq6xOricgBMRmab3mJGbp73RLrous/C1fU7lke4

'' SIG '' UV7Rd2cie1MqLeoij3xO/wK1GzOg6pXrGLp2+WHSAAuU

'' SIG '' YDQ7SYYss9mOky4ta/3jVaq4qm7gcPSiYAYvAgMBAAGj

'' SIG '' ggFAMIIBPDAOBgNVHQ8BAf8EBAMCBsAwEwYDVR0lBAww

'' SIG '' CgYIKwYBBQUHAwMwHQYDVR0OBBYEFO+QQN5P4BuzRdgH

'' SIG '' A3uZ+XUZZjUaMIGpBgNVHSMEgaEwgZ6AFClcuRu2zTPu

'' SIG '' u55Zffflyi7EDTQooXSkcjBwMSswKQYDVQQLEyJDb3B5

'' SIG '' cmlnaHQgKGMpIDE5OTcgTWljcm9zb2Z0IENvcnAuMR4w

'' SIG '' HAYDVQQLExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xITAf

'' SIG '' BgNVBAMTGE1pY3Jvc29mdCBSb290IEF1dGhvcml0eYIQ

'' SIG '' aguZT8AA3qoR1NhAmqi+5jBKBgNVHR8EQzBBMD+gPaA7

'' SIG '' hjlodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny

'' SIG '' bC9wcm9kdWN0cy9Db2RlU2lnblBDQS5jcmwwDQYJKoZI

'' SIG '' hvcNAQEFBQADggEBAARnzM/dcU1Hwo6DaRJrol+WJgfo

'' SIG '' j9jTnlrbJ2kdHfQ8VShT3REkJ5KuWVZA6cRNnezbq36U

'' SIG '' mz0gLDXyJ07AyDm3ZWPRNWbaU71BfllKpFK39f3IvaF7

'' SIG '' BriY2Jju0Qs0dWYN3EGPw7CShFfBQnqFxpET21St3n5B

'' SIG '' 3CCv6RvJwjIxxY3py/qDS8FYkzLE1+PNeqvffQicxoU7

'' SIG '' 6EGBOLF4Gbw4981rws6qTJAdg8bmAYloqueP6AdQKjLd

'' SIG '' 18+9zHrZOg//skSKV8gaN2QHF317cktGBqEoWyNXHmr9

'' SIG '' kSIzQNF1SxIBbgYhhDZvqCoMfz6uNSv2t30LCBPlV/NL

'' SIG '' rY8gv7gwggTJMIIDsaADAgECAhBqC5lPwADeqhHU2ECa

'' SIG '' qL7mMA0GCSqGSIb3DQEBBAUAMHAxKzApBgNVBAsTIkNv

'' SIG '' cHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4x

'' SIG '' HjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEh

'' SIG '' MB8GA1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0aG9yaXR5

'' SIG '' MB4XDTAwMTIxMDA4MDAwMFoXDTA1MTExMjA4MDAwMFow

'' SIG '' gaYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n

'' SIG '' dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN

'' SIG '' aWNyb3NvZnQgQ29ycG9yYXRpb24xKzApBgNVBAsTIkNv

'' SIG '' cHlyaWdodCAoYykgMjAwMCBNaWNyb3NvZnQgQ29ycC4x

'' SIG '' IzAhBgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNpZ25pbmcg

'' SIG '' UENBMIIBIDANBgkqhkiG9w0BAQEFAAOCAQ0AMIIBCAKC

'' SIG '' AQEAooQVU9gLMA40lf86G8LzL3ttNyNN89KM5f2v/cUC

'' SIG '' NB8kx+Wh3FTsfgJ0R6vbMlgWFFEpOPF+srSMOke1OU5u

'' SIG '' VMIxDDpt+83Ny1CcG66n2NlKJj+1xcuPluJJ8m3Y6ZY+

'' SIG '' 3gXP8KZVN60vYM2AYUKhSVRKDxi3S9mTmTBaR3VktNO7

'' SIG '' 3barDJ1PuHM7GDqqtIeMsIiwTU8fThG1M4DfDTpkb0TH

'' SIG '' NL1Kk5u8ph35BSNOYCmPzCryhJqZrajbCnB71jRBkKW3

'' SIG '' ZsdcGx2jMw6bVAMaP5iQuMznPQR0QxyP9znms6xIemsq

'' SIG '' DmIBYTl2bv0+mAdLFPEBRv0VAOBH2k/kBeSAJQIBA6OC

'' SIG '' ASgwggEkMBMGA1UdJQQMMAoGCCsGAQUFBwMDMIGiBgNV

'' SIG '' HQEEgZowgZeAEFvQcO9pcp4jUX4Usk2O/8uhcjBwMSsw

'' SIG '' KQYDVQQLEyJDb3B5cmlnaHQgKGMpIDE5OTcgTWljcm9z

'' SIG '' b2Z0IENvcnAuMR4wHAYDVQQLExVNaWNyb3NvZnQgQ29y

'' SIG '' cG9yYXRpb24xITAfBgNVBAMTGE1pY3Jvc29mdCBSb290

'' SIG '' IEF1dGhvcml0eYIPAMEAizw8iBHRPvZj7N9AMBAGCSsG

'' SIG '' AQQBgjcVAQQDAgEAMB0GA1UdDgQWBBQpXLkbts0z7rue

'' SIG '' WX335couxA00KDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi

'' SIG '' AEMAQTALBgNVHQ8EBAMCAUYwDwYDVR0TAQH/BAUwAwEB

'' SIG '' /zANBgkqhkiG9w0BAQQFAAOCAQEARVjimkF//J2/SHd3

'' SIG '' rozZ5hnFV7QavbS5XwKhRWo5Wfm5J5wtTZ78ouQ4ijhk

'' SIG '' IkLfuS8qz7fWBsrrKr/gGoV821EIPfQi09TAbYiBFURf

'' SIG '' ZINkxKmULIrbkDdKD7fo1GGPdnbh2SX/JISVjQRWVJSh

'' SIG '' HDo+grzupYeMHIxLeV+1SfpeMmk6H1StdU3fZOcwPNtk

'' SIG '' SUT7+8QcQnHmoD1F7msAn6xCvboRs1bk+9WiKoHYH06i

'' SIG '' Vb4nj3Cmomwb/1SKgryBS6ahsWZ6qRenywbAR+ums+kx

'' SIG '' FVM9KgS//3NI3IsnQ/xj6O4kh1u+NtHoMfUy2V7feXq6

'' SIG '' MKxphkr7jBG/G41UWTGCBGIwggReAgEBMIG1MIGmMQsw

'' SIG '' CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ

'' SIG '' MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z

'' SIG '' b2Z0IENvcnBvcmF0aW9uMSswKQYDVQQLEyJDb3B5cmln

'' SIG '' aHQgKGMpIDIwMDAgTWljcm9zb2Z0IENvcnAuMSMwIQYD

'' SIG '' VQQDExpNaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQQIK

'' SIG '' YQYqjQAAAAAACzAMBggqhkiG9w0CBQUAoIGwMBkGCSqG

'' SIG '' SIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcC

'' SIG '' AQsxDjAMBgorBgEEAYI3AgEVMB8GCSqGSIb3DQEJBDES

'' SIG '' BBDuywKV2zhUda/eUBoNMzbLMFQGCisGAQQBgjcCAQwx

'' SIG '' RjBEoCaAJABXAE0ASQAgAHAAcgBpAG4AdABlAHIAIABz

'' SIG '' AGMAcgBpAHAAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29m

'' SIG '' dC5jb20wDQYJKoZIhvcNAQEBBQAEgYB2Vi7Wgjx8BqH2

'' SIG '' 46YWLB+EfmuDlcWOg0IQzJ11Taz0p3SyKPoFM0tpYPvA

'' SIG '' /NjorlO5qMEuUtKXXn5hXAU+6IfA1kW7rWjRyMoYf6BN

'' SIG '' Mnuzk+L3ZYM095hAFNy6YOtIH0msH52t/J3rgJdVcnB1

'' SIG '' IHDGvl9K0iT0+wvHCfC1cm0BKaGCAkwwggJIBgkqhkiG

'' SIG '' 9w0BCQYxggI5MIICNQIBATCBszCBnjEfMB0GA1UEChMW

'' SIG '' VmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMO

'' SIG '' VmVyaVNpZ24sIEluYy4xLDAqBgNVBAsTI1ZlcmlTaWdu

'' SIG '' IFRpbWUgU3RhbXBpbmcgU2VydmljZSBSb290MTQwMgYD

'' SIG '' VQQLEytOTyBMSUFCSUxJVFkgQUNDRVBURUQsIChjKTk3

'' SIG '' IFZlcmlTaWduLCBJbmMuAhAIem1cb2KTT7rE/UPhFBid

'' SIG '' MAwGCCqGSIb3DQIFBQCgWTAYBgkqhkiG9w0BCQMxCwYJ

'' SIG '' KoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wMTEyMDcy

'' SIG '' MDIzMDRaMB8GCSqGSIb3DQEJBDESBBBQcr7gc8/T5Jz/

'' SIG '' zs4YUE0FMA0GCSqGSIb3DQEBAQUABIIBAFgRB0KNh4S6

'' SIG '' v84cecsMH9B8Edq6fSmFxYXHK1T/OBG0SvODIdjhRf5D

'' SIG '' 0rod1rKYugta35C3QRW6URZ/qL/nqgnadJ240vFw1ANS

'' SIG '' KhIEatmSr34A0FbNEMEZsspxaG8JI91nv5NgayArbURR

'' SIG '' x8CV5M+LkaesZyVldDOZ88BdbAFcALMR860d/CXgVa6p

'' SIG '' Qz8w3lrIQGUzXnuuxaTtRAf22Ba/NSg4FOWz+U4DHUq3

'' SIG '' Ed0vbzAuzUOLo0EwEB+PPf4yZ2Had3xAkUQfbmb89yK9

'' SIG '' FMZL1A6aksyHdNB2HB4vgyzXW+KTRbQ4MKttbACrugLn

'' SIG '' vSRK4Mpa/gWTKBapOlzdKcI=

'' SIG '' End signature block


Youez - 2016 - github.com/yon3zu
LinuXploit