![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Массовое изменения информации в AD |
|
|
PowerShell - [решено] Массовое изменения информации в AD
|
Старожил Сообщения: 303 |
Доброго времени суток.
Коллеги окажите помощь в решении тривиальной задачи. Цель: 1 скрипт: Необходимо выгрузить в csv(txt) для дальнейшей обработки поля разделенный запятой (табуляцией) в формате представленном ниже с возможностью выбора OU (без лишних добавок) Пример: Иванов Иван Иванович, Отдел строительных решений, Главный специалист, Главный специалист Отдела строительных решений Скрытый текст
$_.directreports | Foreach {
$server = $_.split(",") -match "DC=" -replace "DC=" -join "." ФИО (или для дальнейшей обработки проще "cn") Отдел, Должность, Описание 2 скрипт: Далее будут изменены поля Отдел, Должность, Описание и их необходимо обновить в AD игнорируя значения которые не изменялись. Если проще добавить тока измененные данные отредактированного csv (txt) пойдет Изменения так же должны происходить в определенной OU Спасибо большое. |
|
Отправлено: 13:50, 13-07-2016 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать # Выгрузить $prop = Write-Output samaccountname displayname department title description Get-ADUser -Filter * -SearchBase "OU=Test,DC=Contoso,DC=Com" -Properties $prop | Select $prop | Export-Csv users.csv -NoTypeInformation -Encoding UTF8 # Обновление $prop = Write-Output samaccountname displayname department title description Import-CSV users.csv | Foreach { $cuser = $_ $user = Get-ADUser -Filter "SamAccountName -eq '$($_.samaccountname)'" -Properties $prop if($user) { $prop | Where {$user."$_" -ne $cuser."$_"} | Foreach { Set-ADUser $user -Replace @{"$_" = $cuser."$_"} } } } |
Последний раз редактировалось Kazun, 13-07-2016 в 15:56. Отправлено: 14:11, 13-07-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 303
|
Профиль | Отправить PM | Цитировать Спасибо огромной, как всегда быстро среагировали, буду тестировать.
|
Отправлено: 14:24, 13-07-2016 | #3 |
Старожил Сообщения: 303
|
Профиль | Отправить PM | Цитировать Странно но выдал ошибку
Select-Object : Не удается преобразовать System.Management.Automation.PSObject в один из следующих типов {System.String, System.Management.Automation.ScriptBlock}. строка:3 знак:93 + Get-ADUser -Filter * -SearchBase "OU=Users,DC=exp,DC=ru" -Properties $prop | Select <<<< $prop | Export-Csv d:\users.csv -NoTypeInformation -Encoding UTF8 + CategoryInfo : InvalidArgument: (:) [Select-Object], NotSupportedException + FullyQualifiedErrorId : DictionaryKeyUnknownType,Microsoft.PowerShell.Commands.SelectObjectCommand |
Отправлено: 15:27, 13-07-2016 | #4 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 15:53, 13-07-2016 | #5 |
Старожил Сообщения: 303
|
Профиль | Отправить PM | Цитировать Прощу прощения мало в этом разбираюсь еще, во втором скрипте на обновление так же использую кавычки?
Проверяю обновление Import-Module ActiveDirectory $prop = "samaccountname","displayname","department","title","description" Import-CSV D:\users.csv | Foreach { $cuser = $_ $user = Get-ADUser -Filter "SamAccountName -eq '$($_.samaccountname)'" -Properties $prop if($user) { $prop | Where {$user."$_" -ne $cuser."$_"} | Foreach { Set-ADUser $user -Replace @{"$_" = $cuser."$_" } } } } Get-ADUser : Фильтр поиска не опознан строка:5 знак:20 + $user = Get-ADUser <<<< -Filter "SamAccountName -eq '$($_.samaccountname)'" -Properties $prop + CategoryInfo : NotSpecified: (:) [Get-ADUser], ADException + FullyQualifiedErrorId : Фильтр поиска не опознан,Microsoft.ActiveDirectory.Management.Commands.GetADUser |
Отправлено: 15:55, 13-07-2016 | #6 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Вывод Import-CSV users.csv
|
Отправлено: 16:43, 13-07-2016 | #7 |
Старожил Сообщения: 303
|
Профиль | Отправить PM | Цитировать Однако
samaccountname,"displayname","department","title","description" --------------------------------------------------------------- i.ivanov,"������� ������ ����������","����� ������������� �������������� ������","������� ����������","������� ���������� ������ ������������� �������������� ������" пере сохранил в UTF8 и ошибка та же Скрытый текст
Import-CSV d:\users.csv
samaccountname,"displayname","department","title","description" --------------------------------------------------------------- i.ivanov,"Иванов Иван Викторович","Отдел сопровождения информационных систем","Ведущий специалист","Ведущий специалист Отдела сопровождения информационных систем" |
Отправлено: 17:25, 13-07-2016 | #8 |
Старожил Сообщения: 303
|
Профиль | Отправить PM | Цитировать Уважаемый Kazun, есть ли возможность подправить скрипт?
|
Отправлено: 08:48, 14-07-2016 | #9 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 10:13, 14-07-2016 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2008 R2 - Массовое изменение информации во вкладке "Среда" в AD | Mescaline5115 | Windows Server 2008/2008 R2 | 3 | 19-12-2014 17:01 | |
VBS/WSH/JS - выгрузка из AD информации пользователя | Uranich | Скриптовые языки администрирования Windows | 1 | 14-02-2013 16:01 | |
Массовое изменение настроек пользователей в AD Win 2003 | Fenia | Microsoft Windows NT/2000/2003 | 5 | 25-06-2012 17:01 | |
AD и сбор информации о клиентском ПО | Trinux | Microsoft Windows NT/2000/2003 | 1 | 07-09-2011 14:37 | |
CMD/BAT - [решено] AD массовое переименование пользователей | toperx | Скриптовые языки администрирования Windows | 9 | 24-07-2009 12:46 |
|