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


три + = 7


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

Синхронизация контактов между доменами


User Post

12:53
Январь 18, 2010

mrhron

Member

posts 56

 
1
0

Привет всем.

Начальство поставило задачу, необходимо чтобы происходила синхронизация контактов между доменами.

Вот думаю как это проще осуществить, может кто делал? 

13:23
Январь 18, 2010

Pavel Nagaev

Novorossiysk

Admin

posts 1617

 
2
0

Вы имеете ввиду два леса?

Если да, то или самописные скрипты.

http://www.msexchange.org/tuto…..-IIFP.html

Всего хорошего.

13:23
Январь 18, 2010

Pavel Nagaev

Novorossiysk

Admin

posts 1617

 
3
0

Вы имеете ввиду два леса?

Если да, то или самописные скрипты.

http://www.msexchange.org/tuto…..-IIFP.html

Всего хорошего.

16:39
Январь 18, 2010

mrhron

Member

posts 56

 
4
0

Нашёл вот такой скрипт:

Через определенные промежутки времени запускается скрипт, который если достучался до глобального каталога другого леса, то удалял из определенного OU все контакты, читал в том лесе всех пользователей, у которых есть почта, и создавал у меня тут контакты по новой.
 
Потом была создана новая адресная книга через Exchange System Manager, где в свойствах было указано Exchange Recipients и поставлена галочка на Contacts with external e-mail addresses

Option Explicit
On Error Resume Next
Dim objConnection, objCommand, RS
Dim DisplayName, Mail
Dim Container
Dim Contact
 
Set objConnection = CreateObject(«ADODB.Connection»)
objConnection.Provider = «ADsDSOObject»
 
objConnection.Properties(«User ID»)         = тут_аккаунт
objConnection.Properties(«Password»)         = тут_пароль
objConnection.Properties(«Encrypt Password»)     = True
objConnection.Properties(«ADSI Flag») = 1
objConnection.Open «Active Directory Provider»
 
Set objCommand = CreateObject(«ADODB.Command»)
Set objCommand.ActiveConnection = objConnection
 
objCommand.CommandText = «SELECT displayname, mail FROM 'GC://АйПи_глобального_каталога/DC=блаблабла,DC=блаблабла' WHERE mail='*' AND objectClass='user' AND displayname <> 'SystemMailbox*' AND mail <> 'SystemMailbox*' ORDER BY displayname»
Set RS = objCommand.Execute
 
Dim sAddress
Dim sAlias
if NOT (RS.BOF AND RS.EOF) then
    'Удалить все контакты и создать новые
    Dim sOU
    sOU=»OU=GAL»
    Dim Root, DomainPath
    Set Root=GetObject(«LDAP://RootDSE»)
    DomainPath=Root.Get(«DefaultNamingContext»)
 
    Set Container = GetObject(«LDAP://» & sOU & «,» & DomainPath)
    
    'Удаление всех контактов
    Dim strContact
    for each strContact in Container
        Container.Delete «contact», strContact.Name
    next
    
    'Создание новых контактов
    RS.MoveFirst
    While Not RS.EOF
        DisplayName=RS(«displayname»)    
        Mail=RS(«mail»)
        sAddress=»SMTP:» & mail
        sAlias=Split(mail,»@»)
        Set Contact = Container.Create(«Contact», «CN=» & DisplayName)
        Contact.Put «sn», DisplayName
        Contact.Put «givenName», DisplayName
        Contact.Put «DisplayName», DisplayName
        Contact.Put «mail», mail
        Contact.targetAddress=sAddress
        Contact.PutEx 2,»proxyAddresses», Array(sAddress)
        Contact.Put «mailnickname», sAlias(0) & «.kamaz»
        Contact.SetInfo
        RS.MoveNext
    Wend
end if

16:52
Январь 18, 2010

Pavel Nagaev

Novorossiysk

Admin

posts 1617

 
5
0

Я все время про такой скрипт и говорю, надо написать как-нибудь, но у меня такой задачи пока нет. Поэтому только теоретизирую :-)

Всего хорошего.

09:57
Июль 15, 2010

FL0od

Member

posts 7

 
6
0

Post edited 05:58 – Июль 15, 2010 by FL0od
Post edited 06:00 – Июль 15, 2010 by FL0od
Post edited 06:02 – Июль 15, 2010 by FL0od


Попробуйте использовать мою утилиту CADG2 для синхронизации контактов: http://forum.ru-board.com/topi…..pic=4011#1
Утилита оттестирована на доменах с более чем 10К контактов. Много положительных отзывов.

16:23
Июль 21, 2010

mrhron

Member

posts 56

 
7
0

Спасибо, сами написали скрипт на PS который обновляет контакты всё работает как надо.

16:49
Июль 21, 2010

FL0od

Member

posts 7

 
8
0

Хм.. Заметил в скрипте «.kamaz»
[q]Contact.Put «mailnickname», sAlias(0) & «.kamaz»[/q]

Это случайно?
Просто на некоторых заводах ОАО «Камаз» используют мою утиль, чтобы не мигрировать в главный лес.

09:03
Июль 22, 2010

Pavel Nagaev

Novorossiysk

Admin

posts 1617

 
9
0

mrhron said:

Спасибо, сами написали скрипт на PS который обновляет контакты всё работает как надо.


mrhron, скажите, а как реализована автоматическая передача файла с контактами в соседний лес?

Всего хорошего.

13:19
Февраль 14, 2011

mrhron

Member

posts 56

 
10
0

Нашёл по этой теме ещё одно решение:

http://mcp.su/active-directory…..-contacts/

#Адрес контроллера домена, к которому подключаемся";$Domain = 'dc.saturn.corp'Connect-QADService -Service $Domain#Получаем список пользователей удаленного домена	$userlist = (Get-QADUser -name [А-Я]* -IncludedProperties DisplayName, title, company, department,           mailNickname, Office, PostalCode, l, streetAddress,           PhoneNumber, Pager, Mobile, facsimileTelephoneNumber,           Email, physicalDeliveryOfficeName, wWWHomePage,           AccountIsDisabled )ForEach ($user in $userlist) { #Пользователь заблокирован? if ($user.AccountIsDisabled -eq $true)  {  #У пользователя есть почта?  if ($user.mail -notlike $NULL)   {   #Пользователь заблокирован, удаляем существующий контакт    Remove-MailContact $user.mail –Confirm:$false   }  } elseif ($(Get-contact $user.displayname))  {  if ($user.mail -notlike $NULL)   {   #Пользователь не заблокирован, контакт существует, надо обновить   Set-Contact $user.email -Company $user.Company -Title $user.Title -Department $user.Department `         -PostalCode $user.PostalCode -StreetAddress $user.StreetAddress  `         -MobilePhone $user.mobile -Fax $user.facsimileTelephoneNumber `         -Phone $user.telephoneNumber   }  } else  {  if ($user.email -notlike $NULL)   {   #Пользователь не заблокирован, контакт не существует, надо создать   New-MailContact -Name $user.displayname -DisplayName $user.displayname -alias $user.mailnickname `       -OrganizationalUnit moon.corp/Contacts/Saturn -ExternalEmailAddress $user.mail   }  } }

13:42
Февраль 14, 2011

Pavel Nagaev

Novorossiysk

Admin

posts 1617

 
11
0

Мне лично эти решения не нравятся, т.к. на мой взгляд решение должно быть автономным и контакты должны рассылаться по почте автоматически.

Всего хорошего.

13:42
Февраль 14, 2011

Pavel Nagaev

Novorossiysk

Admin

posts 1617

 
12
0

Мне лично эти решения не нравятся, т.к. на мой взгляд решение должно быть автономным и контакты должны рассылаться по почте автоматически.

Всего хорошего.

Reply to Topic:
Синхронизация контактов между доменами

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 + 7
   

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

Forum Timezone: UTC 3

Most Users Ever Online:
328

Currently Online:

17 Guests

Currently Browsing this Topic:

1 Guest

Forum Stats:

Groups: 3
Forums: 10
Topics: 1416
Posts: 5739

Membership:

There are 1613 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