क्या इसे करने का कोई तरीका है?
या मुझे रजिस्ट्री से मैन्युअल रूप से हर रिकॉर्ड लेना होगा?
क्या इसे करने का कोई तरीका है?
या मुझे रजिस्ट्री से मैन्युअल रूप से हर रिकॉर्ड लेना होगा?
जवाबों:
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.
Phooey उस के लिए, मैं कहता हूँ!
मैंने PuTTY सेटिंग्स को एक्सपोर्ट और इम्पोर्ट करने के लिए नीचे पॉवरशेल स्क्रिप्ट्स को एक साथ रखा। निर्यात की गई फ़ाइल एक .reg फ़ाइल है और अनुमति होने पर सफाई से आयात करेगा, अन्यथा इसे लोड करने के लिए import.ps1 का उपयोग करें।
चेतावनी : इस तरह रजिस्ट्री के साथ खिलवाड़ करना एक बुरा आइडिया है, और मैं वास्तव में नहीं जानता कि मैं क्या कर रहा हूं। अपने स्वयं के जोखिम पर नीचे दिए गए लिपियों का उपयोग करें, और अपने आईटी विभाग को अपनी मशीन को फिर से छवि देने के लिए तैयार रहें और आपसे असहज प्रश्न पूछें कि आप क्या कर रहे थे।
स्रोत मशीन पर:
.\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"
गैर-मुहावरेदार कोड के लिए माफी, मैं पॉवर्सशेल से बहुत परिचित नहीं हूं। सुधारों का स्वागत है!
लॉन्च लॉन्च करें, फिर ओपन ड्रॉप डाउन विंडो में टाइप करें: regedit
विंडो के एक्सप्लोरर की तरह ही नेविगेट करें:
HKEY_CURRENT_USER \ Software \ SimonTatham
किया हुआ।
आप में से जिनको ऑफ़लाइन रजिस्ट्री फ़ाइल से पुट्टी आयात करने की आवश्यकता होती है, जैसे जब आप दुर्घटनाग्रस्त सिस्टम से उबर रहे होते हैं या बस एक नई मशीन पर जा रहे होते हैं और उस पुरानी ड्राइव से डेटा हड़पते हैं, तो एक और उपाय ध्यान देने योग्य है:
http://www.nirsoft.net/utils/registry_file_offline_export.html
यह महान और मुफ्त कंसोल एप्लिकेशन संपूर्ण रजिस्ट्री या केवल एक विशिष्ट रजिस्ट्री कुंजी निर्यात करेगा। मेरे मामले में मैंने बस रजिस्ट्री फाइल को एक पुराने ड्राइव से एक ही डायरेक्टरी में एक्सपोर्ट टूल के रूप में कॉपी किया और फिर मैंने एडमिनिस्ट्रेटर के रूप में CMD विंडो रन में कमांड और सिंटैक्स का उपयोग किया:
RegFileExport.exe NTUSER.DAT putty.reg "HKEY_CURRENT_USER \ Software \ SimonTatham"
.Reg फ़ाइल आयात करने और पुट्टी शुरू करने के बाद सब कुछ था। सरल और कुशल।
जो लोग रजिस्ट्री के साथ गड़बड़ नहीं करना चाहते हैं, उनके लिए फ़ाइल को सहेजने वाली पोटीन की विविधता बनाई गई है। यह यहाँ स्थित है: http://jakub.kotrla.net/putty/
यह अच्छा होगा यदि पोटीन टीम इसे मुख्य वितरण में एक विकल्प के रूप में ले जाएगी।
यह इतना आसान था कि ऊपर बताए गए की तुलना में रजिस्ट्री निर्यात को आयात करना आसान था। + बस:
विन 7 प्रो पर एक विजेता की तरह काम किया।
उदाहरण:
कैसे एक उपयोगकर्ता खाते से दूसरे खाते में पोटीन विन्यास और सत्र विन्यास स्थानांतरित करने के लिए जैसे एक नया खाता बनाया और पुराने खाते से पोटीन सत्र / विन्यास का उपयोग करना चाहते हैं
प्रक्रिया:
- पुराने खाते से एक फ़ाइल में रजिस्ट्री कुंजी निर्यात करें
- नए खाते में फ़ाइल से रजिस्ट्री कुंजी आयात करें
निर्यात reg कुंजी: (OLD खाते से)
आयात reg कुंजी: (नए खाते में)
नए खाते में लॉगिन करें जैसे कि टॉम
सामान्य 'कमांड प्रॉम्प्ट' खोलें (व्यवस्थापक नहीं!)
'Regedit' टाइप करें
मेनू से 'आयात' चुनें
'Puttyconfig.reg' जैसे आयात करने के लिए रजिस्ट्री फ़ाइल का चयन करें
किया हुआ
नोट:
सेटिंग्स के तहत स्थित '[HKEY_CURRENT_USER ...] के रूप में' व्यवस्थापक कमांड प्रॉम्प्ट 'का उपयोग न करें और regedit व्यवस्थापक के रूप में चलेगा और व्यवस्थापक-उपयोगकर्ता के लिए उस अनुभाग को प्रदर्शित करेगा, बल्कि उपयोगकर्ता से और / या स्थानांतरित करने के लिए। सेवा।
डेटा आयात करने के लिए बुमेरांग के समाधान में सुधार PuTTY portable
।
केवल निर्यात नहीं किया गया putty.reg
(m0nhawk समाधान के साथ) PuTTYPortable\Data\settings\
काम नहीं किया। PuTTY पोर्टेबल बैकअप फ़ाइल और एक नया खाली एक बनाएँ।
इस समस्या को हल करने के लिए, putty.reg
मैन्युअल रूप से कॉपी किए जा रहे दोनों को मर्ज करें जिसे आप अपने निर्यात से माइग्रेट करना चाहते हैं नीचे दी putty.reg
गई नई PuTTYPortable\Data\settings\putty.reg
लाइनों के नीचे।
REGEDIT4
[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY]
"RandSeedFile"="D:\\Programme\\PuTTYPortable\\Data\\settings\\PUTTY.RND"
@ M0nhawk द्वारा पोस्ट किया गया उत्तर मुझे विंडोज 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 का उत्तर मेरे लिए विंडोज 10 पर काम नहीं करता था - इसके लिए एलिवेटेड कमांड प्रॉम्प्ट की आवश्यकता थी और एक फाइल को फेंकने से इनकार कर दिया।
इसने काम किया और ऊंचाई की आवश्यकता नहीं थी:
reg export HKEY_CURRENT_USER\Software\SimonTatham\PuTTY putty.reg
इस विधि का उपयोग करके बड़े पैमाने पर कॉन्फ़िगरेशन परिवर्तन करना संभव है, जैसे कि सभी सत्र फ़ॉन्ट को बदलना।
यहां से निकाला गया: http://www.sysadmit.com/2015/11/putty-exportar-configuracion.html
मैं पोटीन कनेक्शन प्रबंधक का उपयोग करता हूं जहां आप सत्रों का एक डेटाबेस बनाते हैं। उस डेटाबेस को अन्य कंप्यूटरों में कॉपी करना और आयात करना आसान है।
इस आसान गाइड को देखें
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 }
}
}
यदि आप, मेरी तरह, नए विंडोज को स्थापित करते हैं और केवल आपके द्वारा पोटीन सत्रों के बारे में याद रखने के बाद , आप अभी भी उन्हें आयात कर सकते हैं, यदि आपके पास पुरानी विंडोज हार्ड ड्राइव है या कम से कम आपके पुराने "होम" डायरेक्टरी का बैकअप है ( C:\Users\<user_name>
)।
इस निर्देशिका में NTUSER.DAT
फ़ाइल होनी चाहिए । यह डिफ़ॉल्ट रूप से छिपा हुआ है, इसलिए आपको अपने विंडोज एक्सप्लोरर में छिपी हुई फ़ाइलों को सक्षम करना चाहिए या किसी अन्य फ़ाइल ब्राउज़र का उपयोग करना चाहिए। इस फ़ाइल में HKEY_CURRENT_USER
आपकी पुरानी Windows रजिस्ट्री की शाखा है।
इसका उपयोग करने के लिए, आपको regedit
अपने नए विंडोज पर खोलने की जरूरत है , और HKEY_USERS
कुंजी का चयन करें ।
फिर चुनें File
-> Load Hive...
और अपने पुराने "होम" को अपने पुराने विंडोज इंस्टॉलेशन की निर्देशिका खोजें। इस निर्देशिका में NTUSER.DAT
फ़ाइल होनी चाहिए । यह डिफ़ॉल्ट रूप से छिपा हुआ है, इसलिए, यदि आपने अपने विंडोज एक्सप्लोरर गुणों में छिपी हुई फ़ाइलों को दिखाने में सक्षम नहीं किया है, तो आप बस File name
"लोड हाइव" संवाद के इनपुट बॉक्स में फ़ाइल नाम दर्ज कर सकते हैं और दबा सकते हैं Enter। फिर अगले संवाद विंडो में पुरानी रजिस्ट्री को लोड करने के लिए कुछ मुख्य नाम दर्ज करें। उदा tmp
।
आपकी पुरानी रजिस्ट्री की HKEY_CURRENT_USER
शाखा अब HKEY_USERS\tmp
आपकी वर्तमान रजिस्ट्री की शाखा के तहत सुलभ होनी चाहिए ।
अब फ़ाइल HKEY_USERS\tmp\Software\SimonTatham
में शाखा निर्यात करें putty.reg
, अपने पसंदीदा पाठ संपादक में इस फ़ाइल को खोलें और सभी HKEY_USERS\tmp
स्ट्रिंग को ढूंढें और बदलें HKEY_CURRENT_USER
। अब .reg
फाइल को सेव करें ।
अब आप इस फाइल को अपनी मौजूदा विंडोज रजिस्ट्री में डबल-क्लिक करके आयात कर सकते हैं। यह करने के लिए m0nhawk का उत्तर देखें ।
अंत HKEY_USERS\tmp
में, रजिस्ट्री संपादक में शाखा का चयन करें और फिर चयन करें File
-> Unload Hive...
और इस ऑपरेशन की पुष्टि करें।