Я уверен, что это должно быть возможно, но моего Google-фу (и Windows знаний) должно быть сильно не хватает, потому что я продолжаю терпеть неудачу. Я пытаюсь запланировать задачу как часть процесса установки, которая будет запускаться от имени текущего пользователя и запускаться при входе пользователя в систему. Если пользователь входит в систему, задача должна начать выполняться как пользователь1. Если пользователь 1 выходит из системы, а пользователь 2 входит позже, задача должна запускаться от имени пользователя 2.
Существует ли имя-заполнитель, которое я могу использовать при создании задачи, которая продемонстрировала бы такое поведение? Идеальное решение должно работать в корпоративной среде "generi c"; то есть я не могу создать нового пользователя или группу специально для решения этой проблемы.
Я вручную создал задачу с помощью планировщика задач Windows, но безуспешно. Экспортируется XML ниже:
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2020-03-18T14:08:48.8628608</Date>
<Author>DESKTOP-SOMETHING\dev</Author>
<URI>\MyTestTask</URI>
</RegistrationInfo>
<Triggers>
<LogonTrigger>
<Enabled>true</Enabled>
</LogonTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>I-REALLY-DONT-KNOW</UserId>
<LogonType>InteractiveToken</LogonType>
<RunLevel>LeastPrivilege</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>"C:\Program Files\MyAmazingProgram\my-program.exe"</Command>
</Exec>
</Actions>
</Task>