получение списка сохраненных сессий в шпаклевке с помощью plink

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

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

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

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


person S4M    schedule 08.06.2011    source источник


Ответы (1)


Насколько я знаю, сессии хранятся в реестре (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

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

person fondor    schedule 15.05.2012