如何导出PUTTY会话列表?
有没有办法做到这一点?
或者我必须手动从registry手动每个logging?
出口
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
电源shell:
只有会议:
reg export HKCU\Software\SimonTatham\PuTTY\Sessions ([Environment]::GetFolderPath("Desktop") + "\putty-sessions.reg")
所有设置:
reg export HKCU\Software\SimonTatham ([Environment]::GetFolderPath("Desktop") + "\putty.reg")
import
双击*.reg
文件并接受导入。
替代方法:
cmd.exe
, 需要提升命令提示符:
regedit /i putty-sessions.reg regedit /i putty.reg
电源shell:
reg import putty-sessions.reg reg import putty.reg
注意 : 不要用您的用户名replace SimonTatham
。
注意 :它将在当前用户的桌面上创build一个reg
文件。
注意 :它不会导出相关的SSH密钥。
当我尝试其他解决scheme时,我得到这个错误:
Registry editing has been disabled by your administrator.
Phooey,我说!
我将下面的PowerShell脚本放在一起,用于导出和导入PuTTY设置。 导出的文件是一个Windows .reg文件,如果您有权限,将导入干净,否则使用import.ps1加载它。
警告 :像这样搞乱registry是个坏主意,而且我真的不知道我在做什么。 使用下面的脚本需要您自担风险,并且准备好让IT部门重新映像您的机器,并询问您有关您正在做什么的不舒服问题。
在源机器上:
.\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不是很熟悉。 改进是值得欢迎的!
如果您要在PuTTY Portable
上导入设置您可以使用putty.reg
文件。
只要把它放到这个path[path_to_Your_portable_apps]PuTTYPortable\Data\settings\putty.reg
。 程序将导入它
-
启动运行,然后键入打开下拉窗口:regedit
-
导航到,就像在Windows资源pipe理器中一样:
HKEY_CURRENT_USER \ SOFTWARE \ SimonTatham - 右键单击“SimonTatham”键(目录图标),select导出
给文件一个名字(比如说)putty.reg,并保存到你的位置
以后使用。 - closuresregistry编辑器
完成。
对于那些需要从离线registry文件导入Putty的人,例如,当你从崩溃的系统中恢复时,或者只是移动到一台新的机器上,并从旧的驱动器上抓取数据时,还有一个值得一提的解决scheme:
http://www.nirsoft.net/utils/registry_file_offline_export.html
这个伟大的免费控制台应用程序将导出整个registry或只有一个特定的registry项。 在我的情况下,我只是将registry文件从一个旧的驱动器复制到导出工具相同的目录,然后我在CMD窗口中使用以下命令和语法以pipe理员身份运行:
RegFileExport.exe NTUSER.DAT putty.reg“HKEY_CURRENT_USER \ Software \ SimonTatham”
导入.reg文件并启动Putty之后,所有内容都在那里。 简单而高效。
导入registry导出比上面提到的要容易得多。 +简单地说:
- 右键单击该文件
- select“合并”
像Win 7 Pro的冠军一样工作。
Bumerang将数据导入PuTTY portable
解决scheme的改进。
简单地将导出的putty.reg
(使用m0nhawk解决scheme)移动到PuTTYPortable\Data\settings\
不起作用。 PuTTY便携式文件备份并创build一个新的空的。
要解决此问题, putty.reg
两个putty.reg
手动合并,将您要从导出的putty.reg
迁移的configuration文件手动复制到下面几行中新创build的PuTTYPortable\Data\settings\putty.reg
。
REGEDIT4 [HKEY_CURRENT_USER\Software\SimonTatham\PuTTY] "RandSeedFile"="D:\\Programme\\PuTTYPortable\\Data\\settings\\PUTTY.RND"
对于那些不想乱用registry的人来说,已经创build了一个保存到文件中的putty的变体。 它位于: http : //jakub.kotrla.net/putty/
如果腻子团队将此作为主要分布的一个选项,那将是很好的。
使用此方法也可以执行批量configuration更改,例如更改所有会话字体。
- 导出到.reg
- 执行search并replace.reg
- 删除所有会话
- 导入新的.reg
从这里提取: http : //www.sysadmit.com/2015/11/putty-exportar-configuracion.html
@ m0nhawk发布的答案似乎不起作用,因为我在Windows 7机器上testing。 相反,使用以下脚本将导出/导入putty的设置:
::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
例:
如何将腻子configuration和会话configuration从一个用户帐户转移到另一个用户帐户,例如创build新帐户并希望使用旧帐户的腻子会话/configuration
处理:
– 从旧帐户导出registry项到文件中
– 从文件导入registry项到新帐户
导出注册码 (从旧账户)
- login到旧账户,例如tomold
- 打开正常的“命令提示符”(不是pipe理员!)
- 键入“regedit”
- 导航到存储configuration的registry部分,例如[HKEY_CURRENT_USER \ SOFTWARE \ SimonTatham]并点击它
- 从文件菜单中select“导出”或单击鼠标右键(无线电button“选定的分支”)
- 保存到文件并命名它,例如'puttyconfig.reg'
- 再次注销
导入注册码:( 进入新账户)
-
login到新的帐户,如汤姆
-
打开正常的“命令提示符”(不是pipe理员!)
-
键入“regedit”
-
从菜单中select“导入”
-
select要导入的registry文件,例如'puttyconfig.reg'
-
完成
注意:
不要使用“pipe理员命令提示符”作为设置位于“[HKEY_CURRENT_USER …]”和registry将作为pipe理员运行,并显示该部分pipe理员用户,而不是为用户转移和/或。
m0nhawk的答案在Windows 10上不适用于我 – 它需要提升命令提示符并拒绝发送文件。
这工作,并没有要求boost:
reg export HKEY_CURRENT_USER\Software\SimonTatham\PuTTY putty.reg
我使用腻子连接pipe理器来创build会话数据库。 将数据库复制并导入到其他计算机很容易。
看到这个方便的指南