Mengekspor kunci dalam file .reg menggunakan Powershell

0

Saya perlu mengubah beberapa nilai kunci dalam registri Windows 7, untuk menambahkan parameter ke perintah meluncurkan VLC.

Untungnya semua kunci adalah anak-anak kunci yang dimulai dengan VLC.:

masukkan deskripsi gambar di sini

Perintah untuk Opendan PlayWithVLCharus diedit. Saya sedang memikirkan:

  • mengekspor kunci dalam file .reg,
  • mengedit nilai secara eksternal untuk ditambahkan --no-playlist-enqueueke baris
  • mengimpor kembali file .reg di registri.

Keahlian saya dalam PowerShell terbatas, saya menganggap kode tersebut harus seperti ini:

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

tapi saya terjebak pada titik ini. Bisakah Anda memberi saya nasihat tentang bagaimana untuk melangkah lebih jauh?

mnt
sumber
Gambar yang Anda tautkan tidak berfungsi. Bisakah Anda memperbaruinya?
Cancun101

Jawaban:

1

OK, keterampilan PS terbatas dan Anda ingin mengotomatiskan mengacaukan registri.

Uhhhhh ... kamu yakin? 8-}

Semua itu dikatakan.

Apa yang Anda tunjukkan di sini baik-baik saja dengan pengecualian bahwa Anda tidak menunjukkan nilai yang akan ditetapkan atau perintah untuk mengatur kunci registri.

Cmdlet ini adalah yang dapat Anda gunakan untuk berurusan dengan registri.

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

Pastikan untuk melihat file bantuan dan contohnya sebelum digunakan juga.

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

Modul ini berisi fungsi untuk membuat, mengubah, atau menghapus subkunci dan nilai registri pada komputer lokal atau jarak jauh.

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

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

Seperti yang kita ketahui mengacaukan registri bisa sangat menyakitkan jika Anda tidak hati-hati. Jadi, cadangkan dulu sehingga Anda dapat memulihkan jika terjadi bencana atau setidaknya ke titik pemulihan sistem, VM checkpoint / snapshot.

Jadi, inilah sedikit modifikasi pada kode yang Anda posting, tetapi jangan menganggap ini sebagai final karena Anda perlu membuat keputusan tentang tindakan apa yang perlu diambil dan bagaimana caranya.

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
          }
}
postanote
sumber