Script para Conectar una Impresora Compartida en Una Sesion TS
-
sábado, 26 de mayo de 2012 23:33
Que tal Amigos, tengo un Script que mapea las impresoras compartidas de un Cliente a una sesion de TS 2008, el cual funciona muy bien si lo corro de forma manual, el caso es para automatizar lo he puesto fijo en las directivas de grupo local del TS/configuracion de Usuario/Configuracion Windows/Script (Inicio de Sesion), cuando inicio sesion la variable que me captura el nombre del equipo cliente se carga vacia y me da error, enviandome un mensaje que no encuentra el nombre del servidor (el de la PC), le he puesto una pausa para que no lo haga muy rapido pero me he dado cuenta que no se trata de eso, les copio el codigo que estoy usando:
Option Explicit Dim objNetwork, strUNCPrinter, strComputer, objShell, strUNCPrinter2 set objShell = CreateObject("Wscript.Shell") 'WScript.Sleep(10000) strComputer = objShell.ExpandEnvironmentStrings("%CLIENTNAME%") WScript.Echo " strComputer : " & strComputer strUNCPrinter = "\\" & strComputer & "\[FIN]EPSON TM-U950(SLIP)" strUNCPrinter2 = "\\" & strComputer & "\[FIN2]EPSON TM-U950 Receipt" WScript.Echo "strUNCPrinter : " & strUNCPrinter WScript.Echo "strUNCPrinter2 : " & strUNCPrinter2 Set objNetwork = CreateObject("WScript.Network") objNetwork.AddWindowsPrinterConnection strUNCPrinter objNetwork.AddWindowsPrinterConnection strUNCPrinter2 WScript.Echo "Check the Printers folder for : " & strUNCPrinter WScript.Echo "Check the Printers folder for : " & strUNCPrinter2 WScript.QuitLa variable que carga vacia es strComputer, pero si corro el script dandole doble clic este si trabaja bien.
Juan Carlos
Juan Carlos García.
Todas las respuestas
-
lunes, 28 de mayo de 2012 12:21
Hola Juan Carlos,
Esta claro que la ejecución del script no carga el valor de la variable %clietname%. El código es totalmente válido.
Ya que comentas que el script corre perfectamente si lo ejecutas tras el inicio de sesión, puedes probar a cargar el script desde la sección "Run after Logon", la ruta en GPO sería -> User Configuration/Administrati
ve Templates/System/Logon/Run these programs at user logon Vincula la ruta del script a esta sección y prueba de iniciar sesión con un usuario a ver si funciona.
Saludos
Julio Rosua
- Marcado como respuesta Juan Carlos García jueves, 31 de mayo de 2012 22:46
-
miércoles, 30 de mayo de 2012 10:11Moderador
Mira si esto te ayuda:
How to get ClientName within logon script on Server 2008 R2 XenApp 6
http://rcmtech.wordpress.com/2011/06/09/how-to-get-clientname-within-logon-script-on-server-2008-r2-xenapp-6/Eso sí, el escript tiene una cosa que depende del idioma. Si el servidor tiene como idioma Español, en lugar de Inlgés, debes sustituir esta línea:
iStatePos = InStr(sOutput,”active”)
Por esta otra:
iStatePos = InStr(sOutput,”activo”)
Aunque probablemente valga con poner esta otra para que así valga para Español e Inglés:
iStatePos = InStr(sOutput,”activ”)
Un saludo
Fernando Reyes [MS MVP]
MCSA 2000/2003
MCSE 2000/2003
MCITP EnterpriseAdministrator
Web: http://freyes.svetlian.com
Blog: http://urpiano.wordpress.com
RSS: http://urpiano.wordpress.com/feed/
freyes.champú@champú.mvps.org
(Aclárate la cabeza si quieres escribirme)
- Editado Fernando ReyesMicrosoft Community Contributor, Moderator miércoles, 30 de mayo de 2012 10:11
-
jueves, 31 de mayo de 2012 22:48
Estimado Julio, Agradezco sobremanera tu respuesta e interes, me ha resultado tu consejo, la forma como lo indicas es como si funciona.
Saludos.
Juan Carlos Garcia.
Juan Carlos García.

