アプリケーションのインストール中にスケジュールされたタスクを作成しています。インストーラー自体は管理者権限で実行されています。
SchTasks /F /create /tn "MyApp Start" /XML "D:\MyApps\start.xml" /ru "System"
このタスクは、ログインしているユーザーがタスクを作成したユーザーである限り、システムの起動時に開始することを目的としています。
私の特別なケースでは、別の非管理者ユーザーがログインしている場合にもタスクを実行する必要があります。
現在、管理者以外のユーザーがログインしている場合、タスクは実行されていません。さらに、タスクはまったく表示されません。
質問: 管理者としてスケジュールされたタスクを作成するにはどうすればよいですか?
- DOS または PowerShell コマンドを使用する
- システム権限で実行される
- 通常の非管理者ユーザーが Windows 7/8 にログインしても起動する
これがタスクのxml-descriptionです。
<?xml version="1.0"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2015-03-02T22:54:11</Date>
<Author>foobar</Author>
</RegistrationInfo>
<Triggers>
<BootTrigger>
<StartBoundary>2015-03-02T22:54:11</StartBoundary>
<Enabled>true</Enabled>
</BootTrigger>
</Triggers>
<Principals>
<Principal>
<UserId>S-1-5-18</UserId>
<RunLevel>LeastPrivilege</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<Duration>PT10M</Duration>
<WaitTimeout>PT1H</WaitTimeout>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions>
<Exec>
<Command>D:\MyApps\start.bat</Command>
</Exec>
</Actions>
</Task>
何か提案はありますか?
よろしく トバイアス