title: How do I add multi-threading?
body: <p>Is there a way of getting the below to run in parallel (multi-threading)? I have about 200 servers that need to run and was wondering if there is a way of checking say 10 servers at once rather then one at a time...WMI is very slow in checking this one at a time. </p>
  
  <pre><code>clear
  Write-Host "Script to Check if Server is Alive and Simple WMI Check"
  
  $servers = Get-Content -Path c:\Temp\Servers.txt
  
  foreach($server in $servers)
  {
      if (Test-Connection -ComputerName $server -Quiet)
      {
      $wmi = (Get-WmiObject -Class Win32_ComputerSystem -ComputerName $server).Name
  
      Write-Host "$server responds: WMI reports the name is: $wmi"
      }
  
      else
      {
      Write-Host "***$server ERROR - Not responding***"
      }
  }
  </code></pre>