Mejor respuesta
¿Cómo salgo de un bucle foreach en PowerShell?
A menos que esté pasando un infinito número de objetos en el bucle, para cada bucle terminará solo una vez cada de los objetos se procesa.
para cada ( $ obj en $ matriz)
Puede terminarlo prematuramente con lógica condicional en el proceso de bucle. Por ejemplo, si un objeto coincide con una condición, romper el bucle.
 [bool[]]$array 
 foreach($obj in $array) 
  { 
  if ($obj -eq $false) 
  { 
  break 
  } 
  else 
  { 
  #do something 
  } 
  } 
Otros tipos de bucles, como los bucles for y los bucles do-while / do-until, son mucho más propensos a ejecutarse infinitamente debido a parámetros de inicio incorrectos.
Respuesta
Usas ` descanso `, por ejemplo:
 foreach ($val in $vals) {  
  if ($val -eq 10) {  
  break  
  } 
 }