Author Posts

August 18, 2015 at 4:22 am

Have this script to get me Existing AD user but how can I get results to a file

$UserCSV = Import-Csv C:\temp\test.txt
Foreach ($User in $UserCSV)
{
Try
{
# Use "EA Stop" to ensure the exception is caught.
$U = Get-ADUser $User.sAMAccountName -ErrorAction Stop
Write-output "$($User.SamAccountName) exist in domain"
}
Catch [Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException]
{
# The user was not found!
Write-Warning "$($User.SamAccountName) was not found in this domain!"
}
Catch
{
# Some other terrible error occured!
Write-Error "OHSHI"
}
}

August 18, 2015 at 4:27 am

add this for example at the end of 'try' section

$u.sAMAccountName | out-file -FilePath tmp.txt -Append

August 18, 2015 at 6:53 am

You could try an approach like this to just return a boolean (True\False) value if the user exists and forego the try\catch:

$UserCSV = Import-Csv C:\temp\test.txt
$results = $UserCSV | 
                Select SamAccountName,
                @{Name="AccountExists";Expression={[bool]([adsisearcher]("samaccountname={0}" -f $_.SamAccountName)).FindOne()}}

$results | Where{$_.AccountExists -eq $true} | Select -ExpandProperty SamAccountName | Out-File C:\Test\usersThatExist.txt

August 18, 2015 at 6:53 am

You could try an approach like this to just return a boolean (True\False) value if the user exists and forego the try\catch:

$UserCSV = Import-Csv C:\temp\test.txt
$results = $UserCSV | 
                Select SamAccountName,
                @{Name="AccountExists";Expression={[bool]([adsisearcher]("samaccountname={0}" -f $_.SamAccountName)).FindOne()}}

$results | Where{$_.AccountExists -eq $true} | Select -ExpandProperty SamAccountName | Out-File C:\Test\usersThatExist.txt

August 19, 2015 at 6:52 am

Thank you for your help