You are on page 1of 1

#Function to Check if an User exists in AD

function Get-Email()
{
Param( [Parameter(Mandatory=$true)] [string]$corp\administrator )

#Search the User in AD


$forest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()
#To Search on other forests use these three lines:
#$ForestName ="corp.com"
#$adCtx = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext("fo
rest", $ForestName)
#$forest = ([System.DirectoryServices.ActiveDirectory.Forest]::GetForest($adCtx))

#Search in all domains


foreach ($Domain in $forest.Domains)
{
$context = new-object System.DirectoryServices.ActiveDirectory.DirectoryContext("Do
main", $Domain.Name)
$domain = [System.DirectoryServices.ActiveDirectory.Domain]::GetDomain($context)

$root = $domain.GetDirectoryEntry()
$search = [System.DirectoryServices.DirectorySearcher]$root
$search.Filter = "(&(objectCategory=User)(samAccountName=$UserLoginID))"
$result = $search.FindOne()

#If user found


if ($result -ne $null)
{
$result.Properties["mail"]
}
}
}

##Read the CSV file - Map the Columns to Named Header


$CSVData = Import-CSV -path "c:\Users.csv" -Header("UserAccount")
#Iterate through each Row in the CSV
foreach ($row in $CSVData)
{
$mail = Get-Email $row.UserAccount
$row.UserAccount +","+ $mail >>"c:\data\Mails.csv"
}

You might also like