@AIHanks1202

Как по SSH Windows запустить скрипт на рабочем столе?

На windows сервере есть скрипт который нужно запустить в новом окне на рабочем столе со стороннего сервера, как это можно сделать и можно-ли вообще?

Метод класса для выполнения команд:

import paramiko
from log import LOGGER
from typing import List
from scp import SCPClient, SCPException

class Client:
     ...

    def execute_commands(self, commands: List[str]):
        try:
            for cmd in commands:
                stdin, stdout, stderr = self.connection.exec_command(cmd)
                stdout.channel.recv_exit_status()
                response = stdout.readlines()
                for line in response:
                    LOGGER.info(f"\n\nINPUT: {cmd} \nOUTPUT: {line}")

        except Exception as ex:
            LOGGER.error(f"Unexpected exception during command execution: {ex}")

        finally:
            self.disconnect()


Функция для запуска команды по ssh:

starter_directory = "C:/Users/Administrator/Desktop/starter/main.py"

def start():
    ssh = Client(hostname=hostname, port=port, username=username, password=password)
    command = [f"start cmd /k python '{starter_directory}'"]
    ssh.execute_commands(commands=command)


Использую эту команду для запуска:
start cmd /k python '{starter_directory}
  • Вопрос задан
  • 184 просмотра
Решения вопроса 1
@rPman
ssh запускается как служба, и не имеет доступа к консоли текущего пользователя.

Правильно - создать задачу в task scheduler (планировщик задач), без условий (тригеры), указав пользователя с его паролем и отметить чекбоксик интерактивности. А в момент, когда нужно запустить эту задачу, запускать ее с помощью schtasks /run
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
saboteur_kiev
@saboteur_kiev Куратор тега Python
software engineer
Подключаешься к рабочему столу удаленного сервера по rdp и запускаешь там скрипт
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы