Sie müssen es in den Taskplaner einbinden, sodass es nach der Anmeldung eines Benutzers mit einem Benutzerkonto gestartet wird, das über Administratorzugriff auf das System verfügt und über die höchsten Berechtigungen verfügt, die für von diesem Konto gestartete Prozesse gewährt werden.
Dies ist die Implementierung, mit der Prozesse mit Administratorrechten automatisch gestartet werden, wenn Sie sich als normaler Benutzer anmelden.
Ich habe es verwendet, um den Hilfsprozess 'OpenVPN GUI' zu starten, der erhöhte Berechtigungen benötigt, um ordnungsgemäß zu funktionieren, und daher nicht ordnungsgemäß über den Registrierungsschlüssel gestartet werden kann.
Über die Befehlszeile können Sie die Aufgabe aus einer XML-Beschreibung dessen erstellen, was Sie erreichen möchten. So haben wir zum Beispiel dies aus meinem System exportiert, wodurch der Editor mit den höchsten Berechtigungen gestartet wird, wenn ich mich anmelde:
<?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>
und es wird von einer Administrator-Eingabeaufforderung registriert mit:
schtasks /create /tn "start notepad on login" /xml startnotepad.xml
Diese Antwort sollte wirklich auf eine der anderen Stackexchange-Sites verschoben werden, da es sich eigentlich nicht um eine Programmierfrage an sich handelt.
.login
Skript unter Unix) und nicht beim Booten (wie bei einigen/etc/rc/...
Skripten).