viernes, 4 de septiembre de 2015

Type Accelerators en powershell (o como leer datos de directorio activo sin usar cmdlets del módulo de AD)

Powershell cuenta con los type accelerators, ¿Qué es un type accelerator? en realidad no es más que un alias que nos permite llamar de forma muy facil a clases del framework de .net
 
LA lista de estos es bastante larga, para listar todos los Type Acceleratos que tenemos a nuestra disposición:

[psobject].Assembly.GetType("System.Management.Automation.TypeAccelerators")::get

Uno de los más interesantes es  [adsisearcher] que nos permite hacer búsquedas en el directorio activo sin usar cmdlets de otros módulos.

Un ejemplo:
             
function Get-DomainUser {
    PARAM($SamAccountname)
    $Search = [adsisearcher]"(&(objectCategory=person)(objectClass=User)(samaccountname=$SamAccountname))"
    foreach ($user in $($Search.FindAll())){
        New-Object -TypeName PSObject -Property @{
            "DisplayName" = $user.properties.displayname
            "Description" = $user.properties.description}
    }
}
 
 

No hay comentarios:

Publicar un comentario