gpt4 book ai didi

c# - 在没有管理员权限的情况下使用 'schtasks' 计划任务 C#

转载 作者:太空宇宙 更新时间:2023-11-03 11:24:03 25 4
gpt4 key购买 nike

我正在尝试使用 schtasks 而不是使用 Windows 任务计划程序 COM/托管 API 来安排我的应用程序中的任务。
通过在命令行 schtasks/Create/tn "MyApp"/tr c:\myapp.exe/sc onlogon 上使用它可以更轻松地在此处创建任务,但我以管理员身份打开命令行以任务已创建(否则我会被拒绝访问)

从我的应用程序,创建我使用的任务

string args = @"/Create /tn MyApp /tr c:\myapp.exe /sc onlogon";
Process.Start("schtasks", args);

但是,只有当我以管理员身份运行我的应用程序时,任务才会被创建。我需要避免这种情况,以便任何用户都可以创建任务而无需以管理员身份运行应用程序。关于如何做到这一点有什么建议吗?

最佳答案

您可以尝试使用一种允许使用指定用户运行进程的 RunAs:

    ProcessStartInfo psi = new ProcessStartInfo("schtasks");
psi.UseShellExecute = false;
psi.UserName = "Username";
psi.Password = "password";

Process.Start(psi);

Process 类通过 ProcessStartInfo 提供了一种机制,允许您指定新进程应在其下运行的用户上下文,因此您可以指定要在其中运行命令的用户,即使启动程序的用户是不同的。在您的情况下,您可以为 ProcessStartInfo 指定管理员凭据,而无需使用管理员用户运行程序 ...

关于c# - 在没有管理员权限的情况下使用 'schtasks' 计划任务 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10055516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com