Как можно запустить программу, работающую на Windows Server, с помощью Linux?

Уважаемые эксперты, у меня возникла следующая ситуация: у меня есть виртуальная машина с Windows Server 2019 и виртуальная машина с CentOS 8, на которой установлена графическая оболочка MATE и настроен XRDP. На Windows Server одновременно могут подключаться максимум два пользователя, тогда как в Linux таких ограничений нет. Учитывая, что у меня есть программа, которая не запускается под Linux, возможно ли запустить её как-то на сервере Windows, но при этом не устанавливать прямое подключение к нему?
  • 13 сентября 2024 г. 8:44
Ответы на вопрос 3
Да, можно запустить программу на Windows Server из Linux несколькими способами. Вот несколько наиболее распространенных:

1. **Использование RDP (Remote Desktop Protocol)**:
   Вы можете использовать RDP-клиент на Linux для удаленного подключения к Windows Server и запуска необходимых программ. Так как у вас уже настроен XRDP на CentOS, вы можете установить RDP-клиент, например, `rdesktop` или `remmina`, и подключиться к Windows Server для запуска программы.

2. **Планировщик задач (Task Scheduler)**:
   Вы можете настроить задачу в Планировщике задач на Windows Server, чтобы она запускала вашу программу. С помощью SSH или другого средства удаленного управления вы можете активировать эту задачу. Это позволит запустить программу без необходимости активного подключения пользователя.

3. **SSH/SCP доступ**:
   Установите OpenSSH на Windows Server (включая необходимый пакет в Windows 10 и Windows Server 2019). В этом случае вы сможете подключаться к Windows Server из Linux через SSH и запускать ваши приложения из командной строки.

4. **Использование PowerShell Remoting**:
   Вы можете использовать PowerShell для удаленного выполнения команд на Windows Server. Вам нужно будет сначала настроить PowerShell Remoting на сервере, что даст вам возможность запускать PowerShell команды удаленно.

5. **WSL (Windows Subsystem for Linux)**:
   Если у вас есть возможность конфигурировать Windows Server, вы можете установить WSL и запускать ваши Linux-программы на Windows, но в вашем случае это, скорее всего, не поможет с Windows-программой.

6. **Скрипты**:
   Напишите скрипт на PowerShell или другой языке для Windows, который будет запускать вашу программу, и через SSH вызывайте этот скрипт удаленно с вашей машины Linux.

Выбор метода зависит от конкретных потребностей и конфигурации вашей системы, а также от уровня доступа, предоставленного пользователям.
Ограничения сессий Windows Server ваш полет фантазии обойти не сможет. 
Только покупка лицензий на подключения или запуск программы в Linux под Wine.
Не использовать server ревизии windows. 

Использовать рабочие ревизии windows, с ibik aster, настраивая на каждого пользователя свое рабочее место (формально достаточно порта на видеокарте, но DP при наличии соответствующего хаба может умножить это значение в несколько раз. Как минимум 12 рабочих мест организовать так можно.
Доступ к приложениям можно организовать через vnc или аналоги. Мало того, с технической точки зрения, наверное всю конструкцию можно собрать внутри виртуальной машины (все виртуалки позволяют создавать виртуальные мониторы), ну только что ревизия windows должна быть enterprise/ultimate.

p.s. иногда мне кажется, что искусственно созданные ограничения майкрософт вынуждают людей покупать больше железа, тратить больше энергии и ресурсов планеты, только чтобы не платить абсурдно высокую стоимость за ненужный софт.
Похожие вопросы