apronk
Here is the exact code I am using expect for bogous domain name funncu.
It runs with no errors but no pull for AD?? what did I do wrong
i have in a cmd file kix32 DomainAD.kix and runs but no output and no errors. Do I have some of the names wrong??? sorry to be so stupid
but I am really trying..



 Code:
 

Dim $Branch1, $Branch2, $Branch3, $Branch4
;fnLDAPQuery(WHAT, Optional FROM, Optional FILTER, Optional ORDER BY, Optional SCOPE, Optional USER, Optional PASSWORD)
$Branch1 = fnLDAPQuery('srv-dc1','LDAP://ou=funncu,ou=ForthAve,ou=Computers,dc=microsoft,dc=funncu,dc=priv','(&(objectClass=Computer)(srv-dc1=*))')
$Branch2 = fnLDAPQuery('srv-dc1','LDAP://ou=funncu,ou=EighthSt,ou=Computers,dc=microsoft,dc=funncu,dc=priv','(&(objectClass=Computer)(srv-dc1=*))')
$Branch3 = fnLDAPQuery('srv-dc1','LDAP://ou=funncu,ou=PostRd,ou=Computers,dc=microsoft,funncu,dc=priv','(&(objectClass=Computer)(srv-dc1=*))')
$Branch4 = fnLDAPQuery('srv-dc1','LDAP:/ou=funncu,ou=ParkDr,ou=Computers,dc=microsoft,dc=funncu,dc=priv','(&(objectClass=Computer)(srv-dc1=*))')

For Each $x in $Branch1
;Display array list as test
? "1:"+$x
Next

For Each $x in $Branch2
;Display array list as test
? "2:"+$x
Next

For Each $x in $Branch3
;Display array list as test
? "3:"+$x
Next

For Each $x in $Branch4
;Display array list as test
? "4:"+$x
Next

Function fnLDAPQuery($What,Optional $From,Optional $Filter,Optional $OrderBy,Optional $Scope,Optional $User,Optional $Pswd)
  Dim $oCon,$oCMD,$oRS,$sQ,$aR,$C,$R
  $sQ="<"+Iif($From="","LDAP://"+GetObject("LDAP://rootDSE").Get("defaultNamingContext"),$From)+">;"+$Filter+";"+Iif(VarType($What)>8192,Join($What,','),$What)+";"+Iif($Scope<>"base" AND $Scope<>"onelevel","subtree",$Scope)
  $oCon=CreateObject("ADODB.Connection")
  $oCon.Provider="ADsDSOObject"
  $oCon.Properties("Encrypt Password").Value=1
  $oCon.Properties("ADSI Flag").Value=1
  If $User AND $Pswd
    $oCon.Properties("User ID").Value=$User
    $oCon.Properties("Password").Value=$Pswd
  EndIf
  $oCon.Open("Active Directory Provider")
     
  $oCMD=CreateObject("ADODB.Command")
  $oCMD.ActiveConnection=$oCon
  $oCMD.CommandText=$sQ
  $oCMD.Properties("Page Size").Value=1000
  $oCMD.Properties("Timeout").Value=30
  $oCMD.Properties("Cache Results").Value=0
    
  If InStr($OrderBy,"distinguishedName")
    $oRS=CreateObject("ADODB.Recordset")
    $oRS.CursorLocation=3
    $oRS.Sort=$OrderBy
    $oRS.Open($sQ,$oCon,0,1,1)
  Else
    If $OrderBy
      $oCMD.Properties("Sort On").Value=$OrderBy
    EndIf
    $oRS=$oCMD.Execute
  EndIf
  If @ERROR Exit @ERROR EndIf
  If $oRS.BOF AND $oRS.EOF Exit @ERROR EndIf
    
  $aR = $oRS.GetRows()
  Dim $aFR[Ubound($aR,2),Ubound($aR,1)]
  For $R=0 to Ubound($aR,2)
    For $C=0 to Ubound($aR,1)
       $aFR[$R,$C]=$aR[$C,$R]
    Next
  Next
  $fnLDAPQuery=$aFR
EndFunction

   





Edited by itdaddy (2008-12-03 09:12 PM)
_________________________
Robert
A+, CCNA, MCP
Network Admin
Credit Union Wisconsin