Экспорт ключей.файл reg с помощью Powershell

мне нужно изменить несколько значений ключей в реестре Windows 7, чтобы добавить параметр в команду запуска VLC.

к счастью, все ключи являются детьми ключей, начиная с VLC.:

enter image description here

команда Open и PlayWithVLC должен быть отредактирован. Я думаю о:

  • экспорт ключей в a .reg-файл,
  • внешнее редактирование значений для добавления --no-playlist-enqueue к line
  • повторный импорт .reg файл в реестр.

мои навыки в PowerShell ограничены, я предполагаю, что код должен быть примерно таким:

Get-ChildItem "Registry::HKCR" -Recurse -Force 
| where { $_.Name -match 'vlc.'}`
| ForEach-Object {
    try {
        <create .reg entry>
    }
    catch { }
}

но я застрял на этом этапе. Не могли бы вы дать мне совет, как действовать дальше?

23
задан mins
24.03.2023 7:27 Количество просмотров материала 2508
Распечатать страницу

1 ответ

ОК, ограниченные навыки PS, и вы хотите автоматизировать возиться с реестром.

... ты уверена? 8-}

все, что было сказано.

то, что вы показываете здесь, прекрасно, за исключением того, что вы не показываете значения, которые нужно установить, ни команду для установки раздела реестра.

эти командлеты можно использовать для работы с реестром.

Get-Command -CommandType Cmdlet -Name '*item*'


CommandType     Name                  ModuleName
-----------     ----                  ----------
Cmdlet          Clear-Item            Microsoft.PowerShell.Management
Cmdlet          Clear-ItemProperty    Microsoft.PowerShell.Management
Cmdlet          Copy-Item             Microsoft.PowerShell.Management
Cmdlet          Copy-ItemProperty     Microsoft.PowerShell.Management
Cmdlet          Get-ChildItem         Microsoft.PowerShell.Management
Cmdlet          Get-Item              Microsoft.PowerShell.Management
Cmdlet          Get-ItemProperty      Microsoft.PowerShell.Management
Cmdlet          Move-Item             Microsoft.PowerShell.Management
Cmdlet          Move-ItemProperty     Microsoft.PowerShell.Management
Cmdlet          New-Item              Microsoft.PowerShell.Management
Cmdlet          Remove-Item           Microsoft.PowerShell.Management
Cmdlet          Remove-ItemProperty   Microsoft.PowerShell.Management
Cmdlet          Set-Item              Microsoft.PowerShell.Management
Cmdlet          Set-ItemProperty      Microsoft.PowerShell.Management

обязательно посмотрите файлы справки и их примеры перед использованием в качестве этих также.

https://docs.microsoft.com/en-us/powershell/scripting/getting-started/cookbooks/working-with-registry-entries?view=powershell-6

https://blogs.technet.microsoft.com/heyscriptingguy/2015/04/02/update-or-add-registry-key-value-with-powershell

PSRemoteRegistry 1.0.0.0

этот модуль содержит функции для создания, изменения или удаления реестра подразделы и значения местных или удаленные компьютеры.

https://www.powershellgallery.com/packages/PSRemoteRegistry/1.0.0.0

https://stackoverflow.com/questions/28076128/powershell-export-multiple-keys-to-one-reg-file

Как мы знаем, возиться с реестром может очень больно, если вы не будете осторожны. Итак, сначала создайте резервную копию, чтобы вы могли восстановить, если произойдет катастрофа, или, по крайней мере, в точку восстановления системы, VM контрольная точка / снимок.

Итак, вот небольшое изменение в вашем опубликованном коде, но не принимайте это как окончательное, поскольку вам нужно принимать решения о том, какие действия необходимо предпринять и как.

Get-ChildItem "Registry::HKCR" -Recurse -Force `
| where { $_.Name -match 'vlc.'}`
| ForEach-Object {
    try {
            'Target key to modify / export / whatever'
            $_.Name
            # 'Registry code here' -WhatIf # remove the whatif if you are sure you are good with what you have
    }
    catch { 
               Write-Warning -Message 'Key not accessible' 
               $_.Name
          }
}
1
отвечен postanote 2023-03-25 15:15

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх