PuTTY'yi doğrudan açabilmesi için ssh: // ve sondaki (aslında, hepsi) / URI'den PuTTY'ye geçmeden önce kaldıracak bir kayıt sınıfı:
Kullanıcı Başına:
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:/=!\""
Ve sistemdeki herkes için:
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:/=!\""
Dosya yolunu ihtiyaçlarınıza göre değiştirin.
/ V: ON, 'SetLocal EnableDelayedExpansion' ile aynı
/ c komutu çalıştırır
Parametre için 'ssh: //domain.tld/' parametrelerini ayarladım. Sonra 'ssh: //' ile değişken parametrelerdeki 'ssh: //' ila '' için bir find-replace olan 'ssh: //' 'i ondan çıkarıyorum. Bunu parametrelere geri atarım, şimdi params = 'domain.tld /'. Sonra macun geçmek ve başka bir find-replace yapmak için yerine PuTTY kullanabilirsiniz 'domain.tld' bırakarak Windows'un koyar eğik çizgi kaldırmak için '/' yerine '' değiştirin.
Bu, hepsini kayıt defteri girdisine girilen komutta işlememe izin verir. Hiç dezenfektasyon yapmaz ve kolayca sömürülebilir (Örn. Ssh: // & & not defteri not defteri açar), böylece URI'yi yalnızca bildiğiniz bir şeyle değiştirmek isteyebilirsiniz.
PowerShell
komut kullanarak kayıt defteri anahtarları ile bunu yapmak için bir yol buldum . Hadi bakalım.