从管理员权限登录开始

时间:2013-07-21 14:50:10

标签: autostart schtasks.exe schtasks

我想使用adminrights在用户登录时自动启动我的应用程序。我发现了这个问题:How to run a program automatically as admin on Windows startup?但它并没有解决我的问题。如果我使用schtasks有两个问题:首先是它不能在vista,xp上的用户桌面上运行......(见第二个答案的评论)。第二个问题是对onlogon参数的描述

  

只要用户(任何用户)登录,任务就会运行。您可以指定日期,也可以在用户下次登录时运行任务。

http://technet.microsoft.com/en-us/library/bb490996.aspx。我想创建一个设置界面,允许每个用户在登录和注销时启动。

那么还有哪些更好的解决方案可以在windows xp上运行吗?

1 个答案:

答案 0 :(得分:0)

Schtasks /Create /TN admin /RU SYSTEM /SC ONLOGON /TR C:\admin\admin.bat
正在接近计划任务本身可以做的最好的事情。以用户管理员而不是SYSTEM运行任务可能会显示UI,如下所示:Schtasks /Create /TN admin /RU "<administrator username>" /SC ONLOGON /TR C:\admin\admin.bat

在任务启动的任何批处理文件中都有很多灵活性。

如果“C:\ admin \ admin.bat”是

set there=0
for /F %%G in ('find "%username%" C:\access\users.txt') do if ("%%G") EQU ("%username%") set there=1
if ("%there%") EQU ("1") start "real" "cmd" "/C "C:\admin\real.bat""

和“C:\ admin \ real.bat”包含您 想要执行的任何内容(因此名称),此脚本应该解决让用户选择程序启动或不是通过在“C:\ access \ users.txt”中添加或删除自己。

要解释,for / F行解析“users.txt”文件以获取当前用户的名称,如果用户的用户名在一行中逐字列出,则将“there”设置为1。接下来,“if”行检测用户名是否确实在文件中,如果是,则仅启动第二个批处理文件。

相关问题