Question : Why is my VB script limiting results to 1500 ?

Hi all-knowing ones !

We use the vb script below to extract the membership of a Global security group. We have a few groups with over 2000 users in them. When used, we seem unable to get it to give us more than 1500 names, regardless of the two search parameter settings. Please could you advise if this is a limitation, or can we fix it ?

-----------------------------------------------------------------------------------------------------------------
Set objShell = CreateObject("Wscript.Shell")
Set objFS = CreateObject("Scripting.FileSystemObject")

'*** Ask for username
strUser = Inputbox("Please enter the name of the Security Group you wish to list.")

If strUser = "" then
      Msgbox "No GroupID entered! Script will now exit."
      WScript.Quit
End If

'*** Declare variables and constants

Dim con
Dim rs
Dim Com
Dim objDataScript
Const DATA_FOLDER = "C:\Scripts"
Const DATA_SCRIPT = "C:\Scripts\AD Security Group Membership results.txt"
GetADUserDetails = 0


'*** Setup an ADO query to get the values from the target object.
Set con = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
Set Com = CreateObject("ADODB.Command")

'*** Open a Connection object.
con.Provider = "ADsDSOObject"
con.Open "Active Directory Provider"

'*** Create a command object on this connection.
Set Com.ActiveConnection = con

'*** Collect ADsPath, sAMAccountName and cn details for target object
Com.CommandText = "<LDAP://invicta.cantium.net>;(samAccountName=" & strUser & ");ADsPath,sAMAccountName,cn"

'*** Set the preferences for Search.
Com.Properties("Page Size") = 2000
Com.Properties("Timeout") = 60

'*** Execute the query.
Set rs = Com.Execute
If rs.RecordCount = 1 Then
      strPath = rs.Fields(0).Value '*** Store path to users account
Else
      GetADUserDetails = 1 '*** User not found
End If



If GetADUserDetails = 1 then
      Msgbox "Folder name entered not found in directory."
      WScript.Quit
Else       '*** User exists so continue
      If Not objFS.FolderExists(DATA_FOLDER) Then            '*** Check for folder existence, if not found then create
            Set objFolder = objFS.CreateFolder(DATA_FOLDER)
      End If
      
      If objFS.FileExists(DATA_SCRIPT) Then      '*** File exists so append information to it
            On Error Resume Next
            Set objDataScript = objFS.OpenTextFile(DATA_SCRIPT,8,True)
            objDataScript.WriteBlankLines (1)
            objDataScript.WriteLine "**********************************"
            objDataScript.WriteLine "*            " & strUser
            objDataScript.WriteLine "**********************************"
            Set objUser = GetObject(strPath)

            arrMemberOf = objUser.GetEx("member")
            For Each Group in arrMemberOf
          Set objGroup = GetObject("LDAP://" & Group)
                                                
          GroupCN = objGroup.CN
          objDataScript.WriteLine ""& GroupCN
                                                
            Next
            objDataScript.Close
            MsgBox "Finished!"
            
      Else
            Set objDataScript = objFS.CreateTextFile(DATA_SCRIPT,True)      '*** File does not exist so create and then write to it
            On Error Resume Next
            Set objDataScript = objFS.OpenTextFile(DATA_SCRIPT,True)
            objDataScript.WriteLine "**********************************"
            objDataScript.WriteLine "*            " & strUser
            objDataScript.WriteLine "**********************************"
            Set objUser = GetObject(strPath)

            arrMemberOf = objUser.GetEx("member")            '*** Get users group membership
      For Each Group in arrMemberOf                        '*** Loop through groups
          Set objGroup = GetObject("LDAP://" & Group)
                  '*** Check group is dist type or universal sec group
          GroupCN = objGroup.CN                                    '*** Get group name
          objDataScript.WriteLine ""& GroupCN            '*** Write group name
      Next
            objDataScript.Close
            MsgBox "Finished!"                                          '*** Indicate completion of process
            
      End If
End If

-----------------------------------------------------------------------------------------------------------------

Many thanks. Any help will be hugely appreciated.

Answer : Why is my VB script limiting results to 1500 ?

AwesomeMachine => Clearly you don't understand the question, which is perfectly clear.    Hardware acceleration support for MPEG decoding and H.264 decoding are features completely independent of the normal GPU functions ... and are not included in all video cards.

narmi2 ==>  Yes, it's possible.    Almost any modern processor can decode MPEG2 DVDs at 1080p without any assist from the GPU.
   
H.264 (HD content on BluRays and HD DVDs) is even more CPU-intensive, but it can also be decoded without GPU assist with modern core architecture chips ==> there was a lot of discussion about this capability on the AVSForums when the core-architecture chips were first released a few years ago.   H.264 requires a CPU with the performance level of an E6600 or better.   An E6600 will approach 100% utilization on high action scenes, but can fully decode H.264 content without any stuttering as long as the computer isn't being used for other activiites during the playback.       The E6600 scores just over 1500 on PassMark's CPUMark, so any CPU with a PassMark score of 2000 or better should easily be able to playback video without hardware acceleration in the GPU.  

Some player software allows you to disable hardware acceleration, which will keep it from using the hardware decode assist features on the GPU (if present).   For example, PowerDVD has a checkbox for "Enable hardware acceleration" ==> by default this will be checked if your GPU has hardware accelerated support, but you can uncheck it if you want to see the effect on your system.
Random Solutions  
 
programming4us programming4us