Лучший отвечающий
массовое изменение св в AD

Вопрос
-
Всем привет.
Настала пора навести порядок в св-вах пользователей AD. Есть excel файл, там есть столбцы ФИО, тел, должность, email.... Нужно занести эти данные в св-ва пользователей AD.
Помогите скрипт написать.
Я получил логины этих пользователей, а как загрузить нужные св-ва в AD, через csvde???
MCITP:EA. MCSA. MCTS:Exchange Configuring
- Перемещено Vinokurov YuriyModerator 26 ноября 2012 г. 12:47 (От:Windows server 2008R2/2008)
26 ноября 2012 г. 10:14
Ответы
-
входные файлы:
ExportAD.csv:
Name,Department,Title
Иванова Светлана Васильевна,аппарат управления,бухгалтерPhoneExport.csv
Name,OfficePhone,MobilePhone,HomePhone
Петрова Ольга Ивановна,707,+79121111111,713111#Получаем данные по сотрудникам из Active Directory $AdDB = Get-ADUser -Filter * | Where-Object {$_.Enabled -eq $True}| Select-Object Name, SamAccountName #Всасываем данные по должностям и отделам сотрудников из csv #$UsrDB = Import-Csv "\\dc1\public\V8\Exchange\ActiveDirectory\ExportAD.csv" | select Name,Department,Title -unique #Всасываем данные по телефонам сотрудников $UsrDB = Import-Csv "d:\scripts\phoneexport.csv" | select Name,OfficePhone,MobilePhone,HomePhone -unique ForEach ($aduser in $addb) { $UsrDb | ForEach-Object { if ($_.Name -eq $Aduser.Name) { #Выполнение операции "Set" над целевыми объектами "Телефоны" сотрудников Set-ADUser -Identity $Aduser.SamAccountName -OfficePhone $_.OfficePhone -MobilePhone $_.MobilePhone -HomePhone $_.HomePhone Write-Host " $($Aduser.Name) $($_.OfficePhone), $($_.MobilePhone), $($_.HomePhone)" #Выполнение операции "Set" над целевыми объектами "Отдел" и "Должность" сотрудников #Set-ADUser -Identity $Aduser.SamAccountName -Department $_.Department -Title $_.Title # Write-Host " $($Aduser.Name) , $($_.Department), $($_.Title) " } } }
MCP,MCTS
Если вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение"- Предложено в качестве ответа ILYA [ sie ] SazonovModerator 27 декабря 2012 г. 7:30
- Помечено в качестве ответа KazunEditor 3 января 2013 г. 11:31
27 декабря 2012 г. 6:49
Все ответы
-
а через PowerShell не подойдет?26 ноября 2012 г. 22:00
-
Укажите формат входного файла (какие столбцы)29 ноября 2012 г. 7:20
-
Укажите формат файла, напишу скрипт для Powershell. На PoSH красивей и быстрее.29 ноября 2012 г. 12:42
-
В смысле формат???? Поля в таблице excel??????
MCITP:EA. MCSA. MCTS:Exchange Configuring
26 декабря 2012 г. 10:40 -
как данные расположены в файле? Хочется видеть что-то в духе
логин;свойство1;свойство2;..;свойствоХсценарий будет иметь примерно такой вид
import-module activedirectory $header = "login","prop1","prop2" $file = import-csv "путь к файлу" -delimiter ';' -header $header foreach ($user in $file) { set-aduser $User.login -property1 $user.prop1 -property2 $user.prop2 -confirm:$false }
26 декабря 2012 г. 13:36 -
ФИО, Email, Тел.
MCITP:EA. MCSA. MCTS:Exchange Configuring
27 декабря 2012 г. 6:18 -
входные файлы:
ExportAD.csv:
Name,Department,Title
Иванова Светлана Васильевна,аппарат управления,бухгалтерPhoneExport.csv
Name,OfficePhone,MobilePhone,HomePhone
Петрова Ольга Ивановна,707,+79121111111,713111#Получаем данные по сотрудникам из Active Directory $AdDB = Get-ADUser -Filter * | Where-Object {$_.Enabled -eq $True}| Select-Object Name, SamAccountName #Всасываем данные по должностям и отделам сотрудников из csv #$UsrDB = Import-Csv "\\dc1\public\V8\Exchange\ActiveDirectory\ExportAD.csv" | select Name,Department,Title -unique #Всасываем данные по телефонам сотрудников $UsrDB = Import-Csv "d:\scripts\phoneexport.csv" | select Name,OfficePhone,MobilePhone,HomePhone -unique ForEach ($aduser in $addb) { $UsrDb | ForEach-Object { if ($_.Name -eq $Aduser.Name) { #Выполнение операции "Set" над целевыми объектами "Телефоны" сотрудников Set-ADUser -Identity $Aduser.SamAccountName -OfficePhone $_.OfficePhone -MobilePhone $_.MobilePhone -HomePhone $_.HomePhone Write-Host " $($Aduser.Name) $($_.OfficePhone), $($_.MobilePhone), $($_.HomePhone)" #Выполнение операции "Set" над целевыми объектами "Отдел" и "Должность" сотрудников #Set-ADUser -Identity $Aduser.SamAccountName -Department $_.Department -Title $_.Title # Write-Host " $($Aduser.Name) , $($_.Department), $($_.Title) " } } }
MCP,MCTS
Если вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение"- Предложено в качестве ответа ILYA [ sie ] SazonovModerator 27 декабря 2012 г. 7:30
- Помечено в качестве ответа KazunEditor 3 января 2013 г. 11:31
27 декабря 2012 г. 6:49