ORF反垃圾邮件系统

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

 找回密码
 会员注册
查看: 4418|回复: 6
打印 上一主题 下一主题

[求助] 如何导出exchange server 2003邮件群组的账户

[复制链接]
跳转到指定楼层
顶楼
发表于 2010-5-4 11:13:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
账户都是一个个加入部门群组的,请问如何导出指定群组的账户信息?先谢过了!
沙发
发表于 2010-5-6 10:24:59 | 只看该作者
你是说导出组成员列表吗?

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

dsquery group -name "组名" | dsget group -members | dsget user -samid -dn >>c:\SUNUSER.csv
把组名改成你想导出的组的名字
藤椅
 楼主| 发表于 2010-5-10 09:30:05 | 只看该作者
谢谢,按你的方法已解决, 不过我还有问题向你请教,
第一,.在邮件服务器中我用不了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的位置上。我现在都一个一个搜出来对应的。有方法吗?再次感谢!
板凳
发表于 2010-5-10 11:54:55 | 只看该作者
1.你的exchange是装在域控制器上的,而域控是没有“本地用户和组”的,所以运行不了net group命令
2.。等钉子帮你吧
报纸
发表于 2010-5-10 14:44:43 | 只看该作者
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的列表。
该文件在任何加域的机器上都可以运行。

评分

参与人数 1技术积分 +2 收起 理由
钉子 + 2 精品文章

查看全部评分

地板
发表于 2010-5-10 21:49:13 | 只看该作者
感谢猪兄的办法。
7
发表于 2010-5-18 17:06:39 | 只看该作者
里面高手如云,看来没有白来一趟
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

小黑屋|手机版|Archiver|邮件技术资讯网

GMT+8, 2024-12-28 11:59

Powered by Discuz! X3.2

© 2001-2016 Comsenz Inc.

本论坛为非盈利中立机构,所有言论属发表者个人意见,不代表本论坛立场。内容所涉及版权和法律相关事宜请参考各自所有者的条款。
如认定侵犯了您权利,请联系我们。本论坛原创内容请联系后再行转载并务必保留我站信息。此声明修改不另行通知,保留最终解释权。
*本论坛会员专属QQ群:邮件技术资讯网会员QQ群
*本论坛会员备用QQ群:邮件技术资讯网备用群

快速回复 返回顶部 返回列表