Показывать%username% для вошедшего в систему пользователя в командной строке с повышенными привилегиями вместо пользователей с повышенными правами%username%?
На компьютере с Windows Vista Business у меня установлена задача планировщика задач Windows для запуска при каждом входе любого пользователя в систему. Задача запускается как определенный пользователь с повышенными правами администратора, поскольку сценарий выполняется с файлового сервера, для которого требуется доступ этого пользователя и сценарий речь идет о выполнении операций, которые требуют полного контроля над машиной, на которой они выполняются. Сценарий работает отлично, получает доступ к сетевым ресурсам и фантастически выполняет административные задачи, однако%username% и другие переменные среды предназначены для пользователя с повышенными правами, а не для пользователя, который фактически вошел в систему.
Есть ли способ запустить задачу с повышенными текущими зарегистрированными переменными среды пользователя? Или есть какой-то способ узнать, из какой учетной записи было выполнено повышенное приглашение (если я смогу это выяснить, я смогу получить переменные среды для этого пользователя)?
Чтобы сделать мой вопрос более понятным, вот сценарий и строка из моего сценария. Предположим, что в систему входит обычный пользователь без прав администратора по имени Боб. Планировщик задач запускает сценарий как пользователь с повышенными правами iAmAdmin. Скрипт выполняет команду:
eventcreate /t information /id 118 /l SYSTEM /so "My Script" /d "%username% logged in on %date% at %time%"
% Username% в описании отображается как iAmAdmin вместо Боба. Есть ли способ получить%username% (или любые другие переменные среды) для учетной записи, из которой был запущен запрос с повышенными правами (т. Е. Боб обнаруживает%username% вместо iAmAdmin, поскольку учетная запись Боба является той, которая регистрируется в журнале) в)?
(Примечание: использование eventcreate было только примером. Сценарий делает намного больше, чем это, поэтому проблема здесь не в eventcreate, но для некоторых операций требуется фактическая регистрация в переменных пользователя среды).