Powershell Exportación de usuarios Directorio Activo
En este post vamos a exportar mediante Powershell los usuarios de Directorio Activo a un archivo CSV. Este proceso puede seros útil cuando estéis moviendo usuarios de un dominio a otro para lo cual necesitareis un script de importación que os pondré en el próximo post.
Aquí os va el script:
#Path base donde dejar todos los ficheros y realizar la búsqueda de los que se necesiten.
#Aqui debe de residir el script.
#Ejemplo C:\Script\*.*
$path
=
Split-Path
-parent
“c:\script\*.*”
#Fecha para el TimeStamp del Log.
$LogDate
=
get-date
-f
yyyyMMddhhmm
#Ubicacion de los ficheros CSV y Log
#Deben de estar en la misma ubicacion que el script.
$csvfile
=
$path
+
“\ALLADUsers_$logDate.csv”
#Importamos el módulo de Acive Directory
Import-Module
ActiveDirectory
#Path DN donde residen los usuarios a exportar
#Ejemplo “OU=Usuarios,DC=dominio,DC=local”
$SearchBase
=
“DC=dominio,DC=local”
#Get Admin accountb credential
$GetAdminact
=
Get-Credential
#Controlador de dominio
#Ejemplo DC1
$ADServer
=
‘DC1’
#Buscamos todos los usuarios basados en los parámetros anteriores
$AllADUsers
=
Get-ADUser
-server
$ADServer `
-Credential
$GetAdminact
-searchbase
$SearchBase `
-Filter
*
-Properties
*
#Filtramos atributos mostrar
$AllADUsers
|
Select-Object @{Label =
“Nombre”;Expression = {$_.GivenName}},
@{Label =
“Apellidos”;Expression = {$_.Surname}},
@{Label =
“DisplayName”;Expression = {$_.DisplayName}},
@{Label =
“SAM”;Expression = {$_.sAMAccountName}},
@{Label =
“Direccion”;Expression = {$_.StreetAddress}},
@{Label =
“Ciudad”;Expression = {$_.City}},
@{Label =
“Estado”;Expression = {$_.st}},
@{Label =
“Codigo Postal”;Expression = {$_.PostalCode}},
@{Label =
“Pais/Region”;Expression = {if (($_.Country -eq
‘ES’) ) {‘España’} Else {”}}},
@{Label =
“Titulo”;Expression = {$_.Title}},
@{Label =
“Compañia”;Expression = {$_.Company}},
@{Label =
“Descripcion”;Expression = {$_.Description}},
@{Label =
“Departamento”;Expression = {$_.Department}},
@{Label =
“Oficina”;Expression = {$_.OfficeName}},
@{Label =
“Telefono”;Expression = {$_.telephoneNumber}},
@{Label =
“Email”;Expression = {$_.Mail}},
@{Label =
“Administrador”;Expression = {%{(Get-AdUser
$_.Manager -server $ADServer
-Properties
DisplayName).DisplayName}}},
@{Label =
“Estado de cuenta”;Expression = {if (($_.Enabled -eq
‘TRUE’) ) {‘Enabled’} Else {‘Disabled’}}},
@{Label =
“Ultimo inicio de sesion”;Expression = {$_.lastlogondate}} |
#Exportamos a CSV
Export-Csv
-Path
$csvfile
-NoTypeInformation