{"id":37,"date":"2008-06-29T23:56:54","date_gmt":"2008-06-29T21:56:54","guid":{"rendered":"http:\/\/www.brainrage.com\/?p=37"},"modified":"2008-06-30T00:07:17","modified_gmt":"2008-06-29T22:07:17","slug":"instalar-impresoras-de-forma-no-atendida-mediante-un-archivo-de-proceso-por-lotes","status":"publish","type":"post","link":"https:\/\/www.brainrage.com\/?p=37","title":{"rendered":"Instalar impresoras de forma desatendida mediante un archivo de proceso por lotes"},"content":{"rendered":"<p>Algo que encuentro extremadamente tedioso y aburrido es tener que instalar los controladores de impresora en los ordenadores. Y es a\u00fan peor cuando \u00e9stas impresoras son impresoras de red, ya que el proceso se dilata al tener que crear el puerto de impresi\u00f3n TCP\/IP.<\/p>\n<p>Pues despu\u00e9s de un poco de b\u00fasquedas por el Google y repasando <a title=\"Conseguir hacer funcionar cualquier impresora en Terminal Server\" href=\"https:\/\/www.brainrage.com\/?p=22\" target=\"_blank\">lo que hab\u00eda aprendido con la instalaci\u00f3n de drivers por l\u00ednea de comandos<\/a>, he terminado haciendo unos archivos de proceso por lotes que automatizan totalmente, y de forma desatendida la instalaci\u00f3n completa de cualquier impresora.<\/p>\n<p>Lo primero que necesitamos son los controladores de la impresora en formato INF. Normalmente los que te descargas de internet lo son, y s\u00f3lo tienes que desenpaquetarlos. Crea una carpeta y n\u00f3mbrala como te parezca mejor (yo la he llamado AutoPrinter). Dentro, copia las carpetas de los controladores de cada una de las impresoras que vayas a instalar, que por tu comodidad mejor que en el primer nivel est\u00e9 el archivo INF. Si vas a necesitar crear puertos TCP\/IP, crea una carpeta dentro que se llame \u00abpuertos\u00bb.<\/p>\n<p>Ahora crearemos en la carpeta un archivo con extensi\u00f3n CMD o BAT al que le pondremos el nombre que querramos (autoprinter.cmd, por ejemplo).<\/p>\n<p>Y aqu\u00ed empieza el proceso que repetiremos para cada impresora:<\/p>\n<p>Si la impresora se conecta a por TCP\/IP usando un servidor de impresi\u00f3n dedicado o es una impresora que se conecta directamente a la red, seguiremos estos pasos:<\/p>\n<p style=\"padding-left: 30px;\">Creamos un archivo vbs dentro de la carpeta puertos, usando el bloc de notas. El nombre puede ser algo as\u00ed como IP201_P9100.vbs, siendo 201 el \u00faltimo n\u00famero de la direcci\u00f3n IP del servidor de impresi\u00f3n y 9100. El contenido ser\u00e1 el siguiente:<\/p>\n<pre style=\"padding-left: 30px;\">Set objWMIService = GetObject(\"winmgmts:\")\r\nSet objNewPort = objWMIService.Get _\r\n(\"Win32_TCPIPPrinterPort\").SpawnInstance_\r\nobjNewPort.Name = \"<span style=\"color: #0000ff;\">IP_192.168.0.201_0<\/span>\"\r\nobjNewPort.Protocol = 1\r\nobjNewPort.HostAddress = \"<span style=\"color: #0000ff;\">192.168.0.201<\/span>\"\r\nobjNewPort.PortNumber = \"<span style=\"color: #0000ff;\">9100<\/span>\"\r\nobjNewPort.SNMPEnabled = False\r\nobjNewPort.Put_<\/pre>\n<p style=\"padding-left: 30px;\">Del contenido se tiene que modificar lo que est\u00e1 en azul.<\/p>\n<p style=\"padding-left: 30px;\">El primer dato es el nombre del puerto. Puedes usar cualquier texto, pero es mejor si usas un texto identificativo. Este dato luego lo necesitar\u00e1s en el paso de la instalaci\u00f3n de la impresora.<\/p>\n<p style=\"padding-left: 30px;\">El segundo dato es la direcci\u00f3n IP o el nombre del dispositivo.<\/p>\n<p style=\"padding-left: 30px;\">El tercer dato es el puerto en el que est\u00e1 conectada la impresora. Normalmente es el 9100 si s\u00f3lo hay una impresora, o si es un servidor de impresi\u00f3n de varias impresoras 9100 ser\u00e1 el primer conector, 9101 el segundo y as\u00ed cada puerto.<\/p>\n<p style=\"padding-left: 30px;\">Aunque es poco provable, puede que tengas que modificar alg\u00fan otro dato, pero todo es bastante autoexplicativo.<\/p>\n<p style=\"padding-left: 30px;\">Guardamos el archivo vbs y lo cerramos.<\/p>\n<p style=\"padding-left: 30px;\">Ahora volvemos al archivo de proceso por lotes y escribimos una l\u00ednea para llamar al archivo vbs que acabamos de crear:<\/p>\n<pre style=\"padding-left: 30px;\">cscript .\\puertos\\IP<span style=\"color: #0000ff;\">201<\/span>_P<span style=\"color: #0000ff;\">9100<\/span>.vbs<\/pre>\n<p style=\"padding-left: 30px;\">Cambia el nombre del archivo vbs a como lo hayas nombrado.<\/p>\n<p>Ahora seguimos instalando la impresora en si:<\/p>\n<p style=\"padding-left: 30px;\">Abrimos el archivo INF del controlador y localizamos la cadena que identifica al modelo exacto de la impresora.<\/p>\n<p style=\"padding-left: 30px;\">Este es un extracto de lo que te puedes encontrar en el INF de una Epson Stylus Photo R200:<\/p>\n<pre style=\"padding-left: 30px;\">[EPSON]\r\n\"<span style=\"color: #0000ff;\">EPSON Stylus Photo R200 Series<\/span>\" = EPNDRV,USBPRINT\\EPSONStylus_Photo_R2C5C0\r\n\"EPSON Stylus Photo R200 Series\" = EPNDRV,LPTENUM\\EPSONStylus_Photo_R2C5C0<\/pre>\n<p style=\"padding-left: 30px;\">Obviamente el nombre que estamos buscando es \u00abEpson Stylus Photo R200 Series\u00bb. Copiamos esa cadena y a\u00f1adimos al archivo de proceso por lotes la siguiente cadena (en una s\u00f3la l\u00ednea):<\/p>\n<pre style=\"padding-left: 30px;\">rundll32 printui.dll,PrintUIEntry \/if \/b \"<span style=\"color: #0000ff;\">EPSON Stylus Photo R200<\/span>\"\r\n\/f \"<span style=\"color: #0000ff;\">.\\EpsonR200\\E_DF18HE.INF<\/span>\" \/r \"<span style=\"color: #0000ff;\">IP_192.168.0.201_1<\/span>\"\r\n\/m \"<span style=\"color: #0000ff;\">EPSON Stylus Photo R200 Series<\/span>\"<\/pre>\n<p style=\"padding-left: 30px;\">El primer dato es el nombre que tendr\u00e1 la impresora cuando la visualicemos en la carpeta de impresoras. Puedes poner lo que quieras, no tiene demasiada importancia.<\/p>\n<p style=\"padding-left: 30px;\">El segundo dato es la ruta en la que se encuentra el archivo INF de los controladores de la impresora. Ten en cuenta que es importante que a\u00f1adas el primer punto y la contrabarra.<\/p>\n<p style=\"padding-left: 30px;\">El tercer dato es el nombre del puerto. En este caso es un puerto TCP\/IP, pero si fuera una impresora local conectada por ejemplo al primer puerto paralelo, pondr\u00edamos \u00abLPT1:\u00bb, y si es una impresora compartida de otro equipo, pondr\u00edamos la ruta correspondiente, por ejemplo \u00ab\\\\servidor\\EpsonR200\u00bb<\/p>\n<p style=\"padding-left: 30px;\">El cuarto dato es el nombre exacto de la impresora que hemos copiado antes de dentro del archivo INF. Tanto esta cadena como la que referencia el puerto, es importante que est\u00e9 escrita exactamente igual en las dos partes en las que aparece.<\/p>\n<p>Si hay m\u00e1s impresoras, volvemos a repetir todo el proceso. Si ya no hay m\u00e1s, guardamos el archivo de proceso por lotes y ya podemos ejecutarlo en todos los ordenadores que queramos.<\/p>\n<p>Notas:<\/p>\n<ul>\n<li>No pasa nada si el puerto que estamos creando ya existe, aunque no estoy seguro de si los datos que quedan son los nuevos o los antiguos.<\/li>\n<li>Si ya existe una impresora con el mismo nombre se instala igualmente, sustituyendo la anterior y actualizando los datos a los de la nueva instalaci\u00f3n.<\/li>\n<li>El proceso es autom\u00e1tico y no requiere ninguna acci\u00f3n por parte del usuario, excepto en el caso de que alg\u00fan controlador de impresora no est\u00e9 firmado. Por cada controlador que no est\u00e9 firmado, al usuario se le presentar\u00e1 la ventana de \u00abcontinuar igualmente\u00bb o \u00abdetener instalaci\u00f3n\u00bb y no continuar\u00e1 hasta que se seleccione una u otra opci\u00f3n.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Algo que encuentro extremadamente tedioso y aburrido es tener que instalar los controladores de impresora en los ordenadores. Y es a\u00fan peor cuando \u00e9stas impresoras son impresoras de red, ya que el proceso se dilata al tener que crear el puerto de impresi\u00f3n TCP\/IP. Pues despu\u00e9s de un poco de b\u00fasquedas por el Google y&hellip; <a class=\"more-link\" href=\"https:\/\/www.brainrage.com\/?p=37\">Seguir leyendo <span class=\"screen-reader-text\">Instalar impresoras de forma desatendida mediante un archivo de proceso por lotes<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[32,30,31,33],"class_list":["post-37","post","type-post","status-publish","format-standard","hentry","category-software","tag-desatendida","tag-impresoras","tag-instalacion","tag-proceso-por-lotes","entry"],"_links":{"self":[{"href":"https:\/\/www.brainrage.com\/index.php?rest_route=\/wp\/v2\/posts\/37","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.brainrage.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.brainrage.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.brainrage.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.brainrage.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=37"}],"version-history":[{"count":0,"href":"https:\/\/www.brainrage.com\/index.php?rest_route=\/wp\/v2\/posts\/37\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.brainrage.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=37"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.brainrage.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=37"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.brainrage.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=37"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}