martes, 21 de junio de 2011

Usuarios Acceso Remoto

Me ha salido una solicitud de buscar que usuarios del AD que están  autorizados a conectarse remotamente. Después de unas cuantas consultas he encontra un script que nos puede ser muy útil en esta búsqueda y con unas pequeñas modificaciones alguna que otra más.

Tenemos que crear un fichero con el siguiente código:


On Error Resume Next
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection

objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE


objCommand.CommandText = _
"SELECT Name FROM 'LDAP://dc=MiDominio,dc=com' WHERE objectCategory='user' " & _
        "AND msNPAllowDialin = TRUE"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
    Wscript.Echo objRecordSet.Fields("Name").Value
    objRecordSet.MoveNext
Loop


El fichero lo debermos guardar con la extension vbs, por ejemplo "accesos.vbs"
Para ejecutar la consulta  hay que ir al interprete de comando y escribir
"cscript. accesos.vbs > users.txt"

Antes de ejecutarlo deberíamos modificar "SELECT Name FROM 'LDAP://dc=MiDominio,dc=com'   deberíamos y sustituir "MiDominio" y el "com" por el equivalente de nuestro AD.


Esta búsqueda se centrará en los usuarios que tengan activa la variable "Permitir acceso" de la siguiente pantalla:



Para ver los resultadados hay que ir al fichero generado "users.txt"

Obtendremos un resultado del estilo: