ОК, ограниченные навыки 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
}
}