0

我有一个用 C# 编写的 Windows 服务。此服务产生许多 MTA 线程。在这些线程中的每一个中,都会实例化一个进程外 COM 类。我将服务设置为以我当前的用户身份运行(添加适当的登录凭据)。当服务启动时,它从任务管理器中显示它正在以我的用户身份运行。如果该服务检查本地漫游用户目录,它会按预期返回我的用户目录。当我作为进程外 exe 运行的 COM 类执行此检查时,它会返回 Windows\System32\Config\systemprofile\AppData\Roaming 中的路径。

任何人都可以了解这里发生了什么,更具体地说,我怎样才能让进程外服务器作为服务用户运行。我已经签入了任务管理器,根据任务管理器,exe 以与服务相同的用户(在同一会话中)运行。

不确定操作系统是否是一个因素,但我在 Vista 32 (sp2) 和 Win7 64 (sp1) 上都看到了这一点

4

1 回答 1

1

您可以使用RunAs让服务器作为特定帐户运行。不是很灵活,但似乎在这里做你想做的事。

于 2011-05-02T17:44:20.120 回答