Есть ли способ сделать это?
Или мне нужно вручную записывать каждую запись из реестра?
Есть ли способ сделать это?
Или мне нужно вручную записывать каждую запись из реестра?
cmd.exe, запросите повышенную подсказку:Только сеансы:
regedit /e "%USERPROFILE%\Desktop\putty-sessions.reg" HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions
Все настройки:
regedit /e "%USERPROFILE%\Desktop\putty.reg" HKEY_CURRENT_USER\Software\SimonTatham
Только сеансы:
reg export HKCU\Software\SimonTatham\PuTTY\Sessions ([Environment]::GetFolderPath("Desktop") + "\putty-sessions.reg")
Все настройки:
reg export HKCU\Software\SimonTatham ([Environment]::GetFolderPath("Desktop") + "\putty.reg")
Дважды щелкните файл *.reg и примите импорт.
cmd.exe, требуется повышенная командная строка:regedit /i putty-sessions.reg
regedit /i putty.reg
reg import putty-sessions.reg
reg import putty.reg
Примечание.  не заменяйте SimonTatham своим именем пользователя.
Примечание. Он создаст файл reg на рабочем столе текущего пользователя.
Примечание. Он будет не экспортировать связанные SSH-ключи.
Когда я попробовал другие решения, я получил эту ошибку:
Registry editing has been disabled by your administrator.
Прошу прощения, я говорю!
Я собрал приведенные ниже сценарии powershell для экспорта и импорта настроек PuTTY. Экспортированный файл является файлом .reg и Windows. Он будет автоматически импортироваться, если у вас есть разрешение, иначе используйте import.ps1 для его загрузки.
Предупреждение: возиться с реестром, как будто это Bad Idea ™, и я не знаю, что я делаю. Используйте приведенные ниже сценарии на свой страх и риск и будьте готовы к тому, чтобы ваш ИТ-отдел повторно просмотрел вашу машину и задал вам неудобные вопросы о том, что вы делаете.
На исходном компьютере:
.\export.ps1
На целевой машине:
.\import.ps1 > cmd.ps1
# Examine cmd.ps1 to ensure it doesn't do anything nasty
.\cmd.ps1
export.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
}
import.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"
Извинения за неидиоматический код, я не очень хорошо знаком с Powershell. Усовершенствования приветствуются!
Запуск запуска, затем введите раскрывающееся окно Open: regedit
Перейдите к, как в проводнике окон: 
HKEY_CURRENT_USER\Software\SimonTatham
Готово.
Если вы хотите импортировать настройки в PuTTY Portable, вы можете использовать файл putty.reg.
Просто поставьте его на этот путь [path_to_Your_portable_apps]PuTTYPortable\Data\settings\putty.reg. Программа импортирует его
Для тех из вас, кто должен импортировать Putty из автономного файла реестра, например. когда вы восстанавливаетесь из разбитой системы или просто переходите на новую машину и захватываете данные с этого старого диска, стоит упомянуть еще одно решение:
http://www.nirsoft.net/utils/registry_file_offline_export.html
Это прекрасное и бесплатное консольное приложение будет экспортировать весь реестр или только конкретный раздел реестра. В моем случае я просто скопировал файл реестра с старого диска в тот же каталог, что и инструмент-экспортер, а затем я использовал следующую команду и синтаксис в окне CMD: Администратор:
RegFileExport.exe NTUSER.DAT putty.reg "HKEY_CURRENT_USER\Software\SimonTatham"
После импорта файла .reg и запуска Putty все было там. Простой и эффективный.
Это было намного проще импортировать экспорт реестра, чем указано выше. + Просто:
Работал как чемпион на Win 7 Pro.
Для тех, кто не хочет связываться с реестром, была создана вариация замазки, которая сохраняет файл. Он расположен здесь: http://jakub.kotrla.net/putty/
Было бы неплохо, если бы команда шпатлевки принимала это как опцию в основной дистрибутив.
Улучшение решения bumerang для импорта данных в PuTTY portable.
Простое перемещение экспортированного putty.reg (с решением m0nhawk) в PuTTYPortable\Data\settings\ не сработало. PuTTY Portable резервное копирование файла и создание нового пустого.
Чтобы обойти эту проблему, объедините оба putty.reg, скопировав вручную конфигурацию, которую вы хотите перенести из экспортированного putty.reg, на вновь созданный PuTTYPortable\Data\settings\putty.reg ниже следующих строк.
REGEDIT4
[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY]
"RandSeedFile"="D:\\Programme\\PuTTYPortable\\Data\\settings\\PUTTY.RND"
  Пример: 
Как передать конфигурацию штейна и конфигурацию сеанса из одной учетной записи пользователя в другую, например. при создании новой учетной записи и хотите использовать сеансы/конфигурации шпатлевки из старой учетной записи
  Процесс: 
 - Экспорт ключа реестра из старой учетной записи в файл 
 - Импортировать ключ реестра из файла в новую учетную запись
  Экспорт ключа reg: (из учетной записи OLD) 
  Импортировать ключ reg: (в учетную запись NEW) 
Войдите в новую учетную запись, например. Том
Откройте обычную "командную строку" (НЕ admin!)
Введите 'regedit'
Выберите "Импорт" в меню
Выберите файл реестра для импорта, например. 'Puttyconfig.reg'
Готово
  Примечание: 
Не используйте "командную строку администратора", поскольку параметры находятся в разделе "[HKEY_CURRENT_USER...]", а regedit будет запускаться как администратор и показывать этот раздел для пользователя-администратора, а не для передачи пользователем и/или.
Ответ, отправленный @m0nhawk, кажется, не работает, поскольку я тестирую машину Windows 7. Вместо этого, используя следующие скрипты, вы можете экспортировать/импортировать настройки шпатлевки:
::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 не работал у меня в Windows 10 - для этого требовалась повышенная командная строка и отказался выдавать файл.
Это сработало и не требовало повышения:
reg export HKEY_CURRENT_USER\Software\SimonTatham\PuTTY putty.reg
Используя этот метод, можно также выполнить массовые изменения конфигурации, такие как изменение шрифта всех сеансов.
Извлечен здесь: http://www.sysadmit.com/2015/11/putty-exportar-configuracion.html
Я использую менеджер соединений putty, где вы создаете базу данных сеансов. Легко копировать и импортировать эту базу данных на другие компьютеры.
Смотрите удобное руководство
 Существует сценарий PowerShell на ratil.life/first-useful-powershell-script-putty-to-ssh-config, который может преобразовывать сеансы в формат, который можно использовать в .ssh/config. Его также можно найти на GitHub.
Эта выдержка содержит основные кишки кода и будет печатать полученную конфигурацию непосредственно в 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 }
    }
}
Если вы, как и я, установили новую Windows и только после того, как вспомнили о сеансах замазки, вы все равно можете импортировать их, если у вас есть старый жесткий диск Windows или, по крайней мере, ваш старый "домашний" каталог скопирован (C:\Users\<user_name>).
В этом каталоге должен быть файл NTUSER.DAT. По умолчанию он скрыт, поэтому вы должны включить скрытые файлы в проводнике Windows или использовать другой файловый браузер. Этот файл содержит ветку HKEY_CURRENT_USER вашего старого реестра Windows.
Чтобы использовать его, вам нужно открыть regedit в новой Windows и нажать клавишу HKEY_USERS.
Затем выберите File → Load Hive... и найдите старый "домашний" каталог вашей старой установки Windows. В этом каталоге должен быть файл NTUSER.DAT. По умолчанию он скрыт, поэтому, если вы не включили отображение скрытых файлов в свойствах проводника Windows, вы можете просто вручную ввести имя файла в поле ввода File name диалогового окна "Загрузка куста" и нажать Enter. Затем в следующем диалоговом окне введите имя ключа, чтобы загрузить в него старый реестр. например tmp.
Ваша старая ветка реестра HKEY_CURRENT_USER теперь должна быть доступна в ветке HKEY_USERS\tmp вашего текущего реестра.
Теперь экспортируйте ветку HKEY_USERS\tmp\Software\SimonTatham в файл putty.reg, откройте этот файл в вашем любимом текстовом редакторе и найдите и замените всю строку HKEY_USERS\tmp на HKEY_CURRENT_USER. Теперь сохраните файл .reg.
Теперь вы можете импортировать этот файл в текущий реестр Windows, дважды щелкнув по нему. См. ответ m0nhawk, как это сделать.
В конце выберите ветку HKEY_USERS\tmp в редакторе реестра, затем выберите File → Unload Hive... и подтвердите эту операцию.