OpenMandriva: Mageia (Mageia 9) 20/Agosto/2023 - Anuncio, Descargas.
Blogdrake recomienda descargar las imágenes de instalación (iso) vía torrent para evitar corrupción de datos, aprovechar mejor su ancho de banda y mejorar la difusión de las distribuciones.
Mapeo de unidades falla dependiendo del usuario en Dominio SAMBA
Hola, tengo montado un dominio con samba. todo funciona perfectamente, el unico problema que tengo es con el script del netlogon, ya que quiero que me mapee unas carpetas a unas unidades en windows dependiendo del grupo al que pertenezcan los usuarios. El script que tengo no saca a que grupo pertenecen los usuarios, es lo unico me me hace falta. Tal y como esta el script me intenta mapear todas las carpetas y unidades, pero como esto va mapeado en el mismo sitio dependiendo del grupo, me sale el error de que ya esta en uso.
hos dejo el codigo del script.
Function fl_Es_Miembro(str_Grupo)
Dim str_ADs_Path 'Cadena utilizada para generar la ruta ADSI del usuario
Dim obj_User 'Objeto que se cargará la información del usuario
Dim obj_Grupo 'Objeto para cada cargar la información de un grupo
Dim obj_Net 'Objeto Network del que partimos para obtener el objeto usuario
Dim WSHShell
Dim grpPrimaryID 'ID del grupo primario
'Creamos el objeto Shell
Set WSHShell = CreateObject("WScript.Shell")
'Creamos el objeto Network
Set obj_Net = CreateObject("Wscript.Network")
'Hacemos que la web inicial sea la del marca
WSHShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Start Page", "http://www.marca.com"
'Montamos la ruta ADSI del usuario y creamos el objeto de usuario
Set obj_User = GetObject("WinNT://nombredeldominio/" & Obj_Net.Username & ",user")
'En este bucle vamos recorriendo uno a uno los grupos a los que pertenece el usuario
'Si el grupo coincide con el recibido como parámetro salimos de la función
'devolviendo True
grpPrimaryID = obj_user.Get("PrimaryGroupID")
If StrComp(str_Grupo, grpPrimaryID, vbTextCompare) = 1 Then
fl_Es_Miembro =True
Exit Function
End If
'Si hemos terminado el bucle, es porque no se ha encontrado el grupo recibido entre
'aquellos a los que pertenece el usuario, por tanto la devolución de esta función
'será False
fl_Es_Miembro = False
End Function
'Se utiliza la funcion para el grupo Sistemas
If fl_Es_Miembro("Sistemas")=True Then
'creamos el objeto NetWork que utilizaremos para montar la unidad
Set obj_Net = CreateObject("Wscript.Network")
'Mapeamos la unidad
obj_Net.RemoveNetworkDrive "z:", True, True
WScript.sleep 2000
obj_Net.MapNetworkDrive "z:", "\\PDCSERVER\Comun"
obj_Net.RemoveNetworkDrive "y:", True, True
WScript.sleep 2000
obj_Net.MapNetworkDrive "y:", "\\PDCSERVER\Perfiles"
obj_Net.RemoveNetworkDrive "x:", True, True
WScript.sleep 2000
obj_Net.MapNetworkDrive "x:", "\\PDCSERVER\Departamentales\Sistemas"
EnD If
'Se utiliza la funcion para el grupo Desarrollo
If fl_Es_Miembro("Desarrollo")=True Then
'creamos el objeto NetWork que utilizaremos para montar la unidad
Set obj_Net = CreateObject("Wscript.Network")
'Mapeamos la unidad
obj_Net.RemoveNetworkDrive "z:", True, True
WScript.sleep 2000
obj_Net.MapNetworkDrive "z:", "\\PDCSERVER\Comun"
obj_Net.RemoveNetworkDrive "y:", True, True
WScript.sleep 2000
obj_Net.MapNetworkDrive "y:", "\\PDCSERVER\Perfiles"
obj_Net.RemoveNetworkDrive "x:", True, True
WScript.sleep 2000
obj_Net.MapNetworkDrive "x:", "\\PDCSERVER\Departamentales\Desarrollo"
End if
Gracias.
- Entra a tu cuenta o crea una para poder comentar.
Usuario
# 91752 Porque no creas un bat, para
Porque no creas un bat, para que se ejecute cada vez que inicie sesion el usuario y mapee las unidades que necesite?
Alejandro
Linux User #470096
Alejandro
Linux User #470096
Usuario
# 91756 Si eso seria lo mas sencillo
Si eso seria lo mas sencillo pero tengo que hacerlo en un solo script y lo unico que no consigo es que me compare la variable del grupo del usuario con la del mapeo de unidades.
En este caso solo tendria que hacer dos script diferentes pero tendria que metelos en las carpetas de los usuarios, tal y como lo tengo con ponerlo en la carpeta de netlogon del samba una vez me vale, y es asi como me lo han pedido que lo haga.
gracias
Un Saludo
Egoitz R.
Un Saludo
Egoitz R.
# 91758 El problema podría ser
El problema podría ser la función ya que si el script te monta repetidamente las unidades entonces quiere decir que te esta devolviendo True en ambas comprobaciones.
Lo que es posible solo si el usuario pertenece a ambos grupos o la función no esta haciendo bien su trabajo, si tienes un depurador revisa la ejecución de tu código.
Miembro de NoticiasDrake, MdkTrans y del grupo de Empaquetadores
¿lo usas?, ¿la lees?, ¿las conoces?,Herramienta útil
Usuario
# 91772 El problema es que no
El problema es que no funciona bien, ya que lo he probado con usuarios diferentes que estan den diferentes grupos y me hace lo mismo.
Un Saludo
Egoitz R.
Un Saludo
Egoitz R.
# 91776 Usa el buscador
Usa el buscador
Miembro de NoticiasDrake, MdkTrans y del grupo de Empaquetadores
¿lo usas?, ¿la lees?, ¿las conoces?,Herramienta útil