Як редагувати частину значення реєстру


0

Я шукаю спосіб видалити останні три букви з значення реєстру.

Приклад:

[HKEY_CURRENT_USER Програмне забезпечення \ t

"Налаштування" = " ABCDDD "

Я хотів би, щоб це закінчилося так:

[HKEY_CURRENT_USER] Програмне забезпечення є] \ t

"Налаштування" = " ABC "

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

Дякую!

З повагою Фредрік


Цей сайт не є службою написання сценаріїв, що ви пробували?
spikey_richie

Відповіді:


0

Оскільки це досить коротко, це може призвести до вимкнення:

$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

Ви можете скористатися методом видалення. Тобто. змінити лінію SubString на: $strNew = $strValue.Remove(3,3) Це буде видалено з strValue, третій символ наступних 3 символів. Ви можете змінити $ value у верхній частині XXXYYYZZZ і тоді ви просто будете мати XXXZZZ
HelpingHand

Ще раз спасибі - це працює як шарм! Одне останнє питання. :) У полі Значення, я завжди хочу змінити 2012 рік на 2016 рік. Як: \ t Ім'я користувача \ t Або це може бути: TheYear2012WasGreat - & gt; Рік2016Великий. Я просто хочу підняти 2012 з рядка цінностей і змінити його на 2016 рік.
Fredrik Endresen

Чи достатньо просто використовувати: $strNew = $strValue.replace("2012","2016") для цього випадку?
HelpingHand
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.