Hier ist eine Registrierungsklasse, die ssh: // und das nachfolgende (eigentlich alle) / aus der URI entfernt, bevor sie an PuTTY übergeben wird, damit PuTTY sie direkt öffnen kann:
Pro Benutzer:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\ssh]
@="URL:ssh Protocol"
"URL Protocol"="ssh://"
[HKEY_CURRENT_USER\Software\Classes\ssh\shell]
[HKEY_CURRENT_USER\Software\Classes\ssh\shell\open]
[HKEY_CURRENT_USER\Software\Classes\ssh\shell\open\command]
@="cmd /V:ON /c set params=%1 && set params=!params:ssh://=! && start \"PuTTY\" \"c:\\Program Files (x86)\\PuTTY\\putty.exe\" \"!params:/=!\""
Und für alle im System:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\ssh]
@="URL:ssh Protocol"
"URL Protocol"="ssh://"
[HKEY_CLASSES_ROOT\ssh\shell]
[HKEY_CLASSES_ROOT\ssh\shell\open]
[HKEY_CLASSES_ROOT\ssh\shell\open\command]
@="cmd /V:ON /c set params=%1 && set params=!params:ssh://=! && start \"PuTTY\" \"c:\\Program Files (x86)\\PuTTY\\putty.exe\" \"!params:/=!\""
Ändern Sie den Dateipfad entsprechend Ihren Anforderungen.
/ V: ON ist dasselbe wie 'SetLocal EnableDelayedExpansion'
/ c führt den Befehl aus
Ich setze params auf den Parameter 'ssh: //domain.tld/'. Dann entferne ich das 'ssh: //' mit '! Params: ssh: // =!', Was ein Suchen-Ersetzen für 'ssh: //' nach '' in den variablen Parametern ist. Ich weise das zurück zu params, jetzt params = 'domain.tld /'. Ich übergebe es dann an putty und ersetze '/' durch '', um den abschließenden Schrägstrich zu entfernen, den Windows anfügt, und lasse 'domain.tld', den PuTTY verwenden kann.
Auf diese Weise kann ich alles in dem Befehl verarbeiten, der im Registrierungseintrag eingegeben wurde. Es wird überhaupt nicht bereinigt und kann leicht ausgenutzt werden (Beispiel: ssh: // && notepad opens notepad). Vielleicht möchten Sie die URI in etwas ändern, das nur Ihnen bekannt ist.
PowerShell
Befehls zu tun . Bitte schön.