Я написал ssh-сервер на C # и подумал, что было бы неплохо подключить PowerShell в качестве оболочки. Я пробовал 2 метода, чтобы заставить это работать должным образом, но оба далеки от совершенства. Вот что я пробовал:
Я бы хотел, чтобы набор функций заменил обычные консольные функции ввода / вывода, которые используются консольными приложениями, чтобы я мог с ними справиться. Но это кажется довольно резким, вплоть до плохой дизайнерской идеи (imo).
Прямо сейчас у меня возникла идея манипулировать консолью, отправляя соответствующие ключи с помощью собственных функций / функций Pinvoke, таких как WriteConsoleInput. Я полагаю, что таким образом можно подделать консоль. Но я не понимаю, как бы я тогда «прочитал», что происходит на консоли.
Также имейте в виду, что это служба, поэтому желательно, чтобы она не порождала фактическое окно консоли, хотя, возможно, в сеансе Windows 0 это не будет отображаться и не имеет значения.