none
Prüfen ob es bestimmte Wert in der Registry gibt, wenn ja Name in Variable packen RRS feed

  • Frage

  • Hallo,
    ich kenne mich bis dato leider nicht mit Powershell aus.
    Ich möchte an einer bestimmten Stell prüfen, ob es dort einen Wert in der Registry gibt.

    Wenn es den Wert gibt, soll eine Variable mit dem Namen des Wertes gefüllt werden.
    Derzeit sind 6~7 Werte denkbar, die dort stehen können.
    Leider klappen meine Versuche bis dato nicht.
    Kann jemand helfen?

    Pfad wäre z.B. HKLM:\SOFTWARE\WOW6432Node\Intel\
    Dort soll geschaut werden ob es den Eintrag X, Y oder Z gibt, wenn ja, soll $var mit X,Y oder Z gefüllt werden.

    Danke,
    Gruß
    Montag, 21. Oktober 2019 12:27

Antworten

Alle Antworten

  • Hallo Jay, willkommen im Forum. Lies erstmal bitte diesen Artikel: LINK.
    Dann poste bitte mal den Code der dir Probleme macht und beschreibe was genau nicht funktioniert.

    Grüße, Denniver


    Blog: http://www.bytecookie.de

    Powershell Code Manager: Link
    (u.a. Codesnippets verwalten + komplexe Scripte graphisch darstellen)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.

    Montag, 21. Oktober 2019 13:27
    Moderator
  • Hallo,

    ich habe verschiedenes versucht, z.B:

    $pfad 			= 	"HKCU:Test\Sub"
    $eintrag 		= 	"Raum-Nr3"
    
    $valueExists = (Get-Item $pfad -EA Ignore).Property -contains $eintrag 
    
    if ($valueExists -eq $null) { } else { 
    	$raumnr = $eintrag 
    }
    
    new-item E:\$raumnr.txt -type file -force

    Leider funktioniert das eben nicht, die Datei wird erstellt, auch wenn der Eintrag nicht vorhanden ist.

    Gruß

    Montag, 21. Oktober 2019 17:28
  • Moin,

    $valueExists enthält $true oder $false. Nichtts davon ist gleich $null.


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Montag, 21. Oktober 2019 19:08
  • Ja, das stimmt - habe gestern aus Gedächtnis eine der Lösungen gepostet.

    Aktuell scheint das hier zu funktionieren. Aber ich glaube die Lösung ist nicht so sauber / schön.

    $pfad		= 	"HKLM:\SOFTWARE\WOW6432Node\Intel\"
    $rechnername 	= 	$env:computername
    $inhalt		=	@("V1","V2","V3","V4","V5","V6","V7")
    
    for ($i=0; $i -lt $inhalt.length; $i++) {
    	$valueExists 	= 	(Get-Item $pfad -EA Ignore).Property -contains $inhalt[$i] 
    	if ($valueExists) { 
    		$eintrag = $inhalt[$i] 
    	}  
    }
    
    new-item 	E:\$eintrag\$rechnername.txt

    Dienstag, 22. Oktober 2019 07:11