Этот блог посвящен MS Exchange, Outlook и проблемам, связанным с электронной почтой


четыре + 6 =


This forum requires Javascript to be enabled for posting content

 

Current User: Guest

Please consider registering

Register?
| Lost Your Password?

Search Forums:

 










Minimum search word length is 4 characters – Maximum search word length is 84 characters
Wildcard Usage:
*  matches any number of characters    %  matches exactly one character

Объединение GAL (Адресных книг) из разных лесов.


User Post

09:53
Август 3, 2011

restless

Member

posts 47

 
1
0

Добрый день Уважаемые профи и гуру и все кто знает свое дело!

Не писал бы сюда если бы не «паника 9-го дня»Surprised

А теперь от смешного к серьезному. Вот предыстория:

http://social.technet.microsof…..d6e045ad03

Если в краце, то есть старый лес с уровнем Windows 2000 и почтой MS Exchange 2000 и создали с чистого листа новый лес Windows Server 2008 R2 с MS Exchange 2010.

Все проблемы по переводу вроде бы решили, но вот есть одна загвоздка: Если пользователь перешел в новый лес в новый домен и соответственно у него будет новый почтовый ящик с новым почтовым доменом! Но естественно инфраструктуру из 800 человек одним махом не перенести, а поэтому в новом домене пользователи будут писать своим коллегам на старые почтовые адреса- в старый лес! Хочу уточнить у нас два разных почтовых домена! 

Чего мы добиваемся:

Необходимо сделать так что бы автоматизировать процесс переноса всех учетных записей, как контактов в новый лес и что бы при этом контакты(старого леса) появились в GAL нового домена ,все для того что бы пользователи могли писать в старую инфраструктуру!

Что пробовали:

1.ILM 2007 (не получилась синхронизация, наверное Win 2000 и Win 2008 не подружить, хотя добились того что DNS обоих лесов разрешают имена друг друга!)

2. Н аданный момент юзаем вот этот скрипт в POsh:

 

base = [ADSI]«LDAP://ou=contacts,dc=ramec,dc=local»
$users = (new-object System.DirectoryServices.DirectorySearcher([ADSI]«LDAP://ou=contact1,dc=module,dc=ramec,dc=ru»,»(&(&(objectCategory=person)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2)(title=*)))»)).findAll()
$users | ForEach-Object {
$_ = $_.GetDirectoryEntry()
$NewContact = $base.Create(«contact»,»cn=» + $_.cn)
$NewContact.SetInfo()
$NewContact.extensionAttribute15 = $base.distinguishedName
$NewContact.displayname = $_.displayname
$NewContact.givenname = $_.givenname
$NewContact.sn = $_.sn
$NewContact.initials = $_.initials
$NewContact.description = $_.description
$NewContact.department = $_.department
$NewContact.title = $_.title
$NewContact.company = $_.company
$NewContact.telephoneNumber = $_.telephoneNumber
$NewContact.othertelephone = $_.othertelephone
$NewContact.ipPhone = $_.ipPhone
$NewContact.otherIpPhone = $_.otherIpPhone
$NewContact.mobile = $_.mobile
$NewContact.otherMobile = $_.otherMobile
$NewContact.facsimileTelephoneNumber = $_.facsimileTelephoneNumber
$NewContact.otherfacsimileTelephoneNumber = $_.otherfacsimileTelephoneNumber
$NewContact.SetInfo()
if ($_.proxyaddresses) {
$targetAddress =  $_.proxyAddresses -clike «SMTP:*» 
Enable-MailContact «cn=$_.cn,$base» -Alias $_.cn -ExternalEmailAddress $targetAddress -PrimarySmtpAddress $_.mail
$NewContact.GetInfo()
$NewContact.proxyAddresses = $_.proxyAddresses
$NewContact.SetInfo()
}
}

base = [ADSI]«LDAP://ou=contacts,dc=ramec,dc=local»
$users = (new-object System.DirectoryServices.DirectorySearcher([ADSI]«LDAP://ou=contact1,dc=module,dc=ramec,dc=ru»,»(&(&(objectCategory=person)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2)(title=*)))»)).findAll()
$users | ForEach-Object {
$_ = $_.GetDirectoryEntry()$NewContact = $base.Create(«contact»,»cn=» + $_.cn)
$NewContact.SetInfo()
$NewContact.extensionAttribute15 = $base.distinguishedName
$NewContact.displayname = $_.displayname$NewContact.givenname = $_.givenname$NewContact.sn = $_.sn$NewContact.initials = $_.initials$NewContact.description = $_.description
$NewContact.department = $_.department$NewContact.title = $_.title$NewContact.company = $_.company
$NewContact.telephoneNumber = $_.telephoneNumber$NewContact.othertelephone = $_.othertelephone
$NewContact.ipPhone = $_.ipPhone$NewContact.otherIpPhone = $_.otherIpPhone
$NewContact.mobile = $_.mobile$NewContact.otherMobile = $_.otherMobile
$NewContact.facsimileTelephoneNumber = $_.facsimileTelephoneNumber$NewContact.otherfacsimileTelephoneNumber = $_.otherfacsimileTelephoneNumber
$NewContact.SetInfo()
if ($_.proxyaddresses) {
$targetAddress =  $_.proxyAddresses -clike «SMTP:*» Enable-MailContact «cn=$_.cn,$base» -Alias $_.cn -ExternalEmailAddress $targetAddress -PrimarySmtpAddress $_.mail
$NewContact.GetInfo()
$NewContact.proxyAddresses = $_.proxyAddresses
$NewContact.SetInfo()
}
}
 

Скрипт прекрасно работает(запускаем непосредственно из exchnge shell на почтовом сервере  2010) до момент выгрузки контактов в новый лес, Но выдает ошибку при создании нового контакта:

Не удается обработать преобразование аргументов для параметра «ExternalEmailAddress». Не удается преобразовать значение
«System.Collections.ArrayList» типа «System.Collections.ArrayList» в тип «Microsoft.Exchange.Data.ProxyAddress».
+ CategoryInfo : InvalidData: ([Enable-MailContact], ParameterBindin…mationException
+ FullyQualifiedErrorId : ParameterArgumentTransformationError,Enable-MailContact

, бъемся уже 9-й день! Голова опухла! 

 

Если еще есть настоящие Гуру- помогите плиз! !Smile

 

Заранее благодарны!

Reply to Topic:
Объединение GAL (Адресных книг) из разных лесов.

Guest Name (Required):

Guest Email (Required):

bbCode Editor
Smileys
Confused
Cool
Cry
Embarassed
Frown
Kiss
Laugh
Smile
Surprised
Wink
Yell
Post New Reply

Guest URL (required)

Math Required!
What is the sum of:
11 + 4
   

About the ExchangeRUS – сайт о Microsoft Exchange Server и электронной почте Forum

Forum Timezone: UTC 3

Most Users Ever Online:
328

Currently Online:

11 Guests

Currently Browsing this Topic:

1 Guest

Forum Stats:

Groups: 3
Forums: 10
Topics: 1417
Posts: 5740

Membership:

There are 1614 Members
There have been 214 Guests

There are 2 Admins

Top Posters:

fron – 251
kkv – 143
Bloodwiser – 89
mrhron – 56
restless – 47
Dmitry Barsukov – 42

Administrators: Pavel Nagaev (1617 Posts), Oleg Krylov (337 Posts)

© Simple:Press  

 













































Рейтинг блогов eXTReMe Tracker