Apakah ada cara untuk melakukan hal ini?
Atau aku harus mengambil secara manual setiap catatan dari Registry?
cmd.exe
, membutuhkan peningkatan prompt:Hanya sesi:
regedit /e "%USERPROFILE%\Desktop\putty-sessions.reg" HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions
Semua pengaturan:
regedit /e "%USERPROFILE%\Desktop\putty.reg" HKEY_CURRENT_USER\Software\SimonTatham
Hanya sesi:
reg export HKCU\Software\SimonTatham\PuTTY\Sessions ([Environment]::GetFolderPath("Desktop") + "\putty-sessions.reg")
Semua pengaturan:
reg export HKCU\Software\SimonTatham ([Environment]::GetFolderPath("Desktop") + "\putty.reg")
Double-klik pada *.reg
file dan menerima impor.
cmd.exe
, membutuhkan command prompt:regedit /i putty-sessions.reg
regedit /i putty.reg
reg import putty-sessions.reg
reg import putty.reg
Catatan: jangan mengganti SimonTatham
dengan username anda.
Catatan: Itu akan membuat reg
file pada Desktop pengguna saat ini.
Catatan: Itu akan tidak ekspor terkait SSH keys.
Ketika saya mencoba solusi lain yang saya punya kesalahan ini:
Registry editing has been disabled by your administrator.
Phooey untuk itu, saya katakan!
Saya menempatkan bersama-sama di bawah ini powershell script untuk mengekspor dan mengimpor Dempul pengaturan. File yang diekspor adalah windows .reg file dan akan mengimpor bersih jika anda memiliki izin, jika tidak menggunakan impor.ps1 untuk beban itu.
Peringatan: bermain-main dengan registry seperti ini adalah Ide yang Buruk™, dan saya don't benar-benar tahu apa yang saya'm lakukan. Gunakan script di bawah ini pada risiko anda sendiri, dan bersiaplah untuk memiliki departemen IT anda ulang-gambar mesin anda dan meminta anda pertanyaan tidak nyaman tentang apa yang anda lakukan.
Pada mesin sumber:
.\export.ps1
Pada mesin target:
.\import.ps1 > cmd.ps1
# Examine cmd.ps1 to ensure it doesn't do anything nasty
.\cmd.ps1
ekspor.ps1
# All settings
$registry_path = "HKCU:\Software\SimonTatham"
# Only sessions
#$registry_path = "HKCU:\Software\SimonTatham\PuTTY\Sessions"
$output_file = "putty.reg"
$registry = ls "$registry_path" -Recurse
"Windows Registry Editor Version 5.00" | Out-File putty.reg
"" | Out-File putty.reg -Append
foreach ($reg in $registry) {
"[$reg]" | Out-File putty.reg -Append
foreach ($prop in $reg.property) {
$propval = $reg.GetValue($prop)
if ("".GetType().Equals($propval.GetType())) {
'"' + "$prop" + '"' + "=" + '"' + "$propval" + '"' | Out-File putty.reg -Append
} elseif ($propval -is [int]) {
$hex = "{0:x8}" -f $propval
'"' + "$prop" + '"' + "=dword:" + $hex | Out-File putty.reg -Append
}
}
"" | Out-File putty.reg -Append
}
impor.ps1
$input_file = "putty.reg"
$content = Get-Content "$input_file"
"Push-Location"
"cd HKCU:\"
foreach ($line in $content) {
If ($line.StartsWith("Windows Registry Editor")) {
# Ignore the header
} ElseIf ($line.startswith("[")) {
$section = $line.Trim().Trim('[', ']')
'New-Item -Path "' + $section + '" -Force' | %{ $_ -replace 'HKEY_CURRENT_USER\\', '' }
} ElseIf ($line.startswith('"')) {
$linesplit = $line.split('=', 2)
$key = $linesplit[0].Trim('"')
if ($linesplit[1].StartsWith('"')) {
$value = $linesplit[1].Trim().Trim('"')
} ElseIf ($linesplit[1].StartsWith('dword:')) {
$value = [Int32]('0x' + $linesplit[1].Trim().Split(':', 2)[1])
'New-ItemProperty "' + $section + '" "' + $key + '" -PropertyType dword -Force' | %{ $_ -replace 'HKEY_CURRENT_USER\\', '' }
} Else {
Write-Host "Error: unknown property type: $linesplit[1]"
exit
}
'Set-ItemProperty -Path "' + $section + '" -Name "' + $key + '" -Value "' + $value + '"' | %{ $_ -replace 'HKEY_CURRENT_USER\\', '' }
}
}
"Pop-Location"
Mohon maaf untuk yang non-idiomatis kode, saya'm tidak sangat akrab dengan Powershell. Perbaikan are welcome!
Peluncuran Berjalan, kemudian ketik Membuka drop-down jendela: regedit
Menavigasi ke, sama seperti di Jendela's Explorer: HKEY_CURRENT_USER\Software\SimonTatham
Klik kanan pada 'SimonTatham' kunci (direktori icon), pilih Ekspor Berikan nama file (katakanlah) dempul.reg dan menyimpannya ke lokasi anda untuk digunakan nanti.
Tutup Registry Editor.
Dilakukan.
Bagi anda yang memerlukan untuk impor Dempul dari offline file registri misalnya ketika anda pulih dari jatuh sistem atau hanya pindah ke sebuah mesin baru dan mengambil data dari drive lama ada satu solusi yang lebih layak disebut:
http://www.nirsoft.net/utils/registry_file_offline_export.html
Ini menyenangkan dan gratis aplikasi konsol akan mengekspor seluruh daftar atau hanya tertentu registry key. Dalam kasus saya, saya hanya menyalin registry file dari drive lama ke direktori yang sama sebagai eksportir alat dan kemudian saya menggunakan perintah berikut dan sintaks di jendela CMD run as administrator:
RegFileExport.exe NTUSER.DAT dempul.reg "HKEY_CURRENT_USER\Software\SimonTatham"
Setelah mengimpor .reg file dan mulai Dempul semuanya ada di sana. Sederhana dan efisien.
Ini adalah jauh lebih mudah mengimpor registry ekspor dari apa yang dinyatakan di atas.
Bekerja seperti juara pada Win 7 Pro.
Bagi mereka yang don't ingin main-main dengan registry, variasi dempul yang menyimpan ke file yang telah dibuat. Hal ini terletak di sini: http://jakub.kotrla.net/putty/
Akan lebih baik jika dempul tim akan mengambil ini sebagai pilihan utama distribusi.
Contoh:
Bagaimana untuk mentransfer dempul konfigurasi dan sesi konfigurasi dari salah satu pengguna akun ke akun lain misalnya ketika membuat akun baru dan ingin menggunakan dempul sesi/konfigurasi dari akun lama
Proses:
Ekspor - kunci registri dari akun lama ke dalam sebuah file
Ekspor reg key: (dari akun LAMA)
Impor reg key: (ke akun BARU)
Login ke akun BARU misalnya tom
Buka normal 'command prompt' (BUKAN admin !)
Tipe 'regedit'
Pilih 'Import' dari menu
Pilih file registri untuk impor misalnya 'puttyconfig.reg'
Dilakukan
Catatan:
Jangan gunakan aplikasi 'admin command prompt' sebagai pengaturan yang terletak di bawah '[HKEY_CURRENT_USER...] 'dan regedit akan jalankan sebagai admin dan menunjukkan bahwa bagian admin-user ketimbang bagi pengguna untuk transfer dari dan/atau untuk.
Perbaikan untuk solusi bumerang untuk mengimpor data ke Dempul portabel
.
Hanya dengan menggerakkan diekspor dempul.reg
(dengan m0nhawk solusi) untuk PuTTYPortable\Data\pengaturan\
didn't bekerja. Dempul Portabel backup file dan membuat yang baru satu kosong.
Untuk solusi masalah ini, menggabungkan kedua dempul.reg
menyalin secara manual config anda ingin bermigrasi dari diekspor dempul.reg
untuk yang baru dibuat PuTTYPortable\Data\pengaturan\dempul.reg
di bawah baris berikut.
REGEDIT4
[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY]
"RandSeedFile"="D:\\Programme\\PuTTYPortable\\Data\\settings\\PUTTY.RND"
Jawabannya diposting oleh @m0nhawk doesn't tampaknya bekerja seperti yang saya tes di Windows 7 mesin. Sebaliknya, menggunakan script berikut akan ekspor/impor pengaturan dempul:
::export
@echo off
set regfile=putty.reg
pushd %~dp0
reg export HKCU\Software\SimonTatham %regfile% /y
popd
--
::import
@echo off
pushd %~dp0
set regfile=putty.reg
if exist %regfile% reg import %regfile%
popd
m0nhawk's jawaban didn't bekerja untuk saya pada Windows 10 menit itu diperlukan command prompt dan menolak untuk memancarkan sebuah file.
Ini bekerja dan tidak't membutuhkan elevasi:
reg export HKEY_CURRENT_USER\Software\SimonTatham\PuTTY putty.reg
Menggunakan metode ini juga memungkinkan untuk melakukan konfigurasi massa perubahan, seperti mengubah semua sesi huruf.
Diambil dari sini: http://www.sysadmit.com/2015/11/putty-exportar-configuracion.html
Saya menggunakan putty connection manager di mana anda membuat database sesi. It's mudah untuk copy dan import database ke komputer lain.
Melihat ini panduan praktis
Ada script PowerShell di ratil.kehidupan/pertama-berguna-powershell-naskah-dempul-untuk-ssh-config yang dapat mengkonversi sesi ke format yang dapat digunakan dalam .ssh/config
. Hal ini juga dapat ditemukan pada GitHub.
Kutipan ini berisi keberanian utama dari kode, dan akan mencetak hasil config langsung ke stdout:
# Registry path to PuTTY configured profiles
$regPath = 'HKCU:\SOFTWARE\SimonTatham\PuTTY\Sessions'
# Iterate over each PuTTY profile
Get-ChildItem $regPath -Name | ForEach-Object {
# Check if SSH config
if (((Get-ItemProperty -Path "$regPath\$_").Protocol) -eq 'ssh') {
# Write the Host for easy SSH use
$host_nospace = $_.replace('%20', $SpaceChar)
$hostLine = "Host $host_nospace"
# Parse Hostname for special use cases (Bastion) to create SSH hostname
$puttyHostname = (Get-ItemProperty -Path "$regPath\$_").HostName
if ($puttyHostname -like '*@*') {
$sshHostname = $puttyHostname.split("@")[-1]
}
else { $sshHostname = $puttyHostname }
$hostnameLine = "`tHostName $sshHostname"
# Parse Hostname for special cases (Bastion) to create User
if ($puttyHostname -like '*@*') {
$sshUser = $puttyHostname.split("@")[0..($puttyHostname.split('@').length - 2)] -join '@'
}
else { $sshHostname = $puttyHostname }
$userLine = "`tUser $sshUser"
# Parse for Identity File
$puttyKeyfile = (Get-ItemProperty -Path "$regPath\$_").PublicKeyFile
if ($puttyKeyfile) {
$sshKeyfile = $puttyKeyfile.replace('\', '/')
if ($prefix) { $sshKeyfile = $sshKeyfile.replace('C:', $prefix) }
$identityLine = "`tIdentityFile $sshKeyfile"
}
# Parse Configured Tunnels
$puttyTunnels = (Get-ItemProperty -Path "$regPath\$_").PortForwardings
if ($puttyTunnels) {
$puttyTunnels.split() | ForEach-Object {
# First character denotes tunnel type
$tunnelType = $_.Substring(0,1)
# Digits follow tunnel type is local port
$tunnelPort = $_ -match '\d*\d(?==)' | Foreach {$Matches[0]}
# Text after '=' is the tunnel destination
$tunnelDest = $_.split('=')[1]
if ($tunnelType -eq 'D') {
$tunnelLine = "`tDynamicForward $tunnelPort $tunnelDest"
}
ElseIf ($tunnelType -eq 'R') {
$tunnelLine = "`tRemoteForward $tunnelPort $tunnelDest"
}
ElseIf ($tunnelType -eq 'L') {
$tunnelLine = "`tLocalForward $tunnelPort $tunnelDest"
}
}
# Parse if Forward Agent is required
$puttyAgent = (Get-ItemProperty -Path "$regPath\$_").AgentFwd
if ($puttyAgent -eq 1) { $agentLine = "`tForwardAgent yes" }
# Parse if non-default port
$puttyPort = (Get-ItemProperty -Path "$regPath\$_").PortNumber
if (-Not $puttyPort -eq 22) { $PortLine = "`tPort $puttyPort" }
}
# Build output string
$output = "$hostLine`n$hostnameLine`n$userLine`n$identityLine`n$tunnelLine`n$agentLine`n"
# Output to file if set, otherwise STDOUT
if ($outfile) { $output | Out-File $outfile -Append}
else { Write-Host $output }
}
}
Jika anda, seperti saya, diinstal Windows baru dan hanya setelah anda ingat tentang dempul sesi, anda masih dapat mengimpor mereka, jika anda memiliki Windows lama hard drive atau setidaknya anda tua "rumah" direktori didukung (C:\Users\<user_name>
).
Dalam direktori ini harus ada NTUSER.DAT
file. Tersembunyi secara default, jadi anda harus mengaktifkan file yang tersembunyi di Windows explorer atau menggunakan file browser lain. File ini berisi HKEY_CURRENT_USER
cabang tua anda registri Windows.
Untuk menggunakannya, anda perlu membuka regedit
pada Jendela baru, dan pilih HKEY_USERS
kunci.
Kemudian pilih File
-> Beban Sarang...
dan menemukan tua "rumah" direktori instalasi Windows lama. Dalam direktori ini harus ada NTUSER.DAT
file. Tersembunyi secara default, jadi, jika anda tidak't untuk mengaktifkan show hidden file di Windows explorer properties, maka anda dapat secara manual memasukkan nama file menjadi File name
kotak input "Beban Sarang" dialog dan tekan Enter. Kemudian di depan jendela dialog memasukkan beberapa nama kunci untuk memuat semua ke dalamnya. misalnya tmp
.
Anda semua's HKEY_CURRENT_USER
cabang sekarang harus dapat diakses bawah HKEY_USERS\tmp
cabang registri anda saat ini.
Sekarang ekspor HKEY_USERS\tmp\Software\SimonTatham
cabang ke dempul.reg
file, membuka file ini di editor teks favorit anda dan menemukan-dan-ganti semua HKEY_USERS\tmp
string dengan HKEY_CURRENT_USER
. Sekarang, simpan .reg
file.
Anda dapat mengimpor sekarang file ini ke anda saat ini Windows registry dengan mengklik dua kali itu. Lihat m0nhawk's jawaban bagaimana untuk melakukan hal ini.
Pada akhirnya, pilih HKEY_USERS\tmp
cabang di registry editor dan kemudian pilih File
-> Membongkar Sarang...
dan mengkonfirmasi operasi ini.