Лучший отвечающий
Как копировать контакты в AD windows 2003

Вопрос
-
В связи со сложившейся структурой организации, приходится часто заводить контакты в AD с e-mail адресами сторонних организаций. Контакты эти должны быть с определенными, часто одинаковыми атрибутами. Контакт в отличие от пользователя копировать нельзя, соответственно при заведении нового контакта приходится, каждый раз его заполнять=( Есть ли возможность через ADSI Edit или какам либо другим путем получить данную возможность?
Ы25 августа 2010 г. 8:02
Ответы
-
В PS можно испльзовать командлет (в нём можно создать алиас):
New-MailContact -Name <String> -ExternalEmailAddress <ProxyAddress> [-Alias <String>] [-Confirm [<SwitchParameter>]] [-DisplayName <String>] [-DomainController <Fqdn>] [-FirstName <String>] [-Initials <String>] [-LastName <String>] [-MacAttachmentFormat <BinHex | UuEncode | AppleSingle | AppleDouble>] [-MessageBodyFormat <Text | Html | TextAndHtml>] [-MessageFormat <Text | Mime>] [-OrganizationalUnit <OrganizationalUnitIdParameter>] [-PrimarySmtpAddress <SmtpAddress>] [-TemplateInstance <PSObject>] [-UsePreferMessageFormat <$true | $false>] [-UseRusServer <String>] [-WhatIf [<SwitchParameter>]]
- Предложено в качестве ответа Vinokurov YuriyModerator 27 августа 2010 г. 12:49
- Помечено в качестве ответа Vinokurov YuriyModerator 1 сентября 2010 г. 12:59
26 августа 2010 г. 14:02 -
Если продолжать тему PS и при этом обходится без дополнительных командлетов, можно поступить так:
function create-contact # --------------------------------------------------------------------------------------------------- { Param ( $ou, $EMail, $strContactName, $strFirst, $strLast, $Description ) $strMainDefault = "SMTP:$($EMail)" Write-Host "Welcome to creat contact!" Write-Host "First Name: $($strFirst)" Write-Host "Last Name: $($strLast)" Write-Host "E-mail: $($EMail)!" $strEmail = "not@needed.org" $strMailbox = "/o=tvoy/ou=First Administrative Group/cn=Recipients/cn="+ $strContactName $strNick = $strContactName $objContainer = [ADSI]"LDAP://localhost:389/ou=Contacts,dc=ex,dc=treet,dc=local" $objContact = $objContainer.Create("contact", "cn="+$strContactName) $objContact.Put("Mail", $strEmail) $objContact.Put("givenName", $strFirst) $objContact.Put("sn", $strLast) $objContact.Put("mailNickname", $strNick) $objContact.Put("targetAddress", $strMainDefault) $objContact.Put("legacyExchangeDN", $strMailbox) $objContact.SetInfo() }
create-contact "Contacts" "dt@dt.com" "MrAcme1" "Willy" "Acme" "This is a Test"
аттрибут "mailNickname" из строки "$objContact.Put("mailNickname", $strNick)" - это твой алиас
Для рассмотрения всех атрибутов рекомендую воспользоваться утилитой ADSI Edit.
Взять можно тут- Помечено в качестве ответа Vinokurov YuriyModerator 1 сентября 2010 г. 12:59
30 августа 2010 г. 4:14
Все ответы
-
Сделать батник с заполненными свойствами и далее менять только ФИО и адрес:
http://technet.microsoft.com/ru-ru/library/cc771883%28WS.10%29.aspx25 августа 2010 г. 12:13 -
Спасибо работает, нашел как это сделать и на PS. Но, таким макаром не создается алиас контакта в exchange, придется все равно каждый раз заходить в оснастку и заводить почту.
Ы25 августа 2010 г. 13:44 -
В PS можно испльзовать командлет (в нём можно создать алиас):
New-MailContact -Name <String> -ExternalEmailAddress <ProxyAddress> [-Alias <String>] [-Confirm [<SwitchParameter>]] [-DisplayName <String>] [-DomainController <Fqdn>] [-FirstName <String>] [-Initials <String>] [-LastName <String>] [-MacAttachmentFormat <BinHex | UuEncode | AppleSingle | AppleDouble>] [-MessageBodyFormat <Text | Html | TextAndHtml>] [-MessageFormat <Text | Mime>] [-OrganizationalUnit <OrganizationalUnitIdParameter>] [-PrimarySmtpAddress <SmtpAddress>] [-TemplateInstance <PSObject>] [-UsePreferMessageFormat <$true | $false>] [-UseRusServer <String>] [-WhatIf [<SwitchParameter>]]
- Предложено в качестве ответа Vinokurov YuriyModerator 27 августа 2010 г. 12:49
- Помечено в качестве ответа Vinokurov YuriyModerator 1 сентября 2010 г. 12:59
26 августа 2010 г. 14:02 -
Если продолжать тему PS и при этом обходится без дополнительных командлетов, можно поступить так:
function create-contact # --------------------------------------------------------------------------------------------------- { Param ( $ou, $EMail, $strContactName, $strFirst, $strLast, $Description ) $strMainDefault = "SMTP:$($EMail)" Write-Host "Welcome to creat contact!" Write-Host "First Name: $($strFirst)" Write-Host "Last Name: $($strLast)" Write-Host "E-mail: $($EMail)!" $strEmail = "not@needed.org" $strMailbox = "/o=tvoy/ou=First Administrative Group/cn=Recipients/cn="+ $strContactName $strNick = $strContactName $objContainer = [ADSI]"LDAP://localhost:389/ou=Contacts,dc=ex,dc=treet,dc=local" $objContact = $objContainer.Create("contact", "cn="+$strContactName) $objContact.Put("Mail", $strEmail) $objContact.Put("givenName", $strFirst) $objContact.Put("sn", $strLast) $objContact.Put("mailNickname", $strNick) $objContact.Put("targetAddress", $strMainDefault) $objContact.Put("legacyExchangeDN", $strMailbox) $objContact.SetInfo() }
create-contact "Contacts" "dt@dt.com" "MrAcme1" "Willy" "Acme" "This is a Test"
аттрибут "mailNickname" из строки "$objContact.Put("mailNickname", $strNick)" - это твой алиас
Для рассмотрения всех атрибутов рекомендую воспользоваться утилитой ADSI Edit.
Взять можно тут- Помечено в качестве ответа Vinokurov YuriyModerator 1 сентября 2010 г. 12:59
30 августа 2010 г. 4:14 -
После $objContact = $objContainer .Create("contact" , "cn=" + $strContactName )
скорее всего придется пставить $objContact .SetInfo() иначе последующее назначение и сохранение свойств может вызвать ошибку.
Сазонов Илья http://www.itcommunity.ru/blogs/sie-wl/30 августа 2010 г. 6:02Модератор