Profil de Juan SalvadorJuansa's BlogPhotosBlogListesPlus Outils Aide

Blog


29 septembre

Para Rafael

Rafael, lamentablemente si no facilitas que pueda responderte a tu correo mal está que pueda ayudarte.
Voy a explicartelo desde una entrada en el blog, espero que te sirva. Si deseas contactar conmigo en un futuro hazlo por correo electrónicoy cona dirección tuya válida.
 
Si ya dispones de script para mapear unidades, sólo has de colocarlo para que se ejecute en la directiva de cada OU. Es decir, que creas un scrip por OU, el cual mapeará una unidad de red que le corresponda a esa OU, lo configuras en la GPO de la OU y se aplicará a los usuarios que estén dentro de ese contenedor.
 
Suerte.
15 décembre

Listar usuarios

Listar usuarios y grupos en un equipo local.
 
'Este script enumera los usuarios que pertenecen a cada
  'uno de los grupos locales de un equipo
  '© Fernando Reyes [MS MVP] - Abril de 2005
  'Modified: Juansa [MS MVP Windows Server]
  '
  'Date: 11/04/2005
  'Revised: 15/12/2005
  'Sintaxis: UserGroupsLocal.vbs ficheroSalida
  'Exigimos la declaración de variables
  'Option Explicit

  Dim obj_Nombre_Usuario
  Dim obj_Nombre_Grupo
  Dim obj_Equipo
  Dim obj_Grupo
  Dim obj_Shell
  Dim str_Equipo
  Dim str_Nombre
  Const ForReading = 1, ForWriting = 2, ForAppending = 8
  'Argumentos
   If WScript.Arguments.count > 0 Then
     FicheroSalida = WScript.Arguments.item(0)
   Else
     FicheroSalida = InputBox("Nombre del fichero a crear", "Gestion de usuarios")
   End If
  'Creación fichero salida
   Set objFSO = CreateObject("Scripting.FileSystemObject")
   Set objTextFile = objFSO.OpenTextFile (FicheroSalida, ForWriting, True)

  'Equipo local
   str_Equipo = "."
   Set obj_Shell = CreateObject("WScript.Shell")
   str_Nombre = obj_Shell.ExpandEnvironmentStrings("%COMPUTERNAME%")

  'Creamos un objeto que contiene el equipo local
   Set obj_Equipo = GetObject("WinNT://" & str_Equipo & ",Computer")
  'Mostramos el nombre del equipo
  WScript.Echo "Equipo: " & str_Nombre & VBCrLf
 
  'Filtramos los objetos del equipo para obtener los grupos
  obj_Equipo.Filter = Array("Group")

  'Recorremos cada grupo uno a uno
  For Each obj_Nombre_Grupo In obj_Equipo
      'Creamos un objeto que contiene al grupo actual
      Set obj_Grupo = GetObject("WinNT://" & str_Equipo & "/" & obj_Nombre_Grupo.Name & ",Group")
      objTextFile.WriteLine("Nombre del grupo       : " & obj_Nombre_Grupo.Name)
      objTextFile.WriteLine("  Descripción del grupo: " & obj_Nombre_Grupo.Name)
      'Filtramos los objetos del grupo para obtener los
      'usuarios miembros
      obj_Grupo.members.Filter = Array("User")

      'Recorremos los usuarios de uno en uno
      For Each obj_Nombre_Usuario In obj_Grupo.members
      set M = obj_Nombre_Usuario
        objTextFile.WriteLine("                  " & obj_Nombre_Usuario.Name)  
      Next

     
    Next
  WScript.Echo "Finalizado, vea el archivo creado!"
  'Terminamos el script limpiándonos el culito
  Set obj_Nombre_Usuario = Nothing
  Set obj_Nombre_Grupo = Nothing
  Set obj_Equipo = Nothing
  Set obj_Shell = Nothing
 
 
30 novembre

Mapear unidades de usuario

 

'**********************************************
Option Explicit
Dim oNet, sUser, startTime

On Error Resume Next

' Objeto Red
Set oNet = CreateObject("WScript.Network")

' Obtenemos el login de usuario. En Windows 9x, el usuario puede no estar todavía autentificado
' cuando el script comienza a ejecutarse; En ese caso reitera cada 1/2 segundo
sUser = oNet.UserName          'En minúsculas

startTime = Now
Do While sUser = ""
   If DateDiff("s", startTime, Now) > 600 Then Wscript.Quit
   Wscript.Sleep 500
   sUser = oNet.UserName
Loop

' Mapeado de la unidad F particular de cada usuario

oNet.RemoveNetworkDrive "U:"
oNet.MapNetworkDrive "U:", "\\servidor\usuarios\" & sUser

oNet.RemoveNetworkDrive "X:"
oNet.MapNetworkDrive "X:", "\\servidor\comunes\

'**********************************************
Toda la explicación en:

http://msmvps.com/quilez/archive/2005/02/04/34940.aspx

17 novembre

Obtener log con las sesiones contra Terminal Server

Script vbs de Tomás Hidalgo.
 
<---Pego--->
' Tomas Hidalgo (c) Abril 2005
' Script para almacenar los accesos al Terminal Server.
' Los datos se almacenan entre comillas y separados por comas en un fichero
de texto.
Const ForAppending = 8
Set oShell = CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
'****************************************************************************
'Comprobamos si existe el fichero de log
If objFSO.FileExists("C:\acceso.log") Then
    'No hacemos nada
Else
    'El fichero no existe y lo creamos con la cabecera de datos
    Set objArchivo = objFSO.CreateTextFile("c:\acceso.log", true)
    objArchivo.Write chr(34) & "Fecha" & chr(34) & ","
    objArchivo.Write chr(34) & "Hora" & chr(34) & ","
    objArchivo.Write chr(34) & "Equipo" & chr(34) & ","
    objArchivo.Write chr(34) & "Usuario" & chr(34) & ","
    objArchivo.Write chr(34) & "Tipo_Conexion" & chr(34) & ","
    objArchivo.Writeline
    objArchivo.close
End If
'****************************************************************************
'Para obtener la fecha del sistema
strComputer = "."
Set objWMIService = GetObject("winmgmts:" &
"{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_UTCTime")
For Each objItem in colItems
    Dia  = objItem.Day
    Mes  = objItem.Month
    Anno = objItem.Year
    Hora = objItem.Hour
    Minu = objItem.Minute
Next
strFecha = Anno & "/" & Mes & "/" & Dia
strReloj = Hora & ":" & Minu
'****************************************************************************
'Leemos los datos del cliente TS
strSesion  = oShell.ExpandEnvironmentStrings("%SESSIONNAME%")
strUsuario = oShell.ExpandEnvironmentStrings("%USERNAME%")
strMaquina = oShell.ExpandEnvironmentStrings("%CLIENTNAME%")
'Comprobamos el tipo de conexion
If strSesion = "" Or LCase(strSesion) = "console" Then
 strSesion = "Acceso por consola"
End If
If Left(strSesion,8) = "RDP-Tcp#" Then
 strSesion = "Acceso por TS"
End If
'Agregamos los datos al fichero
Set objArchivo = objFSO.OpenTextFile("c:\acceso.log", ForAppending, False)
objArchivo.Write chr(34) & strFecha     & chr(34) & ","
objArchivo.Write chr(34) & strReloj      & chr(34) & ","
objArchivo.Write chr(34) & strMaquina & chr(34) & ","
objArchivo.Write chr(34) & strUsuario  & chr(34) & ","
objArchivo.Write chr(34) & strSesion    & chr(34)
objArchivo.Writeline
objArchivo.close
<---Fin Pego-->