3

我正在安装应用程序期间创建计划任务。安装程序本身以管理员权限运行:

SchTasks /F /create /tn "MyApp Start" /XML "D:\MyApps\start.xml" /ru "System"

此任务旨在在系统启动期间启动,只要登录的用户是创建任务的用户,它就可以正常工作。

在我的特殊情况下,如果另一个非管理员用户正在登录,该任务也应该运行。

当前,如果非管理员用户正在登录,则该任务未运行。甚至,他根本看不到该任务。

问题是:如何以管理员身份创建计划任务

  • 使用 DOS 或 PowerShell 命令
  • 以系统权限运行
  • 即使普通的非管理员用户登录到 Windows 7/8 也会启动

这是我对任务的 xml 描述。

<?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>

你有什么建议吗?

最好的问候托比亚斯

4

1 回答 1

0

Tobias,我实际上使用内置的 Windows 任务计划程序来设置这些类型的操作。我发现它比使用 CMD 容易得多,并且它具有您可能正在寻找的所有选项、功能、触发器等。我用它来起草任务并最终将它们推送到我们的网络上。更不用说默认情况下可以在普通用户和管理员用户权限下访问它。希望这能为您指明正确的方向。

麦克风。

于 2015-03-03T22:31:45.313 回答