<#Created By Abhishek Bansal
Read Note
Script Usage :: Fetching user details such as Name,Samaccountname,Accountstatus from Input file containing User Email address.
Pre requisites :: Copy all the code into a text file, save it with an extension ".PS1". On same location create a text file named "Input.txt" which will be containing user's email address. Once saved, run script as Administrator.
Execution & Outputs :: Once executed Output will be saved in a file named "Userdetailsfromemail.csv" and any Errors into "Errorslogs.csv" onto same location.#>
$emaildata = Get-Content ./Input.txt
$line = 0
$linecount = $emaildata.Count
$pct
foreach($emailid in $emaildata)
{
$error.Clear()
$line++
$pct = $line/$linecount * 100
$emailid = $emailid.trim()
Write-Progress -Activity "Fetching User account information.." -PercentComplete $pct -Status "$line of $linecount"
if($(Get-ADUser -Filter{EmailAddress -eq $emailid}))
{
Get-ADUser -Properties * -Filter{EmailAddress -eq $emailid} | Select Name,Samaccountname,EmailAddress,@{n="AccountStatus";e={$_.Enabled}} | Export-Csv ./Userdetailsfromemail.csv -NoTypeInformation -Append
}
else
{
$emailid | Select-Object -Property @{n="EmailID";e={$emailid}},@{n="Error";e={"No User exist with this Emailid."}} | Export-Csv ./Errorlogs.csv -NoTypeInformation -Append
}
}
Sample Output
No comments:
Post a Comment