导出当前域内的所有帐号


CONST  ForWriting                                          =   2     
CONST  ForAppending                                             =   8  
CONST  CONST_ERROR                    =   0
CONST  CONST_WSCRIPT                  =   1
CONST  CONST_CSCRIPT                  =   2
CONST  CONST_SHOW_USAGE               =   3
CONST  CONST_LIST                     =   4
Const  ADS_SCOPE_SUBTREE                               =   2
Const  ADS_UF_DONT_EXPIRE_PASSWD                    =   65536
Const  ADS_UF_PASSWORD_EXPIRED               =   8388608  
Const  E_ADS_PROPERTY_NOT_FOUND   =   & h8000500D
Const  ONE_HUNDRED_NANOSECOND     =  . 000000100
Const  SECONDS_IN_DAY             =   86400

Dim  fso,flog
Dim  strTargetOU

Set  rootDSE  =   GetObject ( " LDAP://rootDSE " )
BaseDN 
=  rootDSE.Get( " defaultNamingContext " )

' =======================================
strTargetOU = " LDAP:// "   &  BaseDN
Outputfile
= " DC用户账号 "
' ========================================

set  fso = CreateObject ( " Scripting.FileSystemObject " )
set  fLog  =  fso.OpenTextFile(Outputfile  &   " .csv " , ForWriting, TRUE )
fLog.WriteLine 
" 帐号,姓名,显示名,工号,邮件地址,公司,部门,省份 "                        
set  FSO = Nothing
Set  fLog = Nothing

Dim  adConn, adComm
Set  adConn  =   CreateObject ( " ADODB.Connection " )
Set  adComm  =   CreateObject ( " ADODB.Command " )
adConn.Provider 
=   " ADsDSOObject "
adConn.Open 
" Active Directory Provider "

Wscript.echo 
" Starting ... "

Dim  UserAccount,usermail,username,userdisplay,userid,company,Department,st
Dim  Usercheck
Dim  outcount
Dim  rs


         
Set  adComm.ActiveConnection  =  adConn
         adComm.CommandText 
=   " select samaccountname,sn,displayname,givenName,mail,company,Department,st from ' "   &  strTargetOU  &   " ' where objectCategory='person' AND objectClass='user' and samaccountname='*' "
         adComm.Properties(
" Page size " =   10000
         
' adComm.Parameters("Timeout")= 30 'seconds
         adComm.Properties( " Searchscope " =  ADS_SCOPE_SUBTREE 
         
Set  rs  =  adComm.Execute
         
      outcount 
=   0
         rs.MoveFirst
         
Do  Until rs.EOF
           
on   error   resume   next
                   UserAccount
= rs.Fields( " sAMAccountName " )
                   usermail
= rs.Fields( " mail " )
           
                   username
= rs.Fields( " sn " )
                   userdisplay
= rs.Fields( " displayname " )
                   userid
= rs.Fields( " givenName " )
        company
= rs.Fields( " company " )
        Department
= rs.Fields( " Department " )
        st
= rs.Fields( " st " )
                   
' usermail=rs.Fields("mail")
            
                
set  fso = CreateObject ( " Scripting.FileSystemObject " )
                            
set  fLog  =  fso.OpenTextFile(Outputfile  &   " .csv " , ForAppending, TRUE )

                            fLog.WriteLine UserAccount 
&   " , "   &  username  &   " , "   &  userdisplay  &   " , "   &  userid  &   " , "   &  usermail  &   " , "   &  company  &   " , "   &  Department  &   " , "   &  st
                            
set  FSO = Nothing
                            
Set  fLog = Nothing
            outcount 
=  outcount  + 1
            
if  outcount  mod   1000   = 0   then
                Wscript.echo 
" 已输出 "   &  outcount  &   " 个帐号 "
            
end   if
                   rs.MoveNext
         
Loop

' set fso=Nothing
'
Set flog=Nothing
set  adComm = nothing
adConn.close
set  adConn = nothing
Wscript.echo 
" 总计输出 "   &  outcount  &   " 个帐号 "
Wscript.echo 
" END Script "

 




转载于:https://www.cnblogs.com/alronzhang/archive/2010/07/13/output-ad-user.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值