martes, 19 de abril de 2016

Buscar permisos en AD

Buscar en Active Directory los permisos que se han asignado a diferentes objetos, es una tarea complicada. En AD existen varios tipos de objeto: OU, usuarios, grupos, cuentas de equipo, etc, y a veces necesitamos saber dónde fue delegada una cuenta.
Para facilitar la búsqueda, podemos utilizar PowerShell!
Como vamos a trabajar con Active Directory, lo primero es importar el modulo de AD (Figura 1) y cambiar la ubicación de trabajo desde el C:\ a AD (Figura 1)
Figura 1
Luego le asignamos a una variable, el valor de todos los objetos de AD (Figura 2).
Figura 2

Por último, para cada valor de la variable donde tenemos todos los objetos de AD, hacemos una búsqueda de los permisos en su Access Control List (ACL) y mostramos los resultados (Figura 3).

Figura 3

cmdlets:
Import-Module ActiveDirectory

 
Set-Location AD:

 
$allO=(Get-ADObject -Filter * -Properties DistinguishedName).distinguishedname

 
foreach ($one in $allO) {(get-acl $one).access |? {$_.IdentityReference -like "*deleo*" }| ft @{Expression={$one};label="Nombre"},IdentityReference,AccessControlType,@{Expression={(Get-ADObject $one).objectClass};label="Type"}}