Anleitung zum Bearbeiten eines Teils eines Registrierungswerts

433
Fredrik Endresen

Ich suche nach einer Möglichkeit, die letzten 3 Buchstaben aus einem Registrierungswert zu entfernen.

Beispiel:

[HKEY_CURRENT_USER \ Software \ Test]

"Setting" = " ABCDDD "

Ich möchte, dass es so endet:

[HKEY_CURRENT_USER \ Softw are \ Test]

"Setting" = " ABC "

Es sind immer 6 Buchstaben, und ich möchte immer die letzten 3 Zeichen entfernen. Ich ziehe es vor, dies mit GPO zu erreichen.

Vielen Dank!

Grüße Fredrik

0
Diese Seite ist kein Skript-Schreibservice. Was haben Sie bisher versucht? spikey_richie vor 6 Jahren 0

1 Antwort auf die Frage

0
HelpingHand

Da es ziemlich kurz ist, könnte dies einen Anlass geben:

$registryPath = "HKCU:\Software\Test\" #reg key $Name = "setting" #reg value $value = "ABCDDD" #default value if does not exist  IF(!(Test-Path $registryPath)) { #Key does not exist, create key and set default New-Item -Path $registryPath -Force | Out-Null New-ItemProperty -Path $registryPath -Name $name -Value $value -PropertyType String -Force | Out-Null } ELSE  { #Key exists, read existing value and trim $strValue = (Get-ItemProperty -Path $registryPath).($Name) $strNew = $strValue.SubString(0,3) New-ItemProperty -Path $registryPath -Name $name -Value $strNew -PropertyType String -Force | Out-Null } 
Vielen Dank "HelpingHand"! Das wird den Trick tun! :) Kann ich dich noch eins fragen? Lassen Sie uns sagen, der Wert war: XXXZZZYYY und ich möchte die 3 Buchstaben in der Mitte zurechtschneiden und mit einem Wert wie diesem beenden: XXXYYY Wäre das auch mit PS möglich? Danke noch einmal! Fredrik Endresen vor 6 Jahren 0
Sie können die Remove-Methode verwenden. Dh ändern Sie die Zeile des SubString in: $ strNew = $ strValue.Remove (3,3) `Dies entfernt das dritte Zeichen von strValue, die nächsten 3 Zeichen. Sie können den $ -Wert oben in "XXXYYYZZZ" ändern und haben dann nur noch "XXXZZZ" HelpingHand vor 6 Jahren 0
Nochmals vielen Dank - es funktioniert wie ein Zauber! Eine letzte Frage. :) In einem Wertefeld möchte ich immer 2012 mit 2016 ändern. Wie: \\ Servername \ 2012server \ Pfad \ -> \\ Servername \ 2016server \ Pfad \. Oder es könnte sein: TheYear2012WasGreat -> TheYear2016WasGreat. Ich möchte nur 2012 von value string abholen und es in 2016 ändern. Fredrik Endresen vor 6 Jahren 0
Wäre es ausreichend, nur $ strNew = $ strValue.replace ("2012", "2016") für diesen Fall zu verwenden? HelpingHand vor 6 Jahren 0