Как я могу позволить пользователям без прав администратора запускать определенное приложение (в моем случае скрипт) с правами администратора в Windows XP?
Это было бы похоже на бит setuid в * nix.
Вот предыдущая очень похожая тема:
Установить uid для windows
Короткий ответ «нет» с «но». Длинный ответ:
Правильный, одобренный Microsoft способ сделать это - создать "прокладка"для вашего приложения, которое перенаправляет все, что требует прав администратора, в аналогичную область пользовательского режима. Например, если ваше приложение пытается сохранить параметр реестра в HKLM, оболочка вместо этого поместит его в HKCU.
Также ознакомьтесь с Блог Аарона Маргозиса для получения множества подробностей об этом типе вещей.
Для этих целей есть специальная программа - Адмилинк.
Он создает специальную зашифрованную ссылку на целевой файл (я тестирую только с файлами .exe) - вам нужно выполнить это действие только один раз. Когда вы нажимаете на ссылку - программа (Admirun.exe) автоматически запускает программу по ссылке со специальными правами (права зависят от выбранного пользователя в процессе создания ссылки - вы можете использовать учетную запись администратора или имя учетной записи домена и т. Д.).
Ограничения: При создании ссылки (только один раз) вам необходимо иметь учетную запись администратора.
Admirun.exe должен находиться в папке Windows (модуль включен в Admilink).
Вся документация на русском :). Учите русский или обращайтесь за дополнительной помощью
P.S. Это БЕСПЛАТНО для некоммерческого использования.
P.P.S Имеет множество дополнительных функций
Вы можете использовать Runas с утилитой под названием SANUR.exe, которая позволяет вводить пароль вместо его ввода!