Задача выполняется - использовать SYSTEM или администратора? - PullRequest
0 голосов
/ 07 мая 2018

У нас есть приложение, работающее по расписанию, настроенное в планировщике заданий. Эта задача создается программно нашим приложением конфигурации.

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

Мы попытались настроить его с помощью учетной записи SYSTEM, но у него нет доступа к файлам, и задача завершается сразу после запуска.

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

Как я могу программно (используя C # или VB.net) создать эту задачу для выполнения там, где она не будет:

  1. Требуется пароль администратора или пользователя для запуска или настройки
  2. Возможность доступа к файлам в «почти» любом каталоге
  3. Возможность запуска независимо от того, вошел ли пользователь в систему или нет
  4. Не требуется создавать нового пользователя для запуска под

Системы, установленные в диапазоне от Windows Server 2008 до Windows 10.

1 Ответ

0 голосов
/ 08 мая 2018

Судя по вашему вопросу, вы описываете вариант использования службы Windows.

В частности, вам нужна программа, которая будет запускаться:

  • Без взаимодействия с пользователем
  • Независимо от того, вошел ли пользователь в систему
  • С правами доступа, необходимыми для доступа к частям файловой системы, которые в противном случае могут быть ограничены UAC.

Создание службы Windows предоставит вам эту возможность без необходимости выдавать себя за пользователя или заниматься хранением учетных данных администратора (хотя для первоначальной установки вам понадобятся привилегии).

Вы можете создать сервис на любом языке .Net (включая C # и VB.NET). Topshelf - довольно неплохая библиотека для сборки служб Windows в .net, и учебники / документация, на которые я ссылаюсь, могут помочь вам начать работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...