如何在用户无法运行VB6应用程序的情况下从计划任务运行VB6应用程序

如何在用户无法运行VB6应用程序的情况下从计划任务运行VB6应用程序,vb6,scheduled-tasks,Vb6,Scheduled Tasks,我们有一个传统的VB6应用程序,可以自动通过电子邮件发送报告。它从服务器上的计划任务运行。有时,用户会运行exe——它位于一个我们无法将其锁定的文件夹中,由于太复杂的原因,它必须保留在该文件夹中。有没有一种方法可以防止用户在运行exe的同时仍然让它从计划的任务中运行?我可以修改exe的源代码,因此如果有人能帮我找到方法,这是一个选项。你确定不能锁定用户吗? 您可以限制对文件夹的访问,以便用户无法访问该文件夹,并将计划任务设置为使用具有文件夹访问权限的帐户。您确定不能将用户锁定在外吗? 您可以限制

我们有一个传统的VB6应用程序,可以自动通过电子邮件发送报告。它从服务器上的计划任务运行。有时,用户会运行exe——它位于一个我们无法将其锁定的文件夹中,由于太复杂的原因,它必须保留在该文件夹中。有没有一种方法可以防止用户在运行exe的同时仍然让它从计划的任务中运行?我可以修改exe的源代码,因此如果有人能帮我找到方法,这是一个选项。

你确定不能锁定用户吗?
您可以限制对文件夹的访问,以便用户无法访问该文件夹,并将计划任务设置为使用具有文件夹访问权限的帐户。

您确定不能将用户锁定在外吗?
您可以限制对文件夹的访问,以便用户无法访问该文件夹,并将计划任务设置为使用有权访问该文件夹的帐户。

尽管无法将用户锁定在文件夹之外(可能报告最终会在其中?),但在Windows中,您可以按每个文件设置权限。创建一个具有完全权限的新用户(与您的用户相同)。计划VB6应用程序与该用户一起运行。删除普通用户查看应用程序的权限。您只需更改VB6应用程序上的权限即可完成此操作。

尽管无法将用户锁定在文件夹之外(可能报告最终会在文件夹中?),但在Windows中,您可以按文件设置权限。创建一个具有完全权限的新用户(与您的用户相同)。计划VB6应用程序与该用户一起运行。删除普通用户查看应用程序的权限。您只需更改VB6应用程序的权限即可完成此操作。

我将调用您现有的应用程序AppChild和新的VB6(或其他程序语言)程序AppParent

修改AppChild以在Sub Main()或在form_Load()事件中加载的第一个表单上测试命令行参数。如果命令行参数不存在,AppChild将终止

AppParent将位于其他用户无法访问的位置。计划任务运行AppParent,后者运行AppChild并传递所需的命令行参数。如果需要,可以通过传递计算出的哈希并在AppChild中对其进行解码来在某种程度上保证安全性

或者,如果用户没有访问计划任务的权限,您可以运行AppChild,从计划任务传递所需的参数。如果用户确实有权访问计划任务,这将不起作用,因为他们可以看到传递的参数并创建传递所需参数的快捷方式

您没有说明服务器正在运行哪个操作系统,但是如果在没有登录用户的情况下尝试运行计划任务,则可能会在使用网络资源时遇到问题。任务管理器得到了一个主要的更新来处理安全问题,以防止黑客在没有登录用户的情况下运行任务。本质上,网络资源。除非用户登录,否则电子邮件不可用。


我发现解决这个问题的唯一方法是让一个用户始终登录到具有正确权限的计算机上。

我将调用您现有的应用程序AppChild和一个新的VB6(或其他程序语言)程序AppParent

修改AppChild以在Sub Main()或在form_Load()事件中加载的第一个表单上测试命令行参数。如果命令行参数不存在,AppChild将终止

AppParent将位于其他用户无法访问的位置。计划任务运行AppParent,后者运行AppChild并传递所需的命令行参数。如果需要,可以通过传递计算出的哈希并在AppChild中对其进行解码来在某种程度上保证安全性

或者,如果用户没有访问计划任务的权限,您可以运行AppChild,从计划任务传递所需的参数。如果用户确实有权访问计划任务,这将不起作用,因为他们可以看到传递的参数并创建传递所需参数的快捷方式

您没有说明服务器正在运行哪个操作系统,但是如果在没有登录用户的情况下尝试运行计划任务,则可能会在使用网络资源时遇到问题。任务管理器得到了一个主要的更新来处理安全问题,以防止黑客在没有登录用户的情况下运行任务。本质上,网络资源。除非用户登录,否则电子邮件不可用。


我发现解决这个问题的唯一方法是让一个用户始终登录到具有正确权限的计算机上。

与编程无关。更相关?只需分配不允许随机用户执行的程序权限。Bob77,这是我想做的,但我不知道如何做。你能给我指一下关于分配这些权限的信息,以及我必须将它们设置为什么,以便计划任务可以运行,但随机用户不能通过双击它(或通过任何其他方式)来运行exe吗?C-Pound Guru,我想这可以通过在源代码中添加一些内容来解决,以限制谁可以运行它,这就是我在这里问这个问题的原因。与编程无关。更相关?只需分配不允许随机用户执行的程序权限。Bob77,这是我想做的,但我不知道如何做。你能给我指一下关于分配这些权限的信息,以及我必须将它们设置为什么,以便计划任务可以运行,但随机用户不能通过双击它(或通过任何其他方式)来运行exe吗?C-Pound Guru,我想这可以通过在源代码中添加一些内容来解决,以限制谁可以运行它,这就是我在这里问这个问题的原因。VB6不是VBA。VB6不是VBA。虽然这很理想,但我被告知我们不能限制对此文件夹的访问。我想知道是否有办法给任务调度器一个用户名和密码,并将VB6应用程序编码为仅为该帐户运行