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
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