询问者
任务计划程序中的管理员身份权限问题

问题
-
各位大大好。
我以前在server08R2系统上安装了一个第三方的进销存服务器端软件,CS架构,该软件需要在登陆系统后手动执行一个连接数据库的后台进程。
由于这软件比较老,在08R2下需要手动用管理员权限运行它,才能正常工作,很是麻烦。
尝试过将其快捷方式加入启动里,但不能解决提权问题,而且如果重启后不登陆,也不会自动运行。后来想了一个办法,利用任务计划程序来解决。并且测试成功,导出后的任务代码如下——
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2016-10-11T17:02:32.0394654</Date>
<Author>ZDART\svr2</Author>
<Description>D:\CFO\BZB86\server\mStdServer.exe</Description>
</RegistrationInfo>
<Triggers>
<BootTrigger>
<Enabled>true</Enabled>
</BootTrigger>
<CalendarTrigger>
<StartBoundary>2016-10-11T04:00:00</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>ZDART\svr2</UserId>
<LogonType>Password</LogonType>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>true</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>
<DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
<UseUnifiedSchedulingEngine>false</UseUnifiedSchedulingEngine>
<WakeToRun>true</WakeToRun>
<ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
<Priority>7</Priority>
<RestartOnFailure>
<Interval>PT5M</Interval>
<Count>3</Count>
</RestartOnFailure>
</Settings>
<Actions Context="Author">
<Exec>
<Command>D:\CFO\BZB86\server\mStdServer.exe</Command>
<WorkingDirectory>D:\CFO\BZB86\server\</WorkingDirectory>
</Exec>
</Actions>
</Task>策略就是开机后自启,勾上了“使用最高权限运行”,同时每天半夜4点钟重复运行一次。
我另外还有一个计划任务在每天4点前taskkill /f /im mStdServer.exe-------------------------------------------下面说问题。
我最近在尝试把这软件移植到新的server 2016系统上,我安装好这个进销存软件后,在计划任务里导入了上面的xml文件
使用输入本机的账号密码后,能看见任务管理器中出现该进程,但是用CS架构中的客户端测试连接失败。
我猜想可能是管理员身份权限的问题,因为如果不在任务计划中运行的话,手动右键用管理员权限运行它,是可以正常使用的。
我仔细观察任务管理器中两种方式的区别,计划任务方式运行出来的exe进程,任务管理器-进程-命令行里的路径是没有引号的,手动提权运行会有引号。请问在server2016里我这个问题应该如何解决?
全部回复
-
你好,
我建议试一下禁用 UAC, 更改注册表键值 EnableLUA 到 0,然后重启,具体路径如下:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system
Best Regards,
Amy
Please remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.- 已建议为答案 Amy Wang_Moderator 2017年5月9日 12:01
- 取消建议作为答案 Amy Wang_Moderator 2017年5月10日 9:08
-
你好,
请问现在有进展了吗?
Best Regards,
Amy
Please remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.