Gibt es eine Möglichkeit, dies zu tun?
Oder muss ich jeden Datensatz manuell aus der Registry nehmen?
Gibt es eine Möglichkeit, dies zu tun?
Oder muss ich jeden Datensatz manuell aus der Registry nehmen?
cmd.exe
, erfordert Erhöhte Eingabeaufforderung durch regedit:Nur Sitzungen (erzeugt Datei putty-sessions.reg
auf dem Desktop):
regedit /e "%USERPROFILE%\Desktop\putty-sessions.reg" HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions
Alle Einstellungen außer den ssh-Schlüsseln (erzeugt die Datei putty.reg
auf dem Desktop):
regedit /e "%USERPROFILE%\Desktop\putty.reg" HKEY_CURRENT_USER\Software\SimonTatham
Nur Sitzungen (erzeugt Datei putty-sessions.reg
auf dem Desktop):
reg export HKCU\Software\SimonTatham\PuTTY\Sessions ([Environment]::GetFolderPath("Desktop") + "\putty-sessions.reg")
Alle Einstellungen außer den ssh-Schlüsseln (erzeugt die Datei putty.reg
auf dem Desktop):
reg export HKCU\Software\SimonTatham ([Environment]::GetFolderPath("Desktop") + "\putty.reg")
Doppelklicken Sie auf die Schaltfläche *.reg
Datei und akzeptieren Sie den Import.
cmd.exe
, erfordert Erhöhte Eingabeaufforderung:regedit /i putty-sessions.reg
regedit /i putty.reg
reg import putty-sessions.reg
reg import putty.reg
Nota : nicht ersetzen SimonTatham
mit Ihrem Benutzernamen.
Nota : Diese Befehle werden nicht die zugehörigen SSH-Schlüssel exportieren.
regedit
in dem geöffneten Dropdown-FensterHKEY_CURRENT_USER\Software\SimonTatham
putty.reg
und speichern Sie es zur späteren Verwendung an Ihrem Standort.Erledigt.
Als ich die anderen Lösungen ausprobierte, erhielt ich diesen Fehler:
Registry editing has been disabled by your administrator.
Dazu sage ich: Puh!
Ich habe die folgenden Powershell-Skripte zum Exportieren und Importieren von PuTTY-Einstellungen zusammengestellt. Die exportierte Datei ist eine Windows-.reg-Datei und wird sauber importiert, wenn Sie die entsprechende Berechtigung haben, andernfalls verwenden Sie import.ps1, um sie zu laden.
Warnung : Solche Eingriffe in die Registrierung sind eine schlechte Idee™, und ich weiß nicht wirklich, was ich tue. Verwenden Sie die nachstehenden Skripte auf eigene Gefahr und stellen Sie sich darauf ein, dass Ihre IT-Abteilung Ihren Computer neu aufspielt und Ihnen unangenehme Fragen dazu stellt, was Sie getan haben.
Auf dem Quellcomputer:
.\export.ps1
Auf dem Zielrechner:
.\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"
Entschuldigung für den unidiomatischen Code, ich bin nicht sehr vertraut mit Powershell. Verbesserungen sind willkommen!
Für diejenigen unter Ihnen, die Putty aus einer Offline-Registrierungsdatei importieren müssen, z.B. wenn Sie ein abgestürztes System wiederherstellen oder einfach auf einen neuen Rechner umziehen und Daten von der alten Festplatte holen wollen, gibt es eine weitere erwähnenswerte Lösung:
http://www.nirsoft.net/utils/registry_file_offline_export.html
Diese großartige und kostenlose Konsolenanwendung exportiert die gesamte Registry oder nur einen bestimmten Registry-Schlüssel. In meinem Fall habe ich einfach die Registry-Datei von einem alten Laufwerk in das gleiche Verzeichnis wie das Export-Tool kopiert und dann folgenden Befehl und Syntax im CMD-Fenster als Administrator ausgeführt:
RegFileExport.exe NTUSER.DAT putty.reg "HKEY_CURRENT_USER \Software\SimonTatham "
Nach dem Importieren der .reg-Datei und dem Starten von Putty war alles da. Einfach und effizient.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.