এই কাজ করতে একটি উপায় আছে কি?
নাকি রেজিস্ট্রি থেকে আমাকে প্রতিটি রেকর্ড ম্যানুয়ালি নিতে হবে?
এই কাজ করতে একটি উপায় আছে কি?
নাকি রেজিস্ট্রি থেকে আমাকে প্রতিটি রেকর্ড ম্যানুয়ালি নিতে হবে?
উত্তর:
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
বর্তমান ব্যবহারকারীর ডেস্কটপে একটি ফাইল তৈরি করবে ।
দ্রষ্টব্য : এটি সম্পর্কিত এসএসএইচ কীগুলি রফতানি করবে না ।
যখন আমি অন্যান্য সমাধানগুলি চেষ্টা করেছি তখন আমি এই ত্রুটিটি পেয়েছি:
Registry editing has been disabled by your administrator.
ফুয়ি যে, আমি বলি!
আমি পিটিটিওয়াই সেটিংস রফতানি ও আমদানির জন্য নীচের পাওয়ারসেল স্ক্রিপ্টগুলি একসাথে রেখেছি। রফতানি করা ফাইলটি একটি উইন্ডোজ .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"
অ-পরিচয়মূলক কোডের জন্য ক্ষমা, আমি পাওয়ারশেলের সাথে খুব বেশি পরিচিত নই। উন্নতি স্বাগত!
রান চালু করুন, তারপরে ওপেন ড্রপ ডাউন উইন্ডোতে টাইপ করুন: রিজেডিট
উইন্ডোর এক্সপ্লোরারের মতোই নেভিগেট করুন:
HKEY_CURRENT_USER \ সফ্টওয়্যার \ সিমোনথাম
সম্পন্ন.
আপনার মধ্যে যাদের পট্টিকে অফলাইন রেজিস্ট্রি ফাইল থেকে আমদানি করা দরকার যেমন আপনি যখন ক্র্যাশ হওয়া সিস্টেম থেকে পুনরুদ্ধার করছেন বা কেবল কোনও নতুন মেশিনে চলে যাচ্ছেন এবং সেই পুরানো ড্রাইভের বাইরে ডেটা ধরছেন তখন এখানে আরও একটি সমাধান উল্লেখযোগ্য:
http://www.nirsoft.net/utils/registry_file_offline_export.html
এই দুর্দান্ত এবং ফ্রি কনসোল অ্যাপ্লিকেশনটি সম্পূর্ণ রেজিস্ট্রি বা কেবলমাত্র একটি নির্দিষ্ট রেজিস্ট্রি কী রফতানি করবে। আমার ক্ষেত্রে আমি সহজেই রেজিস্ট্রি ফাইলটি রফতানির সরঞ্জাম হিসাবে একই ডিরেক্টরিতে একটি পুরানো ড্রাইভ থেকে অনুলিপি করেছিলাম এবং তারপরে প্রশাসক হিসাবে সিএমডি উইন্ডোতে চালিত নিম্নলিখিত কমান্ড এবং বাক্য গঠনটি ব্যবহার করি:
RegFileExport.exe NTUSER.DAT putty.reg "HKEY_CURRENT_USER \ সফ্টওয়্যার \ সিমোনথাম"
.Reg ফাইলটি আমদানি করার পরে এবং পুট্টি শুরু করার পরে সবকিছু ছিল। সহজ এবং দক্ষ।
যারা রেজিস্ট্রি নিয়ে গণ্ডগোল করতে চান না তাদের জন্য ফাইলের মধ্যে সংরক্ষণ করা পুট্টির একটি প্রকরণ তৈরি করা হয়েছে। এটি এখানে অবস্থিত: http://jakub.kotrla.net/putty/
এটি চমৎকার হবে যদি পুট্টি দল এটিকে মূল বিতরণে বিকল্প হিসাবে গ্রহণ করে।
উপরে উল্লিখিত বিবরণীর চেয়ে রেজিস্ট্রি রফতানি আমদানি করা এত সহজ ছিল। + সহজভাবে:
উইন 7 প্রো তে চ্যাম্পের মতো কাজ করেছেন।
উদাহরণ:
পুট্টি কনফিগারেশন এবং সেশন কনফিগারেশনকে কীভাবে এক ব্যবহারকারী অ্যাকাউন্ট থেকে অন্যটিতে স্থানান্তর করতে হয় যেমন কোনও নতুন অ্যাকাউন্ট তৈরি করার সময় এবং পুট্টি সেশন / কনফিগারেশনগুলি পুরানো অ্যাকাউন্ট থেকে ব্যবহার করতে চান
প্রক্রিয়া:
- পুরানো অ্যাকাউন্ট থেকে একটি ফাইলে রেজিস্ট্রি কী রফতানি করুন
- ফাইল থেকে নতুন অ্যাকাউন্টে রেজিস্ট্রি কী আমদানি করুন
রফতানি কী রফতানি করুন: (ওল্ড অ্যাকাউন্ট থেকে)
আমদানি রেগ কী: (নতুন অ্যাকাউন্টে)
নতুন অ্যাকাউন্টে লগইন করুন টম
সাধারণ 'কমান্ড প্রম্পট' খুলুন (প্রশাসক নয়!)
'Regedit' টাইপ করুন
মেনু থেকে 'আমদানি' নির্বাচন করুন
আমদানি করতে রেজিস্ট্রি ফাইলটি নির্বাচন করুন যেমন 'puttyconfig.reg'
সম্পন্ন
দ্রষ্টব্য:
'[HKEY_CURRENT_USER ...]' এর অধীনে সেটিংস অবস্থিত থাকায় কোনও 'অ্যাডমিন কমান্ড প্রম্পট' ব্যবহার করবেন না এবং রিজেডিট প্রশাসক হিসাবে চালিত হবে এবং প্রশাসক-ব্যবহারকারীর জন্য সেই বিভাগটি প্রদর্শন করবে পরিবর্তে ব্যবহারকারীর কাছ থেকে এবং / অথবা স্থানান্তর করার জন্য প্রতি.
ডেটা আমদানি করার জন্য বুমেরংয়ের সমাধানের উন্নতি PuTTY portable
।
সহজেই রফতানি করা putty.reg
(এম0নহক সমাধান সহ) PuTTYPortable\Data\settings\
কাজ করে না। পুটি পোর্টেবল ফাইলটি ব্যাকআপ করে একটি নতুন ফাঁকা তৈরি করে।
এই সমস্যাটির সমাধানের জন্য, putty.reg
আপনার রফতানি putty.reg
করা PuTTYPortable\Data\settings\putty.reg
নীচের লাইনের নীচে নতুন রফতানি থেকে মাইগ্রেট করতে চান এমন কনফিগারেশনটি ম্যানুয়ালি মুদ্রিত করুন ।
REGEDIT4
[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY]
"RandSeedFile"="D:\\Programme\\PuTTYPortable\\Data\\settings\\PUTTY.RND"
@ এম0 নহক পোস্ট করেছেন যে উত্তরটি উইন্ডোজ 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
এম0 নহকের উত্তরটি উইন্ডোজ 10 এ আমার পক্ষে কার্যকর হয়নি - এর জন্য এলিভেটেড কমান্ড প্রম্পট দরকার এবং একটি ফাইল নির্গত করতে অস্বীকৃতি জানায়।
এটি কাজ করেছে এবং উন্নতির প্রয়োজন নেই:
reg export HKEY_CURRENT_USER\Software\SimonTatham\PuTTY putty.reg
এই পদ্ধতিটি ব্যবহার করে ভর কনফিগারেশন পরিবর্তনগুলি করা, যেমন সমস্ত সেশনের ফন্ট পরিবর্তন করা সম্ভব।
এখান থেকে উত্তোলন করা হয়েছে: http://www.sysadmit.com/2015/11/putty-exportar-configuracion.html
আমি পুটি সংযোগ ব্যবস্থাপক ব্যবহার করি যেখানে আপনি সেশনের একটি ডাটাবেস তৈরি করেন। অন্যান্য কম্পিউটারে সেই ডাটাবেস অনুলিপি করা এবং আমদানি করা সহজ।
এই কার্যকর গাইড দেখুন
Ratil.Live/first-useful-powershell-script-putty-to-ssh-config এ একটি পাওয়ারশেল স্ক্রিপ্ট রয়েছে যা সেশনগুলিকে এমন ফর্ম্যাটে রূপান্তর করতে পারে যা ব্যবহার করা যেতে পারে .ssh/config
। এটি গিটহাবেও পাওয়া যাবে ।
এই উদ্ধৃতিটিতে কোডের মূল সাহস রয়েছে এবং ফলাফলটি কনফিগারেশনটি সরাসরি স্টডআউটে মুদ্রণ করবে:
# 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
আপনার পুরানো উইন্ডোজ রেজিস্ট্রিটির শাখা রয়েছে ।
এটি ব্যবহার করতে, আপনাকে 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
ফাইলটি সংরক্ষণ করুন।
আপনি এখন ডাবল ক্লিক করে আপনার বর্তমান উইন্ডোজ রেজিস্ট্রিতে এই ফাইলটি আমদানি করতে পারেন। এটি করতে কীভাবে এম0 নহকের উত্তর দেখুন ।
শেষ পর্যন্ত, HKEY_USERS\tmp
রেজিস্ট্রি সম্পাদকের শাখাটি নির্বাচন করুন এবং তারপরে File
-> নির্বাচন করুন Unload Hive...
এবং এই ক্রিয়াকলাপটি নিশ্চিত করুন।