Powershell Schleife und nur Probleme

Guten Morgen Ich bin Neuling im Bereich Powershell und benötige eure Hilfe.
Ich habe mir eine Schleife für eine Registry Abfrage gebaut und möchte nun meine Ergebnisse einschräncken:
$SearchString = „EnablePME“
Get-ChildItem HKLM:\System\ -Recurse -ErrorAction SilentlyContinue | ForEach-Object {
if((get-itemproperty -Path $_.PsPath) -match $searchString)
{
$_.PsPath
}
}
Write-Host „SearchReg.ps1 has completed.“

Ich möchte nun nur die Ergebnisse 1,4 und 7 jeweils in eine Variable schreiben lassen, doch habe ich keine Ahnung wie. Könnt Ihr mir helfen ? 

und möchte nun meine Ergebnisse einschräncken:
$SearchString = „EnablePME“
Get-ChildItem HKLM:\System\ -Recurse -ErrorAction
SilentlyContinue | ForEach-Object {
if((get-itemproperty -Path $_.PsPath) -match $searchString)
{
$_.PsPath
}
}
Write-Host „SearchReg.ps1 has completed.“

Ich möchte nun nur die Ergebnisse 1,4 und 7 jeweils in eine
Variable schreiben lassen, doch habe ich keine Ahnung wie.
Könnt Ihr mir helfen ?

ich kenne die PowerShell leider gar nicht.
Aber ich gebe trotzdem Antwort :smile:

Ich schreibe $_.PsPath in ein Array.
Du musst Dir also zu meiner Erklärung die Syntax suchen. Von der Logik her sollte das etwa so funktionieren:

$SearchString = "EnablePME" 

Get-ChildItem HKLM:\System\ -Recurse -ErrorAction
SilentlyContinue | ForEach-Object 
{
 if((get-itemproperty -Path $\_.PsPath) -match $searchString) 
 { 
 **$MeinArray[]** = $\_.PsPath 
 // hier bitte gucken, wie man arrays richtig beschreibt
 } 
} 
Write-Host "SearchReg.ps1 has completed."
Write-Host "1: " + $MeinArray[0]
Write-Host "4: " + $MeinArray[3]
Write-Host "7: " + $MeinArray[6]
// hier bitte gucken, wie man variablen/ text richtig concatinated

-> Vermutlich gibt es aber einen Befehl, der aus dem ForEach-Object direkt ein gefiltertes Array erzeugen kann. Aber wie gesagt. Ich habe keine Ahnung von PS.
Hoffe es hilft trotzdem ein bisschen.

Gruss