Crear script de Log on

21/02/2006 - 20:46 por Marcos Galaviz | Informe spam
Hola miren quiero que cada usuario tenga un SCRIPT o algo parecido de forma
que siempre que haga un Log in en el server tenga las mismas unidades,
¿alguien podria ayudarme con esto?

Preguntas similare

Leer las respuestas

#6 Josemari
23/02/2006 - 12:30 | Informe spam
Ok, más o menos entendido. Te explico un poco el asunto y me dices como lo
ves. Podría ser crear un script condicional (en caso de poder) que haga lo
siguiente:

net use * /delete /y
net use p: \\SERVIDOR\...\%username% ···Conecto la carpeta del usuario
net use n: \\SERVIDOR\Directiva ···Solo acceden los del grupo DIRECTIVA
net use s: \\SERVIDOR\[Sector] ···Acceden los del grupo Sector a la carpeta
con el nombre de su grupo. Ejemplo: SectorA - \\SERVIDOR\SectorA

Me gustaría que fuese algo así haciendo el script de logon para cada
usuario. La ruta del script sería \\SERVIDOR\Logon\%username%.bat

Creo que no se me olvida nada, a ver si tengo suerte y se puede hacer algo
así. Hasta luego y muchas gracias.
#7 Josemari
23/02/2006 - 18:27 | Informe spam
Hola de nuevo, ya me he creado un logon.bat y un logon.vbs. Ahora los tengo
que meter en el NETLOGON del 2003. El contenido de mis archivos es este:

LOGON.BAT:
@ECHO OFF
net use * /delete /y
net use p: \\SERVIDOR\usuarios\%username%
net time \\SERVIDOR /set /yes
wscript %0\..\logon.vbs

LOGON.VBS: Lleva el contenido que me has pasado, modificado, claro está.

Lo que no tengo claro es que hace la sentencia "%0\..\logon.vbs". ¿Dónde
estaría el fichero vbs en esa sentencia? ¿Un directorio más bajo que el bat?
¿Qué significa %0?

Creo que con esto ya tendría mi archivo de logon terminado, luego lo probaré
y os comentaré el resultado. Además, espero que todos estos posts valgan para
más usuarios.

Gracias de nuevo.
#8 Ramón Sola [MVP Windows - Shell/User]
24/02/2006 - 05:27 | Informe spam
Hash: SHA1

El parámetro %0 viene a ser el equivalente de argv[0] en un programa
escrito en C o C++: Contiene la cadena de caracteres con que se llamó al
programa.

Sea un fichero Prueba.bat definido así:

@echo %0

El resultado dependerá de la forma en que se ejecute. Por ejemplo:

C:\Documents and Settings>prueba
prueba

C:\Documents and Settings>prueba.bat 1 2 3 4
prueba.bat

C:\Documents and Settings>"\Windows\..\Documents and Settings\prueba"
"\Windows\..\Documents and Settings\prueba"

C:\Documents and Settings>"\Documents And Settings\prueba"
"\Documents And Settings\prueba"

Sea un fichero Prueba2.bat definido así:

@echo off
call :aaa
goto :EOF
:aaa
echo Soy %0

(La sentencia 'goto :EOF' termina la ejecución del programa como si hubiera
una etiqueta :EOF al final del fichero.)

Ahora cualquier invocación de Prueba2 da siempre como resultado la línea
"Soy :aaa". Cuando se ejecuta una sentencia CALL xxx, donde xxx es una
etiqueta dentro del mismo fichero o un programa por lotes (.BAT o .CMD), el
parámetro %0 se sustituye por xxx durante la ejecución de las sentencias
que siguen a la etiqueta o las sentencias del programa por lotes. El
parámetro %0 no cambia si se bifurca a una etiqueta con GOTO; en ese caso
se produce un simple salto y no el par "llamada y retorno".

Si se invoca a una etiqueta con CALL, el intérprete de comandos continúa
manteniendo una referencia al fichero: La expresión %~dpnx0 se expande a la
ruta absoluta del archivo, es decir, unidad (d de Drive), ubicación (p de
Path), nombre (n de Name) y extensión (x de eXtension). Se puede probar
este efecto cambiando "echo Soy %0" por "echo Soy %0 en %~dpnx0" en el
Prueba2.bat de arriba.

Después de esta exposición sobre las virtudes del parámetro %0, puedes
convencerte del efecto de "%0\..\logon.vbs" si haces algunas pruebas. ;-)
En definitiva, se ejecutará el fichero logon.vbs ubicado en el directorio
del fichero BAT.

Las siguientes normalizaciones son correctas suponiendo que el directorio
actual sea C:\bar:
aaa\..\*.txt ==> C:\bar\*.txt
\windows\..\programas\a*.exe ==> C:\programas\a*.exe
a\..\..\b\c\..\..\d\.\.\e\..\f ==> C:\d\f
d:\k\l\m\..\..\o\p\..\fichero.txt ==> d:\k\l\o\fichero.txt
logon.bat\..\logon.vbs ==> c:\bar\logon.vbs
fu\logon.bat\..\logon.vbs ==> C:\bar\fu\logon.vbs

Si cada componente distinta de '..' o '.' sube un nivel en la jerarquía,
cada '..' baja al nivel anterior. Digamos que una componente '..' se
"cancela" con lo primero que tenga delante que no sea otro '..' o un '.'.
Las componentes '.' (directorio actual) se "cancelan" solas.

Puedes encontrar más información en el tema 'Referencia de la línea de
comandos' de la ayuda de Windows y en las ayudas específicas de CALL, GOTO,
etc.

Ramón Sola / / MVP Windows - Shell/User
Para obtener la dirección correcta no hacen falta los sellos.
Por favor, usar el correo sólo para cuestiones ajenas a los
grupos de noticias, gracias.

Qué hay, Josemari (), tú escribiste:
Mostrar la cita
#9 Josemari
24/02/2006 - 10:32 | Informe spam
La verdad es que no se me ocurrió pensarlo un poco, porque he hecho scripts
también para unix y los parametros se cogen así :D. Siento haberlo preguntado
teniendolo en el fondo de mi cabeza. Gracias de todas formas, a ver si me
funciona luego el script. Un saludo.

"Ramón Sola [MVP Windows - Shell/User]" wrote:

Mostrar la cita
Ads by Google
Search Busqueda sugerida