title: Powershell - Store all Computers in AD into Array
body: <p>So at the moment I have some code which can lock down to a specific OU via ADSI in Powershell, loop through, and store them into an Array. In turn I loop through this and run a Test-Connection. I have my reasons... </p>
  
  <p>Anyway, is it possible (using only inbuilt cmdlets, i.e. no Quest stuff) to recurse through the whole of AD and add all Computer Objects to the array?</p>
  
  <pre><code>$myArrayOfComputers = @()
  
  $orgUnit = [ADSI]"LDAP://OU=foo,DC=foo,dc=co,dc=uk"
  
  ForEach($child in $orgUnit.psbase.Children) {
      if ($child.ObjectCategory -like '*computer*') { $myArrayOfComputers += $child.Name }
  }
  
  ForEach($i in $myArrayOfComputers) {
      Test-Connection $i
  }
  </code></pre>