Get-QADUser vs Get-ADUser

I'm just wondering why there seems to be such a massive performance difference between the Get-QADuser and Get-ADuser.  I know the QAD commands return a lot more data and I have to use them when I need access to the virtual attributes defined in my environment but the speed difference is a millennium apart.  

This takes 6 seconds - measure-command { Get-ADUser    -LdapFilter '(&(sAMAccountType=805306368)(!(|(userAccountControl:1.2.840.113556.1.4.803:=2)(employeeID=*)(employeeNumber=*))))' }  
This takes 2 minutes  - measure-command { Get-QADUser -LdapFilter '(&(sAMAccountType=805306368)(!(|(userAccountControl:1.2.840.113556.1.4.803:=2)(employeeID=*)(employeeNumber=*))))'     -proxy -SizeLimit 0 }  

2 minutes seems like a lifetime when debugging :-) 

I've taken to loading the AD commandlets more and more despite feeling that they are somewhat inferior to the Quest commandlets but convincing others that they shoul dbe using them is pretty hard when the first script they write using them runs so sloooooooly.


Parents
  • Hey Lee - for the QADUser setup - have you already established a connect-qadservice -proxy in the same Powershell Session? Or is your command here also establishing that on first running?  Does it run faster a second time ?  Also are your ARS server you are connected with best geographically (or WAN connected) specified with DIRSYNC setting to an AD DC thats closest?

Reply
  • Hey Lee - for the QADUser setup - have you already established a connect-qadservice -proxy in the same Powershell Session? Or is your command here also establishing that on first running?  Does it run faster a second time ?  Also are your ARS server you are connected with best geographically (or WAN connected) specified with DIRSYNC setting to an AD DC thats closest?

Children