Как-изменить часть значения реестра

342
Fredrik Endresen

Я ищу способ удалить последние 3 буквы из значения реестра.

Пример:

[HKEY_CURRENT_USER \ Software \ Test]

"Setting" = " ABCDDD "

Я хотел бы, чтобы это закончилось так:

[HKEY_CURRENT_USER \ Softw are \ Test]

"Setting" = " ABC "

Это всегда 6 букв, и я всегда хочу удалить последние 3. Я предпочитаю добиться этого с помощью GPO.

Спасибо!

С уважением Фредрик

0
Этот сайт не является сервисом написания сценариев, что вы уже пробовали? spikey_richie 6 лет назад 0

1 ответ на вопрос

0
HelpingHand

Поскольку это довольно коротко, это может начать вас:

$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 } 
Большое спасибо "HelpingHand"! Это сделает свое дело! :) Могу ли я спросить вас еще один. Допустим, скажем, что Значение было: XXXZZZYYY, и я хочу обрезать \ удалить 3 буквы в середине и в итоге получить значение, подобное этому: XXXYYY Возможно ли это с PS? Еще раз спасибо! Fredrik Endresen 6 лет назад 0
Вы можете использовать метод Remove. Т.е. измените строку SubString на: `$ strNew = $ strValue.Remove (3,3)` Это удалит из strValue, 3-го символа, следующие 3 символа. Вы можете изменить значение $ вверху на «XXXYYYZZZ», и тогда у вас будет просто «XXXZZZ» HelpingHand 6 лет назад 0
Еще раз спасибо - это работает как шарм! И последний вопрос. :) В поле «Значение» я всегда хочу изменить 2012 на 2016 год. Например: \\ имя_сервера \ 2012server \ путь \ -> \\ имя_сервера \ 2016server \ путь \. Или это может быть: TheYear2012WasGreat -> TheYear2016WasGreat. Я просто хочу взять 2012 из строки значений и изменить его на 2016. Fredrik Endresen 6 лет назад 0
Было бы достаточно просто использовать: `$ strNew = $ strValue.replace (" 2012 "," 2016 ")` для этого случая? HelpingHand 6 лет назад 0

Похожие вопросы