邮件服务器-邮件系统-邮件技术论坛(BBS)

标题: 如何导出exchange server 2003邮件群组的账户 [打印本页]

作者: rubar_luo    时间: 2010-5-4 11:13
标题: 如何导出exchange server 2003邮件群组的账户
账户都是一个个加入部门群组的,请问如何导出指定群组的账户信息?先谢过了!
作者: 钉子    时间: 2010-5-6 10:24
你是说导出组成员列表吗?

http://blog.5dmail.net/user1/1/2010415105149.html

dsquery group -name "组名" | dsget group -members | dsget user -samid -dn >>c:\SUNUSER.csv
把组名改成你想导出的组的名字
作者: rubar_luo    时间: 2010-5-10 09:30
谢谢,按你的方法已解决, 不过我还有问题向你请教,
第一,.在邮件服务器中我用不了net group命令。
C:\Documents and Settings\rubarluo>net group
This command can be used only on a Windows Domain Controller.
More help is available by typing NET HELPMSG 3515.
我右键点击“group",选择"Export List"导出来的,
2.用你提供dsquery group -name 导出了心仪的群组成员,但是只是英文帐号,如何让这些帐号跟通讯录的中文名一一对应呢,中文名设置在account->用户名->organization->title的位置上。我现在都一个一个搜出来对应的。有方法吗?再次感谢!
作者: robcao    时间: 2010-5-10 11:54
1.你的exchange是装在域控制器上的,而域控是没有“本地用户和组”的,所以运行不了net group命令
2.。等钉子帮你吧
作者: 想Fei的猪    时间: 2010-5-10 14:44
on error resume next
objGroupName=InputBox("Please enter the group name : ")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile(objGroupName & ".txt")
       
        Const ADS_SCOPE_SUBTREE = 2
        Set objConnection = CreateObject("ADODB.Connection")
        Set objCommand =   CreateObject("ADODB.Command")
        objConnection.Provider = "ADsDSOObject"
        objConnection.Open "Active Directory Provider"
        
        Set objCOmmand.ActiveConnection = objConnection
        objCommand.CommandText = _
            "Select adspath from 'LDAP://DC=Test,DC=com'Where objectClass='group' and name='" & objGroupName & "'"  
        objCommand.Properties("Page Size") = 1000
        objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
        Set objRecordSet = objCommand.Execute
        objRecordSet.MoveFirst
        
        Do Until objRecordSet.EOF
                     GroupPATH = objRecordSet.Fields("adsPath").Value
                     set objGroup = GetObject(GroupPATH)

        If isarray(objGroup.member) = True Then
                For Each strUser in objGroup.member
                   Set objUser = GetObject("LDAP://" & strUser)
                    objFile.WriteLine objUser.Title
                Next
        Else
                    Set objUser = GetObject("LDAP://" & objGroup.member)
                    objFile.WriteLine objUser.Title
        End If

                objFile.Close
            objRecordSet.MoveNext
        Loop
把上面内容保存为.vbs的脚本文件,把其中的DC=Test,DC=com改成你自己的环境。
双击运行,弹出窗口中输入你的组名,然后在该VBS同目录会出现文本,其中为Title的列表。
该文件在任何加域的机器上都可以运行。
作者: 钉子    时间: 2010-5-10 21:49
感谢猪兄的办法。
作者: 3下五除2    时间: 2010-5-18 17:06
里面高手如云,看来没有白来一趟




欢迎光临 邮件服务器-邮件系统-邮件技术论坛(BBS) (http://news.5dmail.net/bbs/) Powered by Discuz! X3.2