Я написал командный файл, который создает несколько папок и подпапок в текущем каталоге. Также изменяется групповое разрешение одной папки. Это работает на моей локальной рабочей станции с правами администратора, но не работает на сервере, потому что у меня недостаточно прав.
Этот пакет также следует использовать другим пользователям, не являющимся администраторами, которые не имеют права изменять разрешения папок, и у них нет возможности предоставить им это право.
После прочтения этот комментарий, решение кажется очевидным:
Мои вопросы: как пакет может отправить команду службе Windows? И каким образом должен быть реализован сервис, чтобы получать эту команду и обрабатывать ее?
В sc start
позволяет указать параметры, которые будут переданы службе ServiceMain
функция.
Я не знаю наверняка, передаст ли какое-либо из существующих решений «запускать приложение как услугу» эти аргументы в приложение, но это не должно быть слишком сложно реализовать.
Убедитесь, что вы тщательно проверили имя папки. Вы не хотите, чтобы кто-то мог сбросить разрешения на c:\folders\..\windows\system32
, например.
Вы можете проверить RunAsService который должен иметь возможность запускать одно или несколько приложений как службу Windows.
Вы можете захотеть проверить этот слишком.