初学者请教:怎样在asp中读取exchange的所有用户名?
//bow to all DX
初学exchange,什么都不知道,恳请各位DX帮帮忙。
怎么样在asp中获得一个OWA内的所有的用户的UserName,(使用组件吗?CDO.)?
怎么样获得当前的用户UserName(CDO.Person?ActiveDs.ADSystemInfo.UserName)?
再次bow!!
问题点数:20、回复次数:8Top
1 楼davidson(无名)回复于 2003-07-03 15:02:33 得分 0
有人能帮忙吗?着急!。Top
2 楼zhangfanfan(happyman)回复于 2003-07-03 22:58:56 得分 0
用户应该是在AD中的吧,如果是在AD中的,就可以用ADSI接口访问AD,将里面的用户读出来的Top
3 楼davidson(无名)回复于 2003-07-04 01:45:27 得分 0
Dim con,rst,urlQueryfld,strSQL,UserName,iUser
Set con = Server.CreateObject("ADODB.Connection")
Set rst = Server.CreateObject("ADODB.RecordSet")
urlQueryFld = "LDAP://localhost/CN=users,DC=mydomain,DC=domain"
con.Provider = "adsDSOobject"
con.Open UrlQueryFld
strSql = "Select adsPath,cn,sAMAccountName From '" & urlQueryFld & "' Where objectcategory='person' and objectclass='user'"
rst.Open strSql,con
UserName = ""
Do until rst.EOF
UserName = UserName & "@" & rst.Fields("sAMAccountName")
rst.MoveNext()
Loop
今天因为没有安装Exchange 2000 sp3结果,rst.open就出错!郁闷的不行了。Top
4 楼Keyln()回复于 2003-07-04 11:01:30 得分 10
Dim rootDSE As IADs
Dim strSearchRoot As String
Dim strADServer As String
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim cmd As ADODB.Command
Dim str As String
Set rootDSE = GetObject("LDAP://RootDSE")
strADServer = rootDSE.Get("dnshostname")
'str = rootDSE.Get("defaultNamingContext")
strSearchRoot = "LDAP://" & strADServer
Set cnn = New ADODB.Connection
With cnn
.Provider = "ADsDSOObject"
.Open strSearchRoot
'.Open ("Active Directory Provider")
End With
strSQL = "select name,mail from '" + strSearchRoot + "' where objectCategory='user' or objectCategory='group' and Mail='*'"
Set cmd = New ADODB.Command
With cmd
Set .ActiveConnection = cnn
.CommandText = strSQL
.Properties("Page Size") = 1000
.Properties("Size Limit") = 1000
.Properties("Timeout") = 180
.Properties("Cache Results") = False
End With
set rst=cmd.ExecuteTop
5 楼Keyln()回复于 2003-07-04 11:02:39 得分 0
看錯了﹐你沒有裝excahngeTop
6 楼cxz7531(大花猫)回复于 2003-07-04 11:40:40 得分 10
dim MyUserContainer
dim MyUser
set MyUserContainer = GetObject("WinNT://computername")
for each MyUser in MyUserContainer
PrintUser MyUser.Name
next
注意computername是你的计算机名或者域名
Top
7 楼davidson(无名)回复于 2003-07-04 11:51:48 得分 0
谢谢Keyln,cxz7531.Top
8 楼davidson(无名)回复于 2003-07-04 11:53:47 得分 0
也谢谢zhangfanfan(happyman)。
谢谢各位DX,问题已经解决了。Top




