C# 任务运行使用系统还是管理员用户?

C# 任务运行使用系统还是管理员用户?,c#,windows,vb.net,scheduled-tasks,C#,Windows,Vb.net,Scheduled Tasks,我们有一个按计划运行的应用程序,在TaskScheduler中设置。此任务由我们的配置应用程序以编程方式创建 现在,应用程序需要访问特定目录中的文件,默认路径是当前登录用户主目录中的子目录 我们已经尝试使用系统帐户设置它,但它没有访问文件的权限,任务一运行就退出 通常,我们使用管理员密码和标志将其设置为在用户登录或未登录时运行。但是,有些客户端在不需要登录的系统上安装此应用程序,这意味着密码为空或没有密码。如果我们设置任务并手动将其更改为在他们未登录的情况下运行,则需要某种密码 如何通过编程方式

我们有一个按计划运行的应用程序,在TaskScheduler中设置。此任务由我们的配置应用程序以编程方式创建

现在,应用程序需要访问特定目录中的文件,默认路径是当前登录用户主目录中的子目录

我们已经尝试使用系统帐户设置它,但它没有访问文件的权限,任务一运行就退出

通常,我们使用管理员密码和标志将其设置为在用户登录或未登录时运行。但是,有些客户端在不需要登录的系统上安装此应用程序,这意味着密码为空或没有密码。如果我们设置任务并手动将其更改为在他们未登录的情况下运行,则需要某种密码

如何通过编程方式(使用C#或VB.net)创建此任务,使其在无法运行的地方运行:

  • 需要管理员或用户密码才能运行或安装
  • 能够访问“几乎”任何目录中的文件
  • 无论是否有用户登录,都能够运行
  • 不需要创建新用户来运行此操作

  • 安装的系统范围从Windows Server 2008到Windows 10。

    从您的问题来看,您似乎在描述窗口服务的用例

    具体而言,您需要一个程序来运行:

    • 没有用户交互
    • 无论用户是否登录
    • 具有访问文件系统中可能受UAC限制的部分所需的权限
    构建windows服务将为您提供此功能,而无需模拟用户或处理存储管理员帐户凭据的问题(尽管您需要具有初始安装权限)

    您可以用任何.Net语言(包括C#和VB.Net)构建服务。
    是一个在.net中构建Windows服务的非常好的库,我链接到的教程/文档可以帮助您入门

    您支持什么版本的Windows?请参阅后请中的最后一行澄清您的问题,因为您将“…在不需要管理员进行设置的地方”-“不”是否也适用于项目2、3和4?但这可能是没有意义的,因为听起来你要求任何程序将自己注册为服务并访问系统上的任何文件,而不需要从安装到运行的任何时间点的任何管理员权限-这在所有现代安全操作系统上都是不可能的,而且是一种糟糕的设计。我也真的要求,是否有在上述场景中运行我的应用程序的选项。此应用程序与我们的服务器进行文件同步,我们应该能够使用备份系统帐户,但它也需要密码。我们并不总是有密码,不管是用户密码还是管理员密码。我是说备份操作员组帐户我同意你的看法。然而,我希望我有申请的来源。他们还不允许我访问源代码-(我只是收集选项。另一个问题是同步必须在计时器上进行。不建议在服务中运行计时器。@MB34从何处获得此信息?您可以在服务中运行计时器-只需确保使用正确的计时器类(即不是WinForms计时器,而是线程计时器):@MB34我不知道你为什么这么说-在windows服务中运行计时器或计划任务是一种常见且公认的做法。下面是一个链接,展示了如何执行此操作的基本示例:。