3

我想在用户登录时启动我的产品的 exe 文件 (C:\ClassConnect\class_server.cmd)。我尝试了 2 个解决方案(但似乎没有任何效果)解决方案 1:(添加了启动快捷方式)

它向用户询问 UAC 对话框,显然我的用户不会接受它作为间谍应用程序。解决方案 2:(向 Windows 调度程序添加批处理,以便它为任何用户运行)

它使用管理员帐户运行良好,但对于其他用户则失败。此外,我无法查看其他用户的计划任务

请帮忙。(我希望批处理在我机器上的所有用户启动时运行)

4

2 回答 2

1

我建议您将 class_server.cmd 文件放在 alluser 启动文件夹中:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

或者在启动文件夹中通过快捷方式和runas调用你的.cmd文件来解决UAC问题。遵循此文档: http: //www.howtogeek.com/124087/how-to-create-a-shortcut-that-lets-a-standard-user-run-an-application-as-administrator/

于 2014-11-12T08:43:54.587 回答
1

苦苦挣扎了这么多天,我终于找到了以管理员身份运行程序的答案

我编写了以下批处理文件以在没有 UAC 弹出窗口的情况下以管理员模式运行我的系统程序之一(它自动输入管理员密码)

我编写了一个包含以下内容的批处理文件 run.bat => 然后执行一个等待 5 秒并输入密码的 vb 脚本。

================run.bat 开始========================

set USER_NAME="administrator"
set PASSWORD="test"
set PROGRAM_NAME="C:\\ClassConnect\\class_student.bat"
set "cm=cscript /B /nologo runas4.vbs %PASSWORD%"
%cm%
runas /profile /env /user:%USER_NAME% "%PROGRAM_NAME%"

================run.bat 结束========================

================runas4.vbs 开始========================

Set objArgs = Wscript.Arguments
password=objArgs(0)
set WshShell = WScript.CreateObject("Wscript.Shell")
WScript.Sleep 5000
bWindowFound = WshShell.AppActivate("ClassConnect_Teacher")
WScript.Sleep 500
WshShell.SendKeys password
WshShell.SendKeys "{ENTER}"
set WshShell = nothing

================runas4.vbs 完========================

上面的脚本等待 5 秒,然后输入 runas 命令的密码,因此我可以在管理员模式下运行脚本。

如果您不确定您的访问权限,请从 Internet 下载 isadmin.exe。

如果您在系统上没有管理员访问权限,请激活默认禁用的管理员帐户。您可以使用激活帐户

net user administrator /active:yes

要重置默认管理员密码,请使用:net user administrator *

于 2014-12-02T13:49:00.027 回答