miércoles, 3 de noviembre de 2010

Información del usuario

Muchas veces necesitamos hacer un script que obtenga información del usuario que ha iniciado la sesión. En PowerShell, lo podemos hacer de varias maneras y quizás una de las más fáciles es la siguiente:

$usuario = $env:username
$consulta = "(&(objectCategory=User)(samAccountName=$usuario))"
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.Filter = $consulta
$informacion = $objSearcher.FindOne()


El nombre del usuario que ha iniciado la sesión se almacena en la variable de entorno username. La leemos de la unidad de las variables de entorno (env:) y buscamos el objeto correspondiente en el Directorio Activo. Una vez realizada la consulta, tenemos toda la información en el objeto $informacion. Podemos hacer cosas como:

Ver todas las propiedades:

$informacion.Properties

Acceder a una de ellas (por ejemplo, el nombre completo):

$informacion.Properties.distinguishedname

Suele ser habitual, consultar los grupos a los que pertenece el usuario:

$informacion.Properties.memberof

No hay comentarios:

Publicar un comentario