Debe conectarlo al programador de tareas, de modo que se inicie después de que un usuario inicie sesión, utilizando una cuenta de usuario que tenga acceso administrativo al sistema, con los privilegios más altos que se otorgan a los procesos iniciados por esa cuenta.
Esta es la implementación que se utiliza para iniciar procesos con privilegios administrativos al iniciar sesión como un usuario normal.
Lo he usado para iniciar el proceso auxiliar 'OpenVPN GUI' que necesita privilegios elevados para funcionar correctamente y, por lo tanto, no se iniciaría correctamente desde la clave de registro.
Desde la línea de comandos, puede crear la tarea a partir de una descripción XML de lo que desea lograr; entonces, por ejemplo, tenemos esto, exportado desde mi sistema, que iniciaría el bloc de notas con los privilegios más altos cuando inicio sesión:
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2015-01-27T18:30:34</Date>
<Author>Pete</Author>
</RegistrationInfo>
<Triggers>
<LogonTrigger>
<StartBoundary>2015-01-27T18:30:00</StartBoundary>
<Enabled>true</Enabled>
</LogonTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>CHUMBAWUMBA\Pete</UserId>
<LogonType>InteractiveToken</LogonType>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>false</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:\windows\system32\notepad.exe"</Command>
</Exec>
</Actions>
</Task>
y está registrado por un símbolo del sistema de administrador usando:
schtasks /create /tn "start notepad on login" /xml startnotepad.xml
esta respuesta realmente debería trasladarse a uno de los otros sitios de stackexchange, ya que en realidad no es una pregunta de programación per se.
.login
script en Unix), no para ejecutarlo en el momento del arranque (como un/etc/rc/...
script).