Получить SamAccountName из AD - PullRequest
2 голосов
/ 23 марта 2020

Мне нужна помощь с этим сценарием.

Я пытаюсь взять найденного пользователя csv-файла с employeeid и вернуть SamAccountName, DisplayName в csv-файл.

 $csv_data = Import-Csv -Path C:\Scripts\test2.scv -Delimiter "," | Select-Object DisplayName ,SamAccountName | Out-File -FilePath C:\Scripts\test3.scv

пример scv

Import-CSV -Path "$home\desktop\Scripts\test5.scv" | ForEach-Object {

$ADUserObject = Get-ADUser -Filter "employeeID -eq '$($_.employeeID)'" -Properties employeeID, sAMAccountName -ErrorAction SilentlyContinue

}

может быть что-то вроде этого, но все еще не работает: (

1 Ответ

1 голос
/ 24 марта 2020

Я думаю, вы были довольно близки, или, может быть, уже там. Но вот чистый способ сделать это. Также обратите внимание, что вы используете «.scv» вместо «.csv», не знаю, предназначено ли это.

$csv = Import-CSV -Path "$home\desktop\Scripts\test5.csv"
$csvOutput = "$home\desktop\Scripts\test3.csv"
$object = @()
foreach($employee in $csv){
    $ADUserObject = Get-ADUser -Filter "employeeID -eq '$($employee.employeeID)'" -Properties samAccountName, displayName -ErrorAction SilentlyContinue
    if($ADUserObject){
        $object += New-Object psobject -Property @{
            displayName = $ADUserObject.displayName
            samAccountName = $ADUserObject.SamAccountName
        }
    }else{
        Write-Host "No employee found for $($employee.employeeId)" -ForegroundColor Red
    }
}
if($object){
    $object | Select-Object displayName, samAccountName | Export-Csv -Path $csvOutput -Delimiter "," -Encoding UTF8 -NoTypeInformation
}

Обратите внимание, что вы можете использовать «-append» для добавления контента в csv вместо того, чтобы перезаписать это.

Надеюсь, это поможет!

...