Tuesday, August 4, 2015

Export AD User Information to CSV

In some cases, I have been asked to list users and their contact information from Active Directory.
In large organisations you don't want to export all users information, just from specific Organisation Units.

Here is simple script to do it.

<#.Synopsis
This scripts exports users information from your active directory OU to CSV file 

Selected information: CN,GivenName,Surname,Description,EmailAddress,TelephoneNumber,Info,distinguishedName.
.Description
Writen by Miikka Kallberg

.Parameter FilePath
Path to save the ouput  CSV File

.Parameter csvfile
Filename of the output CSV File name

.Parameter OU
Organization Unit where you want to get the user information

.Example
.\userinfo.ps1 -FilePath c:\temp\ -csvfile marvin.csv -OU Users
This will import users from Users OU to c:\temp\marvin.csv 

#>
Param([String]
[Parameter(Mandatory=$true)]
$FilePath='',
[Parameter(Mandatory=$true)]
$csvfile='',
[Parameter(Mandatory=$true)]
$OU='')

# Import active directory module for running AD cmdlets
Import-Module activedirectory

#Get domain name
get-addomain | select distinguishedname -OutVariable Domainname

#Filter unneeded information from variable
foreach ($DN in $Domainname)
{

$domain = $Domainname.distinguishedname
}

# Create searchpath combining OU and domain name in correct format
$Oubase="OU=$OU,$Domain"

Get-ADUser -filter * -properties CN,GivenName,Surname,Description,EmailAddress,TelephoneNumber,Info,distinguishedName -Searchbase "$Oubase" | select CN,GivenName,Surname,Description,EmailAddress,TelephoneNumber,Info,distinguishedName | ConvertTo-Csv | Out-File (Join-Path $filepath $csvfile)

No comments:

Post a Comment