conectando a unidades segun usuario de AD

02/06/2006 - 20:31 por Macleod | Informe spam
Q'tal a todos!!

Tengo un script de inicio que conecta a mis usuarios a ciertas unidades de
red dependiendo del grupo en Active Directory al que pertenecen, lo mismo
para su impresora predeterminada.

Ahora la pregunta es... ¿Cómo conecta a una unidad en particular solo a un
usuario determinado que está dado de alta en mi Active Directory?

De antemano MUCHAS GRACIAS!!

Mi script es el siguiente:

If fl_Es_Miembro("Area_de_usuario")=True Then

Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive "G:", "\\servidor\Departamento"
objNetwork.MapNetworkDrive "P:", "\\servidor\Publico"
objNetwork.MapNetworkDrive "S:", "\\servidor\Compartido"

Set WshNetwork = CreateObject("WScript.Network")
PrinterPath = "\\servidor\impresora"
PrinterDriver = "oki b6300(ps)"
WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver
WshNetwork.SetDefaultPrinter "\\servidor\impresora"

EnD If

Preguntas similare

Leer las respuestas

#1 Marc [MVP Windows]
02/06/2006 - 22:43 | Informe spam
Mira si con la herramienta del Resource Kit "ifMember" puedes hacer lo que quieres: http://windows.ittoolbox.com/docume...-2000-2386


Saludos,

Marc
MVP Windows Shell/User
MCSA Windows Server 2003
Oracle9i Certified Associate (OCA)

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho.

This posting is provided "AS IS" with no warranties, and confers no rights. You assume all risk for your use.

"Macleod" escribió en el mensaje news:
Q'tal a todos!!

Tengo un script de inicio que conecta a mis usuarios a ciertas unidades de
red dependiendo del grupo en Active Directory al que pertenecen, lo mismo
para su impresora predeterminada.

Ahora la pregunta es... ¿Cómo conecta a una unidad en particular solo a un
usuario determinado que está dado de alta en mi Active Directory?

De antemano MUCHAS GRACIAS!!

Mi script es el siguiente:

If fl_Es_Miembro("Area_de_usuario")=True Then

Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive "G:", "\\servidor\Departamento"
objNetwork.MapNetworkDrive "P:", "\\servidor\Publico"
objNetwork.MapNetworkDrive "S:", "\\servidor\Compartido"

Set WshNetwork = CreateObject("WScript.Network")
PrinterPath = "\\servidor\impresora"
PrinterDriver = "oki b6300(ps)"
WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver
WshNetwork.SetDefaultPrinter "\\servidor\impresora"

EnD If
Respuesta Responder a este mensaje
#2 Marc [MVP Windows]
02/06/2006 - 22:43 | Informe spam
http://www.microsoft.com/technet/co...w0102.mspx


Saludos,

Marc
MVP Windows Shell/User
MCSA Windows Server 2003
Oracle9i Certified Associate (OCA)

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho.

This posting is provided "AS IS" with no warranties, and confers no rights. You assume all risk for your use.

"Macleod" escribió en el mensaje news:
Q'tal a todos!!

Tengo un script de inicio que conecta a mis usuarios a ciertas unidades de
red dependiendo del grupo en Active Directory al que pertenecen, lo mismo
para su impresora predeterminada.

Ahora la pregunta es... ¿Cómo conecta a una unidad en particular solo a un
usuario determinado que está dado de alta en mi Active Directory?

De antemano MUCHAS GRACIAS!!

Mi script es el siguiente:

If fl_Es_Miembro("Area_de_usuario")=True Then

Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive "G:", "\\servidor\Departamento"
objNetwork.MapNetworkDrive "P:", "\\servidor\Publico"
objNetwork.MapNetworkDrive "S:", "\\servidor\Compartido"

Set WshNetwork = CreateObject("WScript.Network")
PrinterPath = "\\servidor\impresora"
PrinterDriver = "oki b6300(ps)"
WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver
WshNetwork.SetDefaultPrinter "\\servidor\impresora"

EnD If
Respuesta Responder a este mensaje
#3 José Antonio Quílez [MS MVP]
03/06/2006 - 19:30 | Informe spam
Te he añadido algunas lineas para que haga lo que quieres, y te he puesto algunos comentarios en el código sobre alguna
cosas.


On Error Resume Next
Dim objNetwork, sUser, startTime

Set objNetwork = CreateObject("WScript.Network")

' Obtenermos el usuario que ha hecho login
sUser = objNetwork.UserName

' El siguiente bucle es necesario sólo si tienes equipos con Windows 9x. Si sólo tienes de W2000 en adelante no hacen
falta
startTime = Now
Do While sUser = ""
If DateDiff("s", startTime, Now) > 600 Then Wscript.Quit
Wscript.Sleep 500
sUser = objNetwork.UserName
Loop
' Fin del bucle para Windows 9x

' Mapeado de una unidad U personal para cada usuario, si la tienes creada en el servidor
objNetwork.RemoveNetworkDrive "U:"
objNetwork.MapNetworkDrive "U:", "\\servidor\usuarios\" & sUser

' Mapeado específico para un par de usuarios
If ((sUser == "Pedro") or (sUser == "Manolo")) then
objNetwork.RemoveNetworkDrive "T:"
objNetwork.MapNetworkDrive "T:", "\\servidor\Particular"
End If

If fl_Es_Miembro("Area_de_usuario")=True Then

' Para hacer tus mapeos, antes de asignarlos elimina el existente con la misma letra, aunque sea el mismo
' Si no lo haces realmente no te hace la asignación, sino que mantiene la que tiene el equipo, por lo que
' si posteriormente haces un cambio no te lo reflejará
objNetwork.RemoveNetworkDrive "G:"
objNetwork.RemoveNetworkDrive "P:"
objNetwork.RemoveNetworkDrive "S:"

objNetwork.MapNetworkDrive "G:", "\\servidor\Departamento"
objNetwork.MapNetworkDrive "P:", "\\servidor\Publico"
objNetwork.MapNetworkDrive "S:", "\\servidor\Compartido"

' ¿Para qué creas otro objeto Network? El mismo que tenías te vale para la impresora.
Set WshNetwork = CreateObject("WScript.Network")
PrinterPath = "\\servidor\impresora"
PrinterDriver = "oki b6300(ps)"
WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver
WshNetwork.SetDefaultPrinter "\\servidor\impresora"

End If

Saludos

José Antonio Quílez
Sevilla - España
http://msmvps.com/blogs/quilez/

"Macleod" escribió en el mensaje
news:
Q'tal a todos!!

Tengo un script de inicio que conecta a mis usuarios a ciertas unidades de
red dependiendo del grupo en Active Directory al que pertenecen, lo mismo
para su impresora predeterminada.

Ahora la pregunta es... ¿Cómo conecta a una unidad en particular solo a un
usuario determinado que está dado de alta en mi Active Directory?

De antemano MUCHAS GRACIAS!!

Mi script es el siguiente:

If fl_Es_Miembro("Area_de_usuario")=True Then

Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive "G:", "\\servidor\Departamento"
objNetwork.MapNetworkDrive "P:", "\\servidor\Publico"
objNetwork.MapNetworkDrive "S:", "\\servidor\Compartido"

Set WshNetwork = CreateObject("WScript.Network")
PrinterPath = "\\servidor\impresora"
PrinterDriver = "oki b6300(ps)"
WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver
WshNetwork.SetDefaultPrinter "\\servidor\impresora"

EnD If
Respuesta Responder a este mensaje
#4 Macleod
05/06/2006 - 20:23 | Informe spam
MUCHAS GRACIAS LO HE TOMADO MUY EN CUENTA!!

"Marc [MVP Windows]" escribió:

http://www.microsoft.com/technet/co...w0102.mspx


Saludos,

Marc
MVP Windows Shell/User
MCSA Windows Server 2003
Oracle9i Certified Associate (OCA)

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho.

This posting is provided "AS IS" with no warranties, and confers no rights. You assume all risk for your use.

"Macleod" escribió en el mensaje news:
> Q'tal a todos!!
>
> Tengo un script de inicio que conecta a mis usuarios a ciertas unidades de
> red dependiendo del grupo en Active Directory al que pertenecen, lo mismo
> para su impresora predeterminada.
>
> Ahora la pregunta es... ¿Cómo conecta a una unidad en particular solo a un
> usuario determinado que está dado de alta en mi Active Directory?
>
> De antemano MUCHAS GRACIAS!!
>
> Mi script es el siguiente:
>
> If fl_Es_Miembro("Area_de_usuario")=True Then
>
> Set objNetwork = CreateObject("WScript.Network")
> objNetwork.MapNetworkDrive "G:", "\\servidor\Departamento"
> objNetwork.MapNetworkDrive "P:", "\\servidor\Publico"
> objNetwork.MapNetworkDrive "S:", "\\servidor\Compartido"
>
> Set WshNetwork = CreateObject("WScript.Network")
> PrinterPath = "\\servidor\impresora"
> PrinterDriver = "oki b6300(ps)"
> WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver
> WshNetwork.SetDefaultPrinter "\\servidor\impresora"
>
> EnD If

Respuesta Responder a este mensaje
#5 Macleod
05/06/2006 - 20:23 | Informe spam
MUCHAS GRACIAS QUE AMABLE!! COMO SIEMPRE DE GRAN AYUDA!!

"José Antonio Quílez [MS MVP]" escribió:

Te he añadido algunas lineas para que haga lo que quieres, y te he puesto algunos comentarios en el código sobre alguna
cosas.


On Error Resume Next
Dim objNetwork, sUser, startTime

Set objNetwork = CreateObject("WScript.Network")

' Obtenermos el usuario que ha hecho login
sUser = objNetwork.UserName

' El siguiente bucle es necesario sólo si tienes equipos con Windows 9x. Si sólo tienes de W2000 en adelante no hacen
falta
startTime = Now
Do While sUser = ""
If DateDiff("s", startTime, Now) > 600 Then Wscript.Quit
Wscript.Sleep 500
sUser = objNetwork.UserName
Loop
' Fin del bucle para Windows 9x

' Mapeado de una unidad U personal para cada usuario, si la tienes creada en el servidor
objNetwork.RemoveNetworkDrive "U:"
objNetwork.MapNetworkDrive "U:", "\\servidor\usuarios\" & sUser

' Mapeado específico para un par de usuarios
If ((sUser == "Pedro") or (sUser == "Manolo")) then
objNetwork.RemoveNetworkDrive "T:"
objNetwork.MapNetworkDrive "T:", "\\servidor\Particular"
End If

If fl_Es_Miembro("Area_de_usuario")=True Then

' Para hacer tus mapeos, antes de asignarlos elimina el existente con la misma letra, aunque sea el mismo
' Si no lo haces realmente no te hace la asignación, sino que mantiene la que tiene el equipo, por lo que
' si posteriormente haces un cambio no te lo reflejará
objNetwork.RemoveNetworkDrive "G:"
objNetwork.RemoveNetworkDrive "P:"
objNetwork.RemoveNetworkDrive "S:"

objNetwork.MapNetworkDrive "G:", "\\servidor\Departamento"
objNetwork.MapNetworkDrive "P:", "\\servidor\Publico"
objNetwork.MapNetworkDrive "S:", "\\servidor\Compartido"

' ¿Para qué creas otro objeto Network? El mismo que tenías te vale para la impresora.
Set WshNetwork = CreateObject("WScript.Network")
PrinterPath = "\\servidor\impresora"
PrinterDriver = "oki b6300(ps)"
WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver
WshNetwork.SetDefaultPrinter "\\servidor\impresora"

End If

Saludos

José Antonio Quílez
Sevilla - España
http://msmvps.com/blogs/quilez/

"Macleod" escribió en el mensaje
news:
> Q'tal a todos!!
>
> Tengo un script de inicio que conecta a mis usuarios a ciertas unidades de
> red dependiendo del grupo en Active Directory al que pertenecen, lo mismo
> para su impresora predeterminada.
>
> Ahora la pregunta es... ¿Cómo conecta a una unidad en particular solo a un
> usuario determinado que está dado de alta en mi Active Directory?
>
> De antemano MUCHAS GRACIAS!!
>
> Mi script es el siguiente:
>
> If fl_Es_Miembro("Area_de_usuario")=True Then
>
> Set objNetwork = CreateObject("WScript.Network")
> objNetwork.MapNetworkDrive "G:", "\\servidor\Departamento"
> objNetwork.MapNetworkDrive "P:", "\\servidor\Publico"
> objNetwork.MapNetworkDrive "S:", "\\servidor\Compartido"
>
> Set WshNetwork = CreateObject("WScript.Network")
> PrinterPath = "\\servidor\impresora"
> PrinterDriver = "oki b6300(ps)"
> WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver
> WshNetwork.SetDefaultPrinter "\\servidor\impresora"
>
> EnD If



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