これを行う方法はありますか?
または、レジストリからすべてのレコードを手動で取得する必要がありますか?
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.
それにうんざりです、私は言います!
PuTTY 設定をエクスポートおよびインポートするために、以下の powershell スクリプトをまとめました。エクスポートされたファイルは Windows .reg ファイルであり、権限がある場合は正常にインポートされます。それ以外の場合は、import.ps1 を使用して読み込みます。
警告: このようにレジストリをいじるのは悪い考えです。自分が何をしているのかよくわかりません。以下のスクリプトは自己責任で使用してください。また、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 にあまり詳しくありません。改善大歓迎です!
ファイル名を指定して実行を起動し、[開く] ドロップダウン ウィンドウに次のように入力します。
Windows のエクスプローラーと同じように、
HKEY_CURRENT_USER\Software\SimonTatham に移動します。
終わり。
に設定をインポートするPuTTY Portable
場合は、ファイルを使用でき putty.reg
ます。
このパスに入れるだけ[path_to_Your_portable_apps]PuTTYPortable\Data\settings\putty.reg
です。プログラムはそれをインポートします
オフラインのレジストリ ファイルから Putty をインポートする必要がある場合、たとえばクラッシュしたシステムから復旧する場合や、単に新しいマシンに移動してその古いドライブからデータを取得する場合などには、言及する価値のあるもう 1 つの解決策があります。
http://www.nirsoft.net/utils/registry_file_offline_export.html
この優れた無料のコンソール アプリケーションは、レジストリ全体または特定のレジストリ キーのみをエクスポートします。私の場合、レジストリ ファイルを古いドライブからエクスポーター ツールと同じディレクトリにコピーしただけで、管理者として実行する CMD ウィンドウで次のコマンドと構文を使用しました。
RegFileExport.exe NTUSER.DAT putty.reg "HKEY_CURRENT_USER\Software\SimonTatham"
.reg ファイルをインポートして Putty を起動すると、すべてがそこにありました。シンプルで効率的。
レジストリをいじりたくない人のために、ファイルに保存するパテのバリエーションが作成されました。ここにあります: http://jakub.kotrla.net/putty/
パテ チームがこれをメイン ディストリビューションのオプションとして採用してくれるとよいのですが。
例:
あるユーザー アカウントから別のユーザー アカウントに putty 構成とセッション構成を転送する方法 (たとえば、新しいアカウントを作成し、古いアカウントの putty セッション/構成を使用したい場合)
プロセス:
- 古いアカウントからファイルにレジストリ キーをエクスポートする
- ファイルから新しいアカウントにレジストリ キーをインポートする
レジストリ キーのエクスポート: (OLD アカウントから)
登録キーのインポート: (新しいアカウントに)
トムなどの新しいアカウントにログインします
通常の「コマンドプロンプト」を開きます(管理者ではありません!)
「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
セッションのデータベースを作成するパテ接続マネージャーを使用します。そのデータベースを他のコンピューターにコピーしてインポートするのは簡単です。