Đây là một lớp đăng ký sẽ xóa ssh: // và trailing (thực ra là tất cả) / khỏi URI trước khi chuyển nó sang PuTTY để PuTTY có thể trực tiếp mở nó:
Mỗi người dùng:
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:/=!\""
Và, cho tất cả mọi người trên hệ thống:
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:/=!\""
Thay đổi đường dẫn tệp dựa trên nhu cầu của bạn.
/ V: ON giống như 'SetLocal EnableDelayedExpansion'
/ c chạy lệnh
Tôi đặt params cho paramater đó là 'ssh: //domain.tld/'. Sau đó, tôi tách 'ssh: //' từ nó bằng '! Params: ssh: // =!', Đây là một tìm kiếm thay thế cho 'ssh: //' thành '' trên các thông số biến. Tôi gán lại cho params, bây giờ params = 'domain.tld /'. Sau đó, tôi chuyển nó cho putty và thực hiện một tìm kiếm khác để thay thế '/' bằng '' để xóa dấu gạch chéo mà Windows đưa vào, để lại 'domain.tld' mà PuTTY có thể sử dụng.
Điều này cho phép tôi xử lý tất cả trong lệnh đã nhập trong mục đăng ký. Nó hoàn toàn không thực hiện bất kỳ loại vệ sinh nào và có thể dễ dàng khai thác (Ví dụ: ssh: // && notepad mở notepad) vì vậy bạn có thể muốn thay đổi URI thành thứ gì đó mà bạn chỉ biết.
PowerShell
lệnh. Bạn đi đây