Классическая задача для админа. Есть список пользователей в файле csv, необходимо по представленному списку сформировать файл с определенными атрибутами учетной записи.
Допустим входной файл имеет вид:
|sn | givenName |
|Иванов | Иван |
В атрибутах учетной записи sn, как правило, фамилия, givenName имя.
Напишем небольшой скрипт и разберем его.
$users = Import-CSV c:\temp\EID2.csv
foreach ($user in $users){
$sn = $user.sn
$given_name = $user.givenName
$userset = Get-ADUser -f {(sn -eq $sn) -and (givenName -eq $given_name)} -Properties *
if ($userset -ne $Null){
$userset | Select-Object employeeID, sAMAccountName, mail | Export-Csv -Encoding Unicode -Path c:\temp\final3.csv -Append
}
}
$users = Import-CSV c:\temp\EID2.csv В переменную $users помещаем результат импорта из файла c:\temp\EID2.csv.
foreach ($user in $users){
Для тех кто немного изучал программирование, будет понятней, это цикл по объектам, $users наша переменная содержащая объекты импорта, т.е. строки файла и колонки, переменная $user содержит значения колонок текущей строки.
$sn = $user.sn
Присваиваем переменной $sn значение текущей колонки sn в файле.
$given_name = $user.givenName
То же самое для колонки givenName
$userset = Get-ADUser -f {(sn -eq $sn) -and (givenName -eq $given_name)} -Properties *
Для поиска пользователей в AD используем командлет Get-ADUser через параметр –f задаем фильтр поиска по атрибутам учетки {(sn -eq $sn) -and (givenName -eq $given_name)}, если условие одно то его можно не заключать в скобки, через параметр –Properties * получим все атрибуты.
if ($userset -ne $Null){
Если переменная $userset найдена, т.е. не равна нулю, то делаем следующее
$userset | Select-Object employeeID, sAMAccountName, mail | Export-Csv -Encoding Unicode -Path c:\temp\final3.csv -Append
Из переменной $userset по конвейеру передаем значение на командлет Select-Object который выбирает три параметра employeeID, sAMAccountName, mail , дальше через конвейер передаем на командлет Export-Csv -Encoding Unicode -Path c:\temp\final3.csv –Append здесь указываем кодировку файла -Encoding Unicode, путь -Path c:\temp\final3.csv, и укажем, что нужно дозаписывать значения в конец файла –Append.
На выходе получим файл с атрибутами.
Допустим входной файл имеет вид:
|sn | givenName |
|Иванов | Иван |
В атрибутах учетной записи sn, как правило, фамилия, givenName имя.
Напишем небольшой скрипт и разберем его.
$users = Import-CSV c:\temp\EID2.csv
foreach ($user in $users){
$sn = $user.sn
$given_name = $user.givenName
$userset = Get-ADUser -f {(sn -eq $sn) -and (givenName -eq $given_name)} -Properties *
if ($userset -ne $Null){
$userset | Select-Object employeeID, sAMAccountName, mail | Export-Csv -Encoding Unicode -Path c:\temp\final3.csv -Append
}
}
$users = Import-CSV c:\temp\EID2.csv В переменную $users помещаем результат импорта из файла c:\temp\EID2.csv.
foreach ($user in $users){
Для тех кто немного изучал программирование, будет понятней, это цикл по объектам, $users наша переменная содержащая объекты импорта, т.е. строки файла и колонки, переменная $user содержит значения колонок текущей строки.
$sn = $user.sn
Присваиваем переменной $sn значение текущей колонки sn в файле.
$given_name = $user.givenName
То же самое для колонки givenName
$userset = Get-ADUser -f {(sn -eq $sn) -and (givenName -eq $given_name)} -Properties *
Для поиска пользователей в AD используем командлет Get-ADUser через параметр –f задаем фильтр поиска по атрибутам учетки {(sn -eq $sn) -and (givenName -eq $given_name)}, если условие одно то его можно не заключать в скобки, через параметр –Properties * получим все атрибуты.
if ($userset -ne $Null){
Если переменная $userset найдена, т.е. не равна нулю, то делаем следующее
$userset | Select-Object employeeID, sAMAccountName, mail | Export-Csv -Encoding Unicode -Path c:\temp\final3.csv -Append
Из переменной $userset по конвейеру передаем значение на командлет Select-Object который выбирает три параметра employeeID, sAMAccountName, mail , дальше через конвейер передаем на командлет Export-Csv -Encoding Unicode -Path c:\temp\final3.csv –Append здесь указываем кодировку файла -Encoding Unicode, путь -Path c:\temp\final3.csv, и укажем, что нужно дозаписывать значения в конец файла –Append.
На выходе получим файл с атрибутами.
Комментариев нет:
Отправить комментарий