Scripting Host

14/09/2005 - 20:40 por Roberto Ramos | Informe spam
Hola a todos:

Alguien me puede dar alguna idea de cómo puedo conectarme a otras PCs con a
través de la creación del objeto

Set colDisks = objWMIService.ExecQuery("Select * from Win32_LogicalDisk")

Lo que sucede es que necesita proveersele las credenciales de un usuario
administrativo local.

Visto esto, alguno tiene una idea de como proveer de tales credenciales al
crear el objeto?

Agradeceré mucho la ayuda que me puedan dar.

Roberto

Preguntas similare

Leer las respuestas

#1 Fernando Reyes [MS MVP]
15/09/2005 - 12:29 | Informe spam
Depende de lo que quieras hacer.

Si quieres poder lanzar ese script de forma interactiva, basta con que abras
una ventana de comandos con RUNAS el usuario administrador del dominio:

runas /user:<nombre NetBios de tu dominio>\administrador cmd

Te pedirá que teclees la password y una vez hecho tendrás una ventana cmd
con privilegios de administrador del dominio, desde ella lanzas el script:

cscript nombre-de-tu-script.vbs <lista de parámetros que tenga ese script>

Si estás en un grupo de trabajo, necesitarás que al menos exista un usuario
en todos los equipos con el mismo nombre y password (la password no puede
estar en blanco); con este usuario es con el que deberás abrir la ventana
cmd usando RUNAS

WSH no proporciona mecanismos para dar credenciales diferentes, así que si
quieres automatizar el proceso, puedes crear una tarea programada en el
equipio desde el que lo lances y que el usuario que lanza la tarea tenga
privilegios de administrador en los equipos que deba revisar con el script;
el equipo desde el que lo lances deberá estar logado con el usuario que
lanza la tarea.

Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000 / 2003
MCSA Windows Server 2003
http://freyes.svetlian.com
http://www.bloglines.com/blog/urpiano

(Róbame a la novia para escribirme)


Fue Roberto Ramos () quien , con sus
deditos, escribió:

Hola a todos:

Alguien me puede dar alguna idea de cómo puedo conectarme a otras PCs
con a través de la creación del objeto

Set colDisks = objWMIService.ExecQuery("Select * from
Win32_LogicalDisk")

Lo que sucede es que necesita proveersele las credenciales de un
usuario administrativo local.

Visto esto, alguno tiene una idea de como proveer de tales
credenciales al crear el objeto?

Agradeceré mucho la ayuda que me puedan dar.

Roberto
Respuesta Responder a este mensaje
#2 Roberto Ramos
15/09/2005 - 17:25 | Informe spam
Gracias por responder Fernando.

De hecho tu exposición funciona correctamente en el modo interactivo, lo que
servirá a todos aquellos que se inicien en el tema del Scripting Host.

La razón de mi anterior exposición es que usando por ejemplo el proveedor
para MS ADO con la siguiente cadena:

Provider­sDSOObject;User ID=<administrador>;PASSWORD=<password>;Mode=Read

tengo acceso al AD y obtengo los resultados deseados, listas de PCs, pero
eso solo sucede desde mi estación de trabajo (que no tiene privilegios
especiales, ni que decir de mi cuenta) y en el DC (ovbiamente, logueado con
el administrador de dominio), pero ni desde el DC tengo acceso a ciertos
elementos registrados en el AD (PCs) con la línea de código que adjunté
anteriormente:

Set colDisks = objWMIService.ExecQuery("Select * from Win32_LogicalDisk")

Bueno, si como comentas, WSH no proporciona el "cambio de credenciales" no
voy a poder acceder a cada PC con la cuenta adminitrativa de cada equipo...
uhmmm, tendré que pensar en otra solución.

Saludos,

Roberto


"Fernando Reyes [MS MVP]" escribió:

Depende de lo que quieras hacer.

Si quieres poder lanzar ese script de forma interactiva, basta con que abras
una ventana de comandos con RUNAS el usuario administrador del dominio:

runas /user:<nombre NetBios de tu dominio>\administrador cmd

Te pedirá que teclees la password y una vez hecho tendrás una ventana cmd
con privilegios de administrador del dominio, desde ella lanzas el script:

cscript nombre-de-tu-script.vbs <lista de parámetros que tenga ese script>

Si estás en un grupo de trabajo, necesitarás que al menos exista un usuario
en todos los equipos con el mismo nombre y password (la password no puede
estar en blanco); con este usuario es con el que deberás abrir la ventana
cmd usando RUNAS

WSH no proporciona mecanismos para dar credenciales diferentes, así que si
quieres automatizar el proceso, puedes crear una tarea programada en el
equipio desde el que lo lances y que el usuario que lanza la tarea tenga
privilegios de administrador en los equipos que deba revisar con el script;
el equipo desde el que lo lances deberá estar logado con el usuario que
lanza la tarea.

Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000 / 2003
MCSA Windows Server 2003
http://freyes.svetlian.com
http://www.bloglines.com/blog/urpiano

(Róbame a la novia para escribirme)


Fue Roberto Ramos () quien , con sus
deditos, escribió:

> Hola a todos:
>
> Alguien me puede dar alguna idea de cómo puedo conectarme a otras PCs
> con a través de la creación del objeto
>
> Set colDisks = objWMIService.ExecQuery("Select * from
> Win32_LogicalDisk")
>
> Lo que sucede es que necesita proveersele las credenciales de un
> usuario administrativo local.
>
> Visto esto, alguno tiene una idea de como proveer de tales
> credenciales al crear el objeto?
>
> Agradeceré mucho la ayuda que me puedan dar.
>
> Roberto


Respuesta Responder a este mensaje
#3 Fernando Reyes [MS MVP]
15/09/2005 - 18:42 | Informe spam
Una cosa es que conectes a AD suministrando unas credenciales y otra que
quieras obtener información de un equipo, caso en el que no puedes acceder
con otras credenciales. Ten en cuenta que cuando ejecutas esa línea no lo
haces contra una cuenta de equipo en AD si no contra el propio equipo; AD
sólo te ha servido para obtener el nombre del equipo, no para gestionar su
hardware/software.

Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000 / 2003
MCSA Windows Server 2003
http://freyes.svetlian.com
http://www.bloglines.com/blog/urpiano

(Deja de hacer el ganso si quieres escribirme)


Fue Roberto Ramos () quien , con sus
deditos, escribió:

Gracias por responder Fernando.

De hecho tu exposición funciona correctamente en el modo interactivo,
lo que servirá a todos aquellos que se inicien en el tema del
Scripting Host.

La razón de mi anterior exposición es que usando por ejemplo el
proveedor para MS ADO con la siguiente cadena:

Provider­sDSOObject;User
ID=<administrador>;PASSWORD=<password>;Mode=Read

tengo acceso al AD y obtengo los resultados deseados, listas de PCs,
pero eso solo sucede desde mi estación de trabajo (que no tiene
privilegios especiales, ni que decir de mi cuenta) y en el DC
(ovbiamente, logueado con el administrador de dominio), pero ni desde
el DC tengo acceso a ciertos elementos registrados en el AD (PCs) con
la línea de código que adjunté anteriormente:

Set colDisks = objWMIService.ExecQuery("Select * from
Win32_LogicalDisk")

Bueno, si como comentas, WSH no proporciona el "cambio de
credenciales" no voy a poder acceder a cada PC con la cuenta
adminitrativa de cada equipo... uhmmm, tendré que pensar en otra
solución.

Saludos,

Roberto


"Fernando Reyes [MS MVP]" escribió:

Depende de lo que quieras hacer.

Si quieres poder lanzar ese script de forma interactiva, basta con
que abras una ventana de comandos con RUNAS el usuario administrador
del dominio:

runas /user:<nombre NetBios de tu dominio>\administrador cmd

Te pedirá que teclees la password y una vez hecho tendrás una
ventana cmd con privilegios de administrador del dominio, desde ella
lanzas el script:

cscript nombre-de-tu-script.vbs <lista de parámetros que tenga ese
script>

Si estás en un grupo de trabajo, necesitarás que al menos exista un
usuario en todos los equipos con el mismo nombre y password (la
password no puede estar en blanco); con este usuario es con el que
deberás abrir la ventana cmd usando RUNAS

WSH no proporciona mecanismos para dar credenciales diferentes, así
que si quieres automatizar el proceso, puedes crear una tarea
programada en el equipio desde el que lo lances y que el usuario que
lanza la tarea tenga privilegios de administrador en los equipos que
deba revisar con el script; el equipo desde el que lo lances deberá
estar logado con el usuario que lanza la tarea.

Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000 / 2003
MCSA Windows Server 2003
http://freyes.svetlian.com
http://www.bloglines.com/blog/urpiano

(Róbame a la novia para escribirme)


Fue Roberto Ramos () quien ,
con sus deditos, escribió:

Hola a todos:

Alguien me puede dar alguna idea de cómo puedo conectarme a otras
PCs
con a través de la creación del objeto

Set colDisks = objWMIService.ExecQuery("Select * from
Win32_LogicalDisk")

Lo que sucede es que necesita proveersele las credenciales de un
usuario administrativo local.

Visto esto, alguno tiene una idea de como proveer de tales
credenciales al crear el objeto?

Agradeceré mucho la ayuda que me puedan dar.

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