Cambiar ruta en login scripts

22/09/2008 - 14:04 por Alex Medina | Informe spam
Hola a todos,
Me gustaría saber la manera de cambiar la ruta de red de un recurso
compartido a otro, por ejemplo \\servidor1\datos a \\servidor2\datos, en la
empresa tengo un monton de login scripts en vbs, me gustaria saber la manera
de realizarlo de la manera más facil posible, en vez de ir uno a uno

Muchas gracias.

Preguntas similare

Leer las respuestas

#1 Fernando Reyes [MS MVP]
22/09/2008 - 16:50 | Informe spam
Podrías hacer un script que hiciese lo siguiente:

- Usando FileSystemObject, crear un objeto Folder con la carpeta en la que
están los scripts
- Listar los scripts de la carpeta, haciendo con cada uno:
- Abrirlo como TextStream y guardar en una variable el texto completo:
str_Ruta = obj_Script.Path
Set obj_TS = obj_FileSystemObject.OpenTextStream(str_Ruta)
- En la variable, reemplazar la cadena \\servidor1\ por \\servidor2\:
str_Text = Replace(obj_TS.ReadAll,"\\servidor1\","\\servidor2\")
obj_TS.Close
- Eliminar el fichero original:
obj_FileSystemObject.DeleteFile str_Ruta
- Volver a crear el fichero original como TextStream y volcar en el el
texto obtenido (que será el mismo script con las rutas cambiadas):
Set obj_TS = obj_FileSystemObject(str_Ruta)
obj_TS.Write = str_Texto
- Cerrar el fichero creado:
obj_TS.Close

Obviamente, deberás desarrollarlo probando en otra carpeta de ejemplo para
que sólo lo ejecutes cuando sepas que no hay errores, previa salvada de los
scripts originales en otra carpeta por si las flies.


Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000 / 2003
MCSA Windows Server 2003
http://freyes.svetlian.com
http://urpiano.wordpress.com
RSS: http://urpiano.wordpress.com/feed
freyes.champú@champú.mvps.org
(Aclárate la cabeza si quieres escribirme)


"Alex Medina" escribió en el mensaje
de noticias news:
Hola a todos,
Me gustaría saber la manera de cambiar la ruta de red de un recurso
compartido a otro, por ejemplo \\servidor1\datos a \\servidor2\datos, en
la
empresa tengo un monton de login scripts en vbs, me gustaria saber la
manera
de realizarlo de la manera más facil posible, en vez de ir uno a uno

Muchas gracias.
Respuesta Responder a este mensaje
#2 Alex Medina
23/09/2008 - 16:53 | Informe spam
Hola Fernando,
Muchas gracias por tu respuesta, pero no lo veo muy claro.
Supongamos que quiero modificar los archivos con extensión vbs contienen en
el contenido de este, esta ruta \\servidor1\datos, y la quiero cambiar por
\\servidor2\datos, estos vbs estan en la siguiente ruta
C:\WINDOWS\SYSVOL\sysvol\dominio.net\Policies
El script que tendría que realizar, que me has pasado, estaría bien así:
str_Ruta = obj_Script.Path
Set obj_TS = obj_FileSystemObject.OpenTextStream(str_Ruta)
str_Text = Replace(obj_TS.ReadAll,"\\servidor1\datos","\\servidor2\datos")
obj_TS.Close
obj_FileSystemObject.DeleteFile str_Ruta
Set obj_TS = obj_FileSystemObject(str_Ruta)
obj_TS.Write = str_Texto
obj_TS.Close

Este me da error en la primera línea se requiere Objeto 'Obj_Script'.
Estas pruebas las estoy realizando en mi equipo, he copiado todo el
contenido de policies y lo estoy probando.
El vbs donde tendría que ir?

Hay otra manera de realizarlo?



"Fernando Reyes [MS MVP]" wrote:

Podrías hacer un script que hiciese lo siguiente:

- Usando FileSystemObject, crear un objeto Folder con la carpeta en la que
están los scripts
- Listar los scripts de la carpeta, haciendo con cada uno:
- Abrirlo como TextStream y guardar en una variable el texto completo:
str_Ruta = obj_Script.Path
Set obj_TS = obj_FileSystemObject.OpenTextStream(str_Ruta)
- En la variable, reemplazar la cadena \\servidor1\ por \\servidor2\:
str_Text = Replace(obj_TS.ReadAll,"\\servidor1\","\\servidor2\")
obj_TS.Close
- Eliminar el fichero original:
obj_FileSystemObject.DeleteFile str_Ruta
- Volver a crear el fichero original como TextStream y volcar en el el
texto obtenido (que será el mismo script con las rutas cambiadas):
Set obj_TS = obj_FileSystemObject(str_Ruta)
obj_TS.Write = str_Texto
- Cerrar el fichero creado:
obj_TS.Close

Obviamente, deberás desarrollarlo probando en otra carpeta de ejemplo para
que sólo lo ejecutes cuando sepas que no hay errores, previa salvada de los
scripts originales en otra carpeta por si las flies.


Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000 / 2003
MCSA Windows Server 2003
http://freyes.svetlian.com
http://urpiano.wordpress.com
RSS: http://urpiano.wordpress.com/feed
freyes.champú@champú.mvps.org
(Aclárate la cabeza si quieres escribirme)


"Alex Medina" escribió en el mensaje
de noticias news:
> Hola a todos,
> Me gustaría saber la manera de cambiar la ruta de red de un recurso
> compartido a otro, por ejemplo \\servidor1\datos a \\servidor2\datos, en
> la
> empresa tengo un monton de login scripts en vbs, me gustaria saber la
> manera
> de realizarlo de la manera más facil posible, en vez de ir uno a uno
>
> Muchas gracias.

Respuesta Responder a este mensaje
#3 Alex Medina
24/09/2008 - 11:20 | Informe spam
Muchas gracias Fernando, eres una máquina.
Lo pruebo y te digo algo.

Muchas gracias de nuevo

"Fernando Reyes [MS MVP]" wrote:

Hombre, eso que te puse no era un script, era el guión de cómo debería
ser. He podido hechar un ratito y te lo he creado, a ver si te vale:

Dim obj_FS
Dim obj_Carpeta
Dim obj_Script
Dim obj_TS
Dim str_Contenido
Dim str_Ruta

'Creamos un objeto FileSystemObject
Set obj_FS = CreateObject("Scripting.FileSystemObject")

'Obtenemos un objeto carpeta con la carpeta donde están los scripts
Set obj_Carpeta > obj_FS.GetFolder("C:\WINDOWS\SYSVOL\sysvol\dominio.net\Policies")

'Recorremos los ficheros contenidos en la carpeta
For Each obj_Script In obj_Carpeta.Files

'Solo actuaremos con los ficheros VBS
If UCase(obj_FS.GetExtensionName(obj_Script.Path)) = "VBS" Then

'Nos guardamos la ruta y nombre del script
str_Ruta = obj_Script.Path

'Lo abrimos como texto
Set obj_TS = obj_FS.OpenTextFile(str_Ruta)

'Guardamos su contenido sustituyendo los servidores
str_Contenido > Replace(obj_TS.ReadAll,"\\servidor1\","\\servidor2\")

'Cerramos el script
obj_TS.Close

'Renombramos el script a .BAK
obj_Script.Move str_Ruta & ".bak"

'Creamos el nuevo script
Set obj_TS = obj_FS.CreateTextFile(str_Ruta)

'Escribimos el contenido
obj_TS.Write str_Contenido

'Cerramos el script
obj_TS.Close

'Vaciamos la variable
Set obj_TS = Nothing

End If

Next 'obj_Script

'Vaciamos objetos
Set obj_Carpeta = Nothing
Set obj_FS = Nothing




Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000 / 2003
MCSA Windows Server 2003
http://freyes.svetlian.com
http://urpiano.wordpress.com
RSS: http://urpiano.wordpress.com/feed
freyes.champú@champú.mvps.org
(Aclárate la cabeza si quieres escribirme)


"Alex Medina" escribió en el
mensaje de noticias
news:
> Hola Fernando,
> Muchas gracias por tu respuesta, pero no lo veo muy claro.
> Supongamos que quiero modificar los archivos con extensión vbs
contienen en
> el contenido de este, esta ruta \\servidor1\datos, y la quiero cambiar
por
> \\servidor2\datos, estos vbs estan en la siguiente ruta
> C:\WINDOWS\SYSVOL\sysvol\dominio.net\Policies
> El script que tendría que realizar, que me has pasado, estaría bien
así:
> str_Ruta = obj_Script.Path
> Set obj_TS = obj_FileSystemObject.OpenTextStream(str_Ruta)
> str_Text > Replace(obj_TS.ReadAll,"\\servidor1\datos","\\servidor2\datos")
> obj_TS.Close
> obj_FileSystemObject.DeleteFile str_Ruta
> Set obj_TS = obj_FileSystemObject(str_Ruta)
> obj_TS.Write = str_Texto
> obj_TS.Close
>
> Este me da error en la primera línea se requiere Objeto 'Obj_Script'.
> Estas pruebas las estoy realizando en mi equipo, he copiado todo el
> contenido de policies y lo estoy probando.
> El vbs donde tendría que ir?
>
> Hay otra manera de realizarlo?
>
>
>
> "Fernando Reyes [MS MVP]" wrote:
>
>> Podrías hacer un script que hiciese lo siguiente:
>>
>> - Usando FileSystemObject, crear un objeto Folder con la carpeta en la
que
>> están los scripts
>> - Listar los scripts de la carpeta, haciendo con cada uno:
>> - Abrirlo como TextStream y guardar en una variable el texto
completo:
>> str_Ruta = obj_Script.Path
>> Set obj_TS = obj_FileSystemObject.OpenTextStream(str_Ruta)
>> - En la variable, reemplazar la cadena \\servidor1\ por
\\servidor2\:
>> str_Text > Replace(obj_TS.ReadAll,"\\servidor1\","\\servidor2\")
>> obj_TS.Close
>> - Eliminar el fichero original:
>> obj_FileSystemObject.DeleteFile str_Ruta
>> - Volver a crear el fichero original como TextStream y volcar en
el el
>> texto obtenido (que será el mismo script con las rutas cambiadas):
>> Set obj_TS = obj_FileSystemObject(str_Ruta)
>> obj_TS.Write = str_Texto
>> - Cerrar el fichero creado:
>> obj_TS.Close
>>
>> Obviamente, deberás desarrollarlo probando en otra carpeta de ejemplo
para
>> que sólo lo ejecutes cuando sepas que no hay errores, previa salvada
de los
>> scripts originales en otra carpeta por si las flies.
>>
>>
>> Un saludo
>> Fernando Reyes [MS MVP]
>> MCSE Windows 2000 / 2003
>> MCSA Windows Server 2003
>> http://freyes.svetlian.com
>> http://urpiano.wordpress.com
>> RSS: http://urpiano.wordpress.com/feed
>> freyes.champú@champú.mvps.org
>> (Aclárate la cabeza si quieres escribirme)
>>
>>
>> "Alex Medina" escribió en el
mensaje
>> de noticias news:
>> > Hola a todos,
>> > Me gustaría saber la manera de cambiar la ruta de red de un recurso
>> > compartido a otro, por ejemplo \\servidor1\datos a \\servidor2\datos,
en
>> > la
>> > empresa tengo un monton de login scripts en vbs, me gustaria saber la
>> > manera
>> > de realizarlo de la manera más facil posible, en vez de ir uno a uno
>> >
>> > Muchas gracias.
>>

Respuesta Responder a este mensaje
#4 Alex Medina
25/09/2008 - 08:14 | Informe spam
Hola Fernando, siento mucho mis dudas
No tengo muy claro que tendria que ir en:
Set obj_Carpeta str_Contenido
"Fernando Reyes [MS MVP]" wrote:

Hombre, eso que te puse no era un script, era el guión de cómo debería
ser. He podido hechar un ratito y te lo he creado, a ver si te vale:

Dim obj_FS
Dim obj_Carpeta
Dim obj_Script
Dim obj_TS
Dim str_Contenido
Dim str_Ruta

'Creamos un objeto FileSystemObject
Set obj_FS = CreateObject("Scripting.FileSystemObject")

'Obtenemos un objeto carpeta con la carpeta donde están los scripts
Set obj_Carpeta > obj_FS.GetFolder("C:\WINDOWS\SYSVOL\sysvol\dominio.net\Policies")

'Recorremos los ficheros contenidos en la carpeta
For Each obj_Script In obj_Carpeta.Files

'Solo actuaremos con los ficheros VBS
If UCase(obj_FS.GetExtensionName(obj_Script.Path)) = "VBS" Then

'Nos guardamos la ruta y nombre del script
str_Ruta = obj_Script.Path

'Lo abrimos como texto
Set obj_TS = obj_FS.OpenTextFile(str_Ruta)

'Guardamos su contenido sustituyendo los servidores
str_Contenido > Replace(obj_TS.ReadAll,"\\servidor1\","\\servidor2\")

'Cerramos el script
obj_TS.Close

'Renombramos el script a .BAK
obj_Script.Move str_Ruta & ".bak"

'Creamos el nuevo script
Set obj_TS = obj_FS.CreateTextFile(str_Ruta)

'Escribimos el contenido
obj_TS.Write str_Contenido

'Cerramos el script
obj_TS.Close

'Vaciamos la variable
Set obj_TS = Nothing

End If

Next 'obj_Script

'Vaciamos objetos
Set obj_Carpeta = Nothing
Set obj_FS = Nothing




Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000 / 2003
MCSA Windows Server 2003
http://freyes.svetlian.com
http://urpiano.wordpress.com
RSS: http://urpiano.wordpress.com/feed
freyes.champú@champú.mvps.org
(Aclárate la cabeza si quieres escribirme)


"Alex Medina" escribió en el
mensaje de noticias
news:
> Hola Fernando,
> Muchas gracias por tu respuesta, pero no lo veo muy claro.
> Supongamos que quiero modificar los archivos con extensión vbs
contienen en
> el contenido de este, esta ruta \\servidor1\datos, y la quiero cambiar
por
> \\servidor2\datos, estos vbs estan en la siguiente ruta
> C:\WINDOWS\SYSVOL\sysvol\dominio.net\Policies
> El script que tendría que realizar, que me has pasado, estaría bien
así:
> str_Ruta = obj_Script.Path
> Set obj_TS = obj_FileSystemObject.OpenTextStream(str_Ruta)
> str_Text > Replace(obj_TS.ReadAll,"\\servidor1\datos","\\servidor2\datos")
> obj_TS.Close
> obj_FileSystemObject.DeleteFile str_Ruta
> Set obj_TS = obj_FileSystemObject(str_Ruta)
> obj_TS.Write = str_Texto
> obj_TS.Close
>
> Este me da error en la primera línea se requiere Objeto 'Obj_Script'.
> Estas pruebas las estoy realizando en mi equipo, he copiado todo el
> contenido de policies y lo estoy probando.
> El vbs donde tendría que ir?
>
> Hay otra manera de realizarlo?
>
>
>
> "Fernando Reyes [MS MVP]" wrote:
>
>> Podrías hacer un script que hiciese lo siguiente:
>>
>> - Usando FileSystemObject, crear un objeto Folder con la carpeta en la
que
>> están los scripts
>> - Listar los scripts de la carpeta, haciendo con cada uno:
>> - Abrirlo como TextStream y guardar en una variable el texto
completo:
>> str_Ruta = obj_Script.Path
>> Set obj_TS = obj_FileSystemObject.OpenTextStream(str_Ruta)
>> - En la variable, reemplazar la cadena \\servidor1\ por
\\servidor2\:
>> str_Text > Replace(obj_TS.ReadAll,"\\servidor1\","\\servidor2\")
>> obj_TS.Close
>> - Eliminar el fichero original:
>> obj_FileSystemObject.DeleteFile str_Ruta
>> - Volver a crear el fichero original como TextStream y volcar en
el el
>> texto obtenido (que será el mismo script con las rutas cambiadas):
>> Set obj_TS = obj_FileSystemObject(str_Ruta)
>> obj_TS.Write = str_Texto
>> - Cerrar el fichero creado:
>> obj_TS.Close
>>
>> Obviamente, deberás desarrollarlo probando en otra carpeta de ejemplo
para
>> que sólo lo ejecutes cuando sepas que no hay errores, previa salvada
de los
>> scripts originales en otra carpeta por si las flies.
>>
>>
>> Un saludo
>> Fernando Reyes [MS MVP]
>> MCSE Windows 2000 / 2003
>> MCSA Windows Server 2003
>> http://freyes.svetlian.com
>> http://urpiano.wordpress.com
>> RSS: http://urpiano.wordpress.com/feed
>> freyes.champú@champú.mvps.org
>> (Aclárate la cabeza si quieres escribirme)
>>
>>
>> "Alex Medina" escribió en el
mensaje
>> de noticias news:
>> > Hola a todos,
>> > Me gustaría saber la manera de cambiar la ruta de red de un recurso
>> > compartido a otro, por ejemplo \\servidor1\datos a \\servidor2\datos,
en
>> > la
>> > empresa tengo un monton de login scripts en vbs, me gustaria saber la
>> > manera
>> > de realizarlo de la manera más facil posible, en vez de ir uno a uno
>> >
>> > Muchas gracias.
>>

Respuesta Responder a este mensaje
#5 Hernan Batista
03/10/2008 - 23:09 | Informe spam
Buenas tardes Fernando, una duda... tengo un login script sencillo (.bat)
que simplemente conecta una carpeta compartida para que me serviria
hacer un script en VBS? no hace lo mismo?

HB

"Fernando Reyes [MS MVP]"
wrote in message news:
Podrías hacer un script que hiciese lo siguiente:

- Usando FileSystemObject, crear un objeto Folder con la carpeta en la que
están los scripts
- Listar los scripts de la carpeta, haciendo con cada uno:
- Abrirlo como TextStream y guardar en una variable el texto completo:
str_Ruta = obj_Script.Path
Set obj_TS = obj_FileSystemObject.OpenTextStream(str_Ruta)
- En la variable, reemplazar la cadena \\servidor1\ por \\servidor2\:
str_Text =
Replace(obj_TS.ReadAll,"\\servidor1\","\\servidor2\")
obj_TS.Close
- Eliminar el fichero original:
obj_FileSystemObject.DeleteFile str_Ruta
- Volver a crear el fichero original como TextStream y volcar en el el
texto obtenido (que será el mismo script con las rutas cambiadas):
Set obj_TS = obj_FileSystemObject(str_Ruta)
obj_TS.Write = str_Texto
- Cerrar el fichero creado:
obj_TS.Close

Obviamente, deberás desarrollarlo probando en otra carpeta de ejemplo para
que sólo lo ejecutes cuando sepas que no hay errores, previa salvada de
los scripts originales en otra carpeta por si las flies.


Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000 / 2003
MCSA Windows Server 2003
http://freyes.svetlian.com
http://urpiano.wordpress.com
RSS: http://urpiano.wordpress.com/feed
freyes.champú@champú.mvps.org
(Aclárate la cabeza si quieres escribirme)


"Alex Medina" escribió en el
mensaje de noticias
news:
Hola a todos,
Me gustaría saber la manera de cambiar la ruta de red de un recurso
compartido a otro, por ejemplo \\servidor1\datos a \\servidor2\datos, en
la
empresa tengo un monton de login scripts en vbs, me gustaria saber la
manera
de realizarlo de la manera más facil posible, en vez de ir uno a uno

Muchas gracias.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida