Назад | Перейти на главную страницу

Как ограниченный пользователь может запустить задачу на сервере со своей рабочей станции

У нас есть программное обеспечение для пакетной отчетности (Visual Cut), которое можно использовать для создания отчета по запросу в файл PDF. Он работает на одном сервере.

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

Программное обеспечение можно запустить из простой командной строки.

Как пользователь на своем компьютере может запустить этот процесс командной строки на сервере?

Это не то, что нужно запускать по расписанию, это происходит по мере необходимости. Последнее замечание: обе системы - Windows.

Шаги:

  1. В Active Directory создайте локальную группу домена «Группа приложений».
  2. В Active Directory создайте глобальную группу «Пользователи приложения» и добавьте глобальную группу «Пользователи приложения» в качестве члена в локальную группу домена группы приложений.
  3. В Active Directory добавьте пользователей, которым необходим доступ к этому приложению, в качестве участников в «Пользователи приложения».
  4. На сервере предоставьте права чтения и выполнения NTFS (как минимум) для папки приложения локальной группе домена «Группа приложений». Предоставьте права на запись в папку вывода PDF.
  5. На сервере создайте общий ресурс в папке приложения. Удалены разрешения для общего ресурса «Все» и добавлены разрешения на чтение и запись (запись, если выходная папка PDF находится в той же иерархии) для «Группы приложений»
  6. Создайте или измените существующий командный файл для вызова приложения с желаемыми параметрами командной строки (убедитесь, что пути UNC в порядке, или подключите диски по мере необходимости).
  7. Протестируйте с пользователем в Application Users (который не является администратором на сервере)
  8. Сообщите конечным пользователям о методах доступа.

Ответ psexec от grub кажется хорошим выбором для быстрого и грязного решения. Вероятно, вы можете отправить его на рабочие столы в виде пакетного сценария.

Вы также можете обернуть команду в простое веб-приложение CGI. В основном страница с единственной формой и несколькими кнопками, которая принимает параметры (при необходимости) и запускает ваш exe. Люди любят веб-приложения :-).

Вы говорите о сервере Windows и рабочих станциях с Windows? Возможно, вы можете использовать psexec из sysinternals: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

вы можете выполнить команду на удаленном сервере

psexec -u domain \ user -p pass \\ server command

Если пользователям просто нужен самый последний отчет без каких-либо дополнительных входных параметров, я бы просто создал приложение ASP.NET (аналогично предложенному sleske), но так, чтобы он был единственным URL-адресом, пользователь мог щелкнуть и просмотреть отчет в формате PDF, открытый в браузере.

Вы можете подумать о настройке служб терминалов и разрешить ограниченным пользователям использовать удаленный рабочий стол на сервере, на котором установлено приложение, для его «локального» запуска на сервере. Это то, что я делал в прошлом для приложений, для которых у меня есть только несколько лицензий, - вместо того, чтобы пытаться получить лицензии на распространение приложения на каждую рабочую станцию.

В противном случае вариант psexec, вероятно, будет вашим лучшим выбором.