Я за VPN как дополнительное средство авторизации. С помощью ВПН вы легко сможете управлять доступом пользователей во внутреннюю сеть. Конечно, на ВПН нужно посадить всех, кто имеет доступ из вне. Прямой доступ запретить.
Кстати, теоретически авторизацию ВПН можно настроить через АД (ВПН не обязательно должен быть от микрософт и под винду, например, OpenVPN поддерживает LDAP авторизацию, так что его можно прикрутить к АД), и привязать, например, на вхождение пользователя в определенную группу. Тогда непосредственно ВПН сервер не нужно будет переконфигурировать каждый раз, когда изменяются права пользователей - достаточно включить пользователя в нужную группу. На ВПН я такую схему не пробовал, но на почтовиках работает отлично.
kytcenochka, Сочувствую. У меня собралось и запустилось нормально. Возможно вы где-то в переносе ошиблись или у нас с вами разный входной файл.
Запустите программу под отладчиком!
kytcenochka, Почему во втором цикле k<6? - так вы пропускаете последний элемент в строке (точнее он переходит на следующий цикл). В итоге вы пропустите 3 последние байта.
Если k<6, то инициализировать k надо 0, а не 1.
В файле переводы строк есть?
Входной файл текстовый или бинарный?
Чтение у вас как-то странно реализовано, на мой взгляд.
Вам посмотреть ход выполнения под отладчиком многое стало бы понятней.
K1ingleonide, Про костыль прокомментировал. Кстати, этот костыль можно реализовать с помощью ssh - тогда это будет вполне безопасно и шары можно убрать.
Нода и прочее - вот это костыль. В любой ОС есть средства удаленного администрирования, а нода - лишнее звено.
ВПН в вашем случае - это необходимость, а не лишний софт. В дальнейшем у вас появятся другие хотелки - с помощью ВПН вы сможете их все реализовать.
Открывать шары в интернет - это заведомо обрекать свой сервер на постоянные атаки, рано или поздно ваш сервер сломают. То же самое и с IPC.
Не хотите заморачиваться с ВПН - сделайте доступ к удаленному раб.столу, как я предлагал в первом посте. Это гораздо безопаснее, чем раздавать шары в интернет.
Пароли для пользователей сервера должны быть достаточно сложными!
Лучше костыль еще проще - батник все нужные команды содержит изначально, но в самом начале проверяет наличие некоторого файла, если файла нет - сразу завершается, если файл есть - выполняет команды. Таким образом достаточно создать в нужном каталоге файл с заданным именем и команда выполнится при следующем старте батника.
IPC порты открывать нужно на сервере.
Общий доступ к папке открывать через интернет то же не стоит, по тем же причинам.
Организуйте сначала ВПН. Сеть ВПН сделайте рабочей сетью на сервере, тогда все нужные порты по ВПН будут доступны. И уже через ВПН, используя внутренние IP адреса ВПН будете запускать то что вам нужно.
Для ВПН подойдет тот же OpenVPN или что-либо другое.
Про параметр в реестре у вас ни какой конкретики не сказано. Указанный мной параметр нужно вносить в реестр машины на которой вы будете удаленно запускать приложение, после этого нужно ее перезагрузить. Этот параметр отключает UAC при доступе из сети с правами админа. Непосредственно на процесс запуска приложений он никак не влияет, но без него у вас ничего работать не будет.
При использовании psexec или wmic можно указывать имя пользователя и пароль с которыми будет запущено ваше удаленное приложение. Этот пользователь должен иметь права администратора на удаленной машине. При этом на локальной машине может быть какой угодно пользователь. Так же если имя пользователя и пароль на локальной и удаленной машине совпадают, то можно ничего не указывать в psexec или wmic.
По поводу задачи открытия окон, ну, нужно просто запустить батник и всё по сути.
В батнике может быть 100500 команд, он может делать кучу всего.
И еще. Все эти телодвижения имеют смысл только если обе машины в одной локальной сети, если удаленный доступ через интернет - нужно открывать доступ к IPC портам из вне, а это не безопасно. Для обхода нужно поднимать ВПН и уже через него делать удаленный запуск.
Герман, https://msdn.microsoft.com/ru-ru/library/zabda143.aspx
Файл описания ресурсов - обычный текстовый файл. Его можно отредактировать вручную.
Просто вносите туда запись в определенном формате, в записи содержится путь к файлу. При компиляции файл на диске компонуется с исполняемым файлом.
Евгений Шатунов, Тут вроде все нормально - 2 вложенных цикла - обход двумерного контейнера.
Но элементы действительно не меняются, т.к. в коде нет никаких замен элементов.
Кстати, теоретически авторизацию ВПН можно настроить через АД (ВПН не обязательно должен быть от микрософт и под винду, например, OpenVPN поддерживает LDAP авторизацию, так что его можно прикрутить к АД), и привязать, например, на вхождение пользователя в определенную группу. Тогда непосредственно ВПН сервер не нужно будет переконфигурировать каждый раз, когда изменяются права пользователей - достаточно включить пользователя в нужную группу. На ВПН я такую схему не пробовал, но на почтовиках работает отлично.