Перенос свойств пользователей из одного домена в другой
Есть два домена domain1 и domain2. Между ними настроены доверительные отношения.
В domain1 имеются связанные почтовые ящики. Необходимо перенести свойства из domain2 в domain1 тех пользователей, которые имеют связанный почтовый ящик. Но DisplayName может отличаться. Под свойствами подразумевается: Telephone number Mobile Office Description Job Title Departament Company Manager Подсобите пожалуйста скриптом. |
выгружаете пользователей с нужными полями в файл,
вносите изменения в файл загружаете файл в другой домен, с заменой _https://www.morgantechspace.com/2014/11/Export-AD-Users-to-CSV-using-Powershell.html |
Цитата:
Необходимо сравнение domain1 атрибута LinkedMasterAccount с domain2 sAMAccountName. Если они равны, то копировать Property с пользователей domain2 в domain1. |
Получите списки пользователей из двух доменов (get-aduser), в первом укажите -Properties LinkedMasterAccount, т. к. по умолчанию он не импортируется, сохранив их в переменные.
Потом надо запустить цикл foreach для переменной, где хранятся данные из первого домена, если найдены совпадения - прописывать нужные свойства учётке из второго домена (set-aduser). |
Цитата:
|
Запускаю скрипт на первом домене:
Код:
Get-Mailbox -ResultSize unlimited | select SamAccountName,mobile,office,departament,linkedmasteraccount | Export-CSV "C:\AD_Users\Users_Domain1.csv" -NoTypeInformation -Encoding UTF8 Код:
SamAccountName,"mobile","Office","departament","LinkedMasterAccount" Код:
Get-ADUser -Filter * -SearchBase "OU=SuperUsers,DC=Domain,DC=local" -Properties * | Select -Property sAMAccountName,mobile,office,departament | Export-CSV "C:\AD_Users\Users_Domain2.csv" -NoTypeInformation -Encoding UTF8 Код:
sAMAccountName,"mobile","office","departament" 1. Почему выводится значение "Microsoft.ActiveDirectory.Management.ADPropertyValueCollection"? И как это исправить? 2. Каким образом через PowerShell запустить цикл foreach для переменной, где хранятся данные из первого домена, если найдены совпадения - прописывать нужные свойства учётке из второго домена (set-aduser)? |
Цитата:
Остаётся один вопрос: Цитата:
|
it3, а зачем с первого выгружаешь почтовые ящики? LinkedMasterAccount это разве не аттрибут из AD?
Так конечно тоже можно, просто зачем себе дополнительные палки в колеса совать... Цитата:
Код:
$csv = (import-csv c:\oldusers.csv) |
Кстати, лучше не так
Код:
Get-ADUser -Filter * -SearchBase "OU=SuperUsers,DC=Domain,DC=local" -Properties * | Select -Property sAMAccountName,mobile,office,department а так: Код:
Get-ADUser -Filter * -SearchBase "OU=SuperUsers,DC=Domain,DC=local" -Properties mobile,office,department |
Цитата:
Второй вопрос до сих пор остаётся открытым: Цитата:
|
it3, Charg же обрисовал выше концепцию.
|
Цитата:
|
it3, то есть хочешь готовое решение чтобы просто скопипастить и запустить и чтоб всё заработало?
|
Цитата:
|
Господа, нет готовых решений?
|
Цитата:
можно на гитхабе посмотреть |
Цитата:
Безрезультатно. |
it3, готовых решений нет и не будет, т. к. задача достаточно специфическая и необходимо разбираться на месте. Приглашайте специалиста.
|
Цитата:
|
Вложений: 1
Всё таки хотелось бы достичь какого то результата.
Я делаю следующее: 1. На domain1 запускаю скрипт: Код:
Get-Mailbox -Filter {IsLinked -eq $true} -ResultSize Unlimited | select name,samaccountname,LinkedMasterAccount | Export-Csv C:\AD_Users\MaiL_LinkedMasterAccount.csv -Encoding UTF8 -Delimiter ";" Код:
Get-ADUser -Filter * -SearchBase "OU=Folder1,DC=domain2,DC=local" -Properties * | select samaccountname,officephone,title,department | Export-Csv C:\temp\MaiL_domain2.csv -Encoding UTF8 -Delimiter ";" Мне необходимо сравнить эти файлы, и перенести информацию (officephone,title,department) в domain1 (если LinkedMasterAccount совпадает с samaccountname). |
Если у вас доверие между доменами, есть ли учётка, которая имеет административные полномочия в обоих доменах?
|
Цитата:
Имя учётной записи: superuserdomain2 |
Время: 09:44. |
Время: 09:44.
© OSzone.net 2001-