![]() |
Изменение атрибутов всех пользователей AD из exel
Имеется домен и 4000 пользователей (в домен входят пользователи нескольких дочерних организаций), поставили задачу у всех пользователей изменить атрибуты (если они стоят) и добавить (если их нету) такие как company,department,title,telephoneNumber,mail. Данные выгружают из 1C отдел кадров в Exel файле, типа Организация,ФИО,Должность,Отдел,Номер телефона,Электронный адрес.
сделал из этого файлика csv вида: company,department,title,displayName,telephoneNumber,mail ООО Компания,Кадры,Специалист,Петров Иван,+79121111111,petrov@company.ru Подскажите как можно решить проблему. Помогите с PowerShell т.к. не очень знаю его, но так полагаю что это единственный нормальный способ это сделать. Спасибо. |
можно попробовать dsmod user или Set-ADUser подсунуть ваш csv.
я когда давным давно делал... но немного по другому. не очень красиво, но зато получилось: я написал команду в Excel для dsmod user, где в полях стояли ваши значения - а потом просто растянул команду на 70 пользователей ) Далее копи-паст всех команд и запуск в командной строке. |
Пробовал вот таким вот скриптом но не получаеться
Import-Module ActiveDirectory #Import CSV $csv = @() $csv = Import-Csv -Path "sample.csv" #Get Domain Base $searchbase = Get-ADDomain | ForEach { $_.DistinguishedName } #Loop through all items in the CSV ForEach ($item In $csv) { #Check if the OU exists $check = [ADSI]::Exists("LDAP://$($searchbase)") If ($check -eq $True) { Try { #Check if the User already exists $Name=$item.Name $user=Get-ADUser -Filter {Name -eq $Name} $user.telephoneNumber=$item.telephoneNumber $user.mail=$item.mail Set-ADUser -Instance $user Write-Host "User $($user.Name) changed!" } Catch { Write-Host "User $($item.Name) is not existed!" } } Else { Write-Host "Target OU can't be found! Operation skipped!" } |
Вложений: 1
Не берусь предоставить готовое решение - не на чем отладить, да и некогда. ИМХО, надо задачу ставить по другому: у Вас есть Excel-файл, не надо его во что-то преобразовывать, напишите для него макрос. И PowerShell тут не при чём. Как пример прикрепляю Excel - файл, который использую. Один макрос создаёт учетные записи в домене по данным на одном листе, второй - меняет некоторые атрибуты учетки из списка на другом листе. Это не готовое решение для Вашего случая, это направление, где его можно найти.
|
Время: 03:29. |
Время: 03:29.
© OSzone.net 2001-