Получение SamAccountName из файла csv
У меня имеется мой рабочий скрипт
Import-CSV -Path "$home\desktop\Script\fi13.04.20.csv" | ForEach-Object {
Get-ADUser -Filter "employeeid -like '*$($_.employeeid)*'" -Properties employeeid | select employeeid,name,SamAccountName
} | Export-CSV "$home\desktop\Script\fi-san-out.csv" -Encoding UTF8 -NoTypeInformation
Я даю ему файл с employeeid и получаю обратно файл с определенными параметрами.
А это улучшенная версия-
$csv = Import-CSV -Path "$home\desktop\Script\fi13.04.20.csv"
$csvOutput = "$home\desktop\Script\fi-san-out.csv"
$object = @()
foreach($employee in $csv){
$ADUserObject = Get-ADUser -Filter "employeeID -eq '$($employee.employeeID)'" -Properties samAccountName, displayName ,employeeID -ErrorAction SilentlyContinue
if($ADUserObject){
$object += New-Object psobject -Property @{
displayName = $ADUserObject.displayName
samAccountName = $ADUserObject.SamAccountName
employeeID = $ADUserObject.employeeID
}
}else{
Write-Host "No employee found for $($employee.employeeId)" -ForegroundColor Red
}
}
if($object){
$object | Select-Object displayName, samAccountName, employeeID | Export-Csv -Path $csvOutput -Delimiter "," -Encoding UTF8 -NoTypeInformation
}
Первая версия выдает намного больше результатов так как если в ID есть ошибка "к примеру ID в csv 12345 а в AD 123456" он да выдает результат. В улучшенной версии он выдает ошибку при любом неточном ID. Вопрос заключается в следушем как изменить улучшенную версию чтобы он выдавал результат даже с ошибкой? Я только начинаю освоение PS и улучшенную версию писал с помошью друга.