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. |