Mediante Windows Script Host puede crear secuencias de comandos de inicio de sesión automatizadas. En el siguiente ejemplo se supone que una organización cuenta con dos servidores de archivos (llamados "servidor1" y "servidor2") y dos servidores de impresión (llamados "impresora1" e "impresora2"). Para equilibrar el uso de los servidores, todos aquellos usuarios cuyo nombre de inicio de sesión comience con las letras de la A a la K utilizarán el primer servidor de archivos y el primer servidor de impresión, mientras que todos aquellos usuarios cuyo nombre de inicio de sesión comience con las letras de la L a la Z utilizarán los segundos.
Nota En Windows 9x, incluya un retardo para que tenga efecto el inicio de sesión del usuario.
// JScript. var oRed, sUsuario, cInicial, horaInicio; oRed = new ActiveXObject("WScript.Network"); // Obtiene el nombre de usuario. En Windows 98 y Windows Millennium Edition, el usuario puede no haber iniciado sesión // al comenzar la ejecución de la secuencia de comandos; lo comprueba cada // 1/2 segundo hasta que se inicia la sesión sUsuario = oRed.UserName; horaInicio = new Date(); while (sUsuario == "") { var hoyEs = new Date(); if (hoyEs horaInicio > 30000) WScript.Quit(); WScript.Sleep(500); sUsuario = oRed.UserName; } // Agrega un recurso compartido para la unidad "h" y la impresora, // según la primera letra del nombre de usuario cInicial = sUsuario.charAt(0).toUpperCase(); if (cInicial < "L") { oRed.MapNetworkDrive("h:", "\\\\servidor1\\usuarios\\" + sUsuario); oRed.AddWindowsPrinterConnection("\\\\impresora1\\hp", "HP LaserJet 4"); } else { oRed.MapNetworkDrive("h:", "\\\\servidor2\\usuarios\\" + sUsuario); oRed.AddWindowsPrinterConnection("\\\\impresora2\\hp", "HP LaserJet 4"); } ' VBScript. Option Explicit Dim oRed, sUsuario, cInicial, horaInicio ' Objeto de ayuda Set oRed = CreateObject("WScript.Network") ' Obtiene el nombre de usuario. En Windows 9x es posible que el usuario no haya iniciado sesión ' al iniciarse la ejecución de la secuencia de comandos; lo comprueba cada ' 1/2 segundo hasta que inicia la sesión. sUsuario = oRed.UserName horaInicio = Now Do While sUsuario = "" If DateDiff("s", horaInicio, Now) > 30 Then Wscript.Quit Wscript.Sleep 500 sUsuario = oRed.UserName Loop ' Agrega un recurso compartido para la unidad "h" y la impresora, ' según la primera letra del nombre de usuario cInicial = UCase(Left(sUsuario, 1)) If (cInicial < "L") Then oRed.MapNetworkDrive "h:", "\\servidor1\usuarios\" & sUsuario oRed.AddWindowsPrinterConnection "\\impresora1\hp", "HP LaserJet 4" Else oRed.MapNetworkDrive "h:", "\\servidor2\usuarios\" & sUsuario oRed.AddWindowsPrinterConnection "\\impresora2\hp", "HP LaserJet 4" End If
Ayuda de Javascript y Vbscript para Javascripts.astalaweb.com. |