получение списка сохраненных сессий в putty с использованием plink - PullRequest
1 голос
/ 08 июня 2011

Я пытаюсь написать свои скрипты под окнами для контроля замазки.Скажем, у меня есть сеанс под названием mySession.Я могу отправить ему команду, используя:

plink -load mySession -l myUserName -pw myPassowrd ps -ef

Теперь скажите, что у меня сохранено много разных сеансов.Есть ли способ перебрать список всех моих сеансов для запуска этой команды?

Большое спасибо

1 Ответ

2 голосов
/ 15 мая 2012

Насколько я знаю, сеансы хранятся в реестре (HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions).По крайней мере, это так в моей среде здесь.Например, вы можете использовать пакетный скрипт для доступа к именам сеансов.

@echo OFF
setlocal ENABLEEXTENSIONS
set KEY_NAME="HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions"

FOR /F "usebackq" %%A IN (`REG QUERY %KEY_NAME% 2^>nul`) DO (
    FOR /F "tokens=6 delims=\" %%B IN ("%%A") DO (
        @echo ON
        "C:\Program Files\PuTTY\PLINK.EXE" -load %%B -l my_user -pw my_password ps -ef
        @echo OFF
    )
)

Я использовал tokens=6, чтобы получить только последнюю часть пути (%%A).Мне не очень нравится пакетный скриптинг, поэтому я даже не знаю, нужен ли вам setlocal ENABLEEXTENSION.

Если вы знаете имена ваших сеансов, вы также можете просто использовать следующую команду:

FOR %%A IN (session1_name session2_name session3_name) DO "C:\Program Files\PuTTY\PLINK.EXE" -load %%A -l my_user -pw my_password ps -ef

Надеюсь, это поможет, даже если вашему посту почти год.Комментарии по улучшению кода приветствуются.

...