none
Duda Scrits Impresora RRS feed

  • Pregunta

  • He generado un script para los usarios se le genere la impresora automaticamente, mi duda es si es necesario crear un script para cuando termine la sesion se borre la impresora que se genero y saber el porque.

    Gracias


    Administrador de Sistemas

    jueves, 17 de mayo de 2012 11:37

Respuestas

  • Exacto, puedes copiar este codigo en un fichero VBS y vincularlo al logon de una GPO que aplique sobre los usuarios (prueba primero en una OU aislada con tu usuario sólo!!!). Sustituye las variables strSpool1 y strSpool2 con los paths a las impresoras que quieres desplegar, intenta evitar espacios en blanco en los nombres de la printer.

    '####################################################################################
    'Scripting VBS
    'Script Printer Network Deployment
    '####################################################################################
    On error resume next
     
    set objNetwork = CreateObject("Wscript.Network")

    strSpool1 = "\\servername\printername"
    strSpool2 = "\\servername\printername2"

    objNetwork.AddWindowsPrinterConnection strSpool1
    objNetwork.AddWindowsPrinterConnection strSpool2
    objNetwork.SetDefaultPrinter strSpool1 'Si quieres que la default sea strSpool2 modifícalo 

    Wscript.quit
    '###################################################################

    Ya me dirás si te funciona.

    Un saludo.

    Julio Rosua

    • Propuesto como respuesta Uriel Almendra miércoles, 6 de marzo de 2013 21:00
    • Marcado como respuesta Uriel Almendra miércoles, 28 de agosto de 2013 20:19
    viernes, 18 de mayo de 2012 12:28

Todas las respuestas

  • Hola Moxblue,

    Pues la verdad es que desde el punto de vista operativa no creo que tenga mucho sentido ya que estarás sobrecargando tanto el proceso de logon como logoff al repetir la tarea. Es decir, más lentitud de inicio y apagado, usuarios enfadados etc etc...

    Ahora, si por razones de negocio debes hacerlo, es totalmente posible, podrías ejecutar el siguiente código desde VBS y vincularlo al evento logoff de la sección user de una GPO.

    '####################################################################################

       

    Const NETWORK = 22
    Set objNetwork = CreateObject("WScript.Network")
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colPrinters = objWMIService.ExecQuery("Select * From Win32_Printer")

    For Each objPrinter in colPrinters
        If objPrinter.Attributes And NETWORK Then 
            strPrinter = objPrinter.Name
            objNetwork.RemovePrinterConnection strPrinter
        End If
    Next

    '###################################################################

    Saludos.

    Julio Rosua

    MCP / MCSA / MCSE Engineer

    jueves, 17 de mayo de 2012 17:01
  • Por lo comentas estaba equivocado al plantear la forma de instalar las impresoras cuando se crean los usuarios o se pone una nueva, como deberia de hacerse este proceso

    Gracias de antemano


    Administrador de Sistemas

    jueves, 17 de mayo de 2012 20:37
  • Moxblue,

    No hay una mejor manera en general de hacerlo, hay varias maneras de hacer lo que realmente necesitas.

    ¿Cuantas impresoras y usuarios tienes aproximadamente en el entorno que gestionas? En función de esto podemos hacer un script sencillito, o bien si hay muchos usuarios y muchas casuísticas diferentes (usuarios de diferentes departamentos con diferentes colas de impresión...) deberíamos generar un fichero INI con los argumentos por user/grupo y hacer que el script recogiera estos datos.

    Let me know.

    Saludos.

    Julio Rosua

    viernes, 18 de mayo de 2012 10:13
  • Tengo unos 50 usuarios los cuales por politica imprimen en la misma impresora, y para color usan otra. Solamente tenemos esta dos. Seria por lo que me dices para configurarlas cuando se configura la sesion del usuario

    Gracias 


    Administrador de Sistemas

    viernes, 18 de mayo de 2012 12:18
  • Exacto, puedes copiar este codigo en un fichero VBS y vincularlo al logon de una GPO que aplique sobre los usuarios (prueba primero en una OU aislada con tu usuario sólo!!!). Sustituye las variables strSpool1 y strSpool2 con los paths a las impresoras que quieres desplegar, intenta evitar espacios en blanco en los nombres de la printer.

    '####################################################################################
    'Scripting VBS
    'Script Printer Network Deployment
    '####################################################################################
    On error resume next
     
    set objNetwork = CreateObject("Wscript.Network")

    strSpool1 = "\\servername\printername"
    strSpool2 = "\\servername\printername2"

    objNetwork.AddWindowsPrinterConnection strSpool1
    objNetwork.AddWindowsPrinterConnection strSpool2
    objNetwork.SetDefaultPrinter strSpool1 'Si quieres que la default sea strSpool2 modifícalo 

    Wscript.quit
    '###################################################################

    Ya me dirás si te funciona.

    Un saludo.

    Julio Rosua

    • Propuesto como respuesta Uriel Almendra miércoles, 6 de marzo de 2013 21:00
    • Marcado como respuesta Uriel Almendra miércoles, 28 de agosto de 2013 20:19
    viernes, 18 de mayo de 2012 12:28