ANDronis
Зарегистрирован: 16.02.2005 Сообщения: 158
|
Добавлено: Ср Авг 24 2005 16:21 Заголовок сообщения: Как выяснить у кого какие элиасы в Exchange |
|
|
Имеем AD на win2k и Exchange 2000.
До меня для многих юзеров помимо, собственно, маилбоксов username@domain были были предоставлены почтовые элиасы типа alias@domain
Требуется: получить список всех элиасов с привязкой к пользователю, которые существуют на предприятии, не просматривая каждого юзера вручную.
Возможно такое? |
|
zero55
Зарегистрирован: 24.08.2005 Сообщения: 74
|
Добавлено: Ср Авг 24 2005 22:50 Заголовок сообщения: |
|
|
выглядит так, опрашивает через LDAP....
ON ERROR RESUME NEXT
Function ListEmailInDomain(DomainDN)
LDAPQUERY = "LDAP://name/DC=domain,DC=com"
Dim con, com, rs
Set con = CreateObject("ADODB.Connection")
Set com = CreateObject("ADODB.Command")
con.Provider = "ADsDSOObject"
con.Open "Active Directory Provider"
Set com.ActiveConnection = con
com.CommandText = "select proxyAddresses from '" & LDAPQUERY & "'where objectClass= 'user' or objectClass='group' order by sn "
com.Properties("Page Size") = 1000
' com.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set rs = com.Execute
rs.MoveFirst
While Not rs.EOF
TProxyAddresses = rs.Fields("proxyAddresses")
If Not IsNull(TProxyAddresses) Then
TProxyAddressesCount = UBound(TProxyAddresses)
For i = 0 To TProxyAddressesCount
If LCase(Left(TProxyAddresses(i),4))="smtp" Then
' If instr(lcase(trim(Mid(TProxyAddresses(i),6))),"@domain.com") > 0 then
f.Write lcase(trim(Mid(TProxyAddresses(i),6))) & VBCRLf
' end if
End If
Next
End iF
rs.MoveNext
Wend
rs.Close
end Function
Domain1 = "LDAP://name/DC=domain,DC=com"
FILENAME= "Domain1-emailwhitelist.txt" 'Filename for exporting data from AD
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(FILENAME, 2, True) ' ForReading = 1, ForWriting = 2, ForAppending = 8
DomainDN = Domain1
ListEmailInDomain(DomainDN)
f.Close
Wscript.Echo "Опрос AD закончен"
wscript.quit
вроде работает |
|